summaryrefslogtreecommitdiffstats
path: root/contrib/gcc
Commit message (Collapse)AuthorAgeFilesLines
* Fix C++ exception handling. GCC was using the older BSD DBX register numbersobrien2002-07-121-0/+8
| | | | | | rather than the ELF ABI/SVR4 ones in its DWARF unwinding. Submitted by: Alexander Kabaev <ak03@gte.com>
* When I decided to use a stock dbxout.c rather than merge the rev 1.2 changeobrien2002-07-121-4/+0
| | | | | | | | | | | | | | (put the function stabs in traditional order on a.out, or gdb doesn't see function local variables), I failed to remove the related knobs here. Effectively were overrode the ELF-wide definition in elfos.h w/o providing new infrastructure. This is what caused GDB to fail to debug applications compiled and linked with -stabs. This is because GCC was unconditionally inserts .stabs instruction for functions after the function body. GDB was getting confused because what it thinks is function beginning address is actually function ending address. Submitted by: Alexander Kabaev <ak03@gte.com>
* Yep, revision 1.3 was 1/2assed.obrien2002-07-121-10/+2
| | | | | | This time use the right attribute for null_format_ok. Submitted by: bde
* Allow XFree86-4 to buildobrien2002-07-032-12/+37
| | | | | | | by not creating paradoxical FLOAT_MODE subregs. Tested by: se Obtained from: http://gcc.gnu.org/ml/gcc/2002-06/msg01709.html
* Tweaks to make these files live beside our hacked config.obrien2002-06-212-9/+15
|
* Tweaks for the 64-bit compiler.obrien2002-06-211-3/+3
|
* cc -O0 and -O1 didn't do the easy optimization of alignment for space.obrien2002-06-211-1/+1
| | | | | | | Instead it attempted to do the easy optimization of alignment for time, which should be to 1-byte alignment on i386's. Submitted by: bde
* BDE prefers this organization.obrien2002-06-211-9/+11
| | | | Submitted by: bde
* cvs -j -j gave me two copies of TARGET_VERSION and I didn't noticeobrien2002-06-101-3/+0
| | | | it before committing.
* Allow one to profile FORTRAN77 programs.obrien2002-06-091-6/+33
|
* Match the DBX_OUTPUT_MAIN_SOURCE_FILE_END definition in dbxelf.h.obrien2002-06-061-2/+3
| | | | Bug found by: bde
* Allow the specification of LONG_TYPE_SIZE on the command line.obrien2002-06-061-0/+2
| | | | Submitted by: bde
* Implement "-mno-align-long-strings" which prevents pessimization of stringsobrien2002-06-062-2/+9
| | | | | | | | for space. -Os could do this, but it was easy to hack an MD version. This saves a whole 32 bytes in boot2, so I think it is worth using it. (keep how much worse gcc 3.2 will compile boot2...) Submitted by: bde (minus gcc 3.2 commentary)
* Didn't get them all in revision 1.50.obrien2002-06-061-8/+8
|
* Fix excessive alignment for the aout case, and unbreak genassym for that case.obrien2002-06-061-4/+3
| | | | | | Our aout linker has alignment hacks and doesn't need gcc to do anything special. Tested for a year by: bde :-)
* Tidy do-while.obrien2002-06-061-7/+7
| | | | Requested by: bde
* Read specs from /usr/libdata/gcc/specs if it exists.obrien2002-06-061-2/+2
|
* The brokenness in ix86_expand_clrstr is quite visible when youobrien2002-06-041-3/+3
| | | | | | compare the function with ix86_expand_movstr. Submitted by: Tor Egge
* Gcc 3.1 (-O) now generates broken inline code for memset in some cases.obrien2002-06-041-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This broke newfs (newfs left some garbage in a bitmap). The ASM for: #include <string.h> int x, foo[100]; main() { memset(&foo[0], 0, x); } is (at least if you have fixed function alignment): .file "z.c" .text .p2align 2,,3 .globl main .type main,@function main: pushl %ebp movl %esp, %ebp pushl %edi pushl %eax movl x, %ecx xorl %eax, %eax shrl $2, %ecx movl $foo, %edi cld rep stosl andl $-16, %esp <-- the lower bits of `len' should be loaded near here testl $2, %edi <-- this seems to be meant to test the 2^1 bit in `len' (not alignment of the pointer like it actually does). %edi is the wrong register for holding the bits, since it is still needed for the pointer. je .L2 stosw .L2: testl $1, %edi <-- similarly for the 2^0 bit. je .L3 stosb .L3: movl -4(%ebp), %edi leave ret .Lfe1: .size main,.Lfe1-main .comm foo,400,32 .comm x,4,4 .ident "GCC: (GNU) 3.1 [FreeBSD] 20020509 (prerelease)" This seems to only result in (len % 3) bytes not being cleared, since gcc doesn't seem to use the builtin memset unless it knows that the pointer is aligned. If %edi could be misaligned, then too many bytes would be set. Submitted by: BDE
* Seems we are not ready for revision 1.8.obrien2002-05-301-1/+2
|
* Make our default predefines ANSI clean.obrien2002-05-301-2/+1
|
* The special checks for %b and %D in rev 1.1 were done before skipping overobrien2002-05-261-51/+54
| | | | | | | any characters between the % and the [bD], so only plain %b and %B worked. This may un-1/2ass our -fformat-extensions support. Submitted by: bde
* 1/2assed reimplementation of c-common.c revs 1.2 (-fformat-extensions)obrien2002-05-221-6/+83
| | | | and 1.3 (printf0) for GCC 3.1.
* the processed hash fileobrien2002-05-171-0/+472
|
* MD_EXEC_PREFIX doesn't work for the cross-arch compiler.ru2002-05-161-1/+7
| | | | | | | The change also makes the `cc -print-search-dirs' output sane (the pre-3.1 way) in the non-cross case. Draft reviewed by: obrien
* Merge c-common.c rev 1.10 into GCC 3.1obrien2002-05-141-1/+3
| | | | | | | Clarify that the "yields only last 2 digits of year in some locales" warning does not apply to BSD. Submitted by: ache
* If you want to not warn on K&R main(); this is how it should be implemented.obrien2002-05-142-1/+17
|
* Merge choose-temp.c rev 1.2 (use /tmp 1st, and then /var/tmp) into GCC 3.1.obrien2002-05-141-2/+4
|
* Add framework for our kernel printf enhancements.obrien2002-05-143-0/+35
|
* do-while ASM_OUTPUT_ALIGN to enable its use in more places.obrien2002-05-121-3/+5
|
* Fixes for building a.out bits.obrien2002-05-121-5/+23
| | | | Submitted by: bde
* Localize the version number at the request of the GCC developers.obrien2002-05-111-1/+3
|
* Add tweaks needed when using as the system compiler.obrien2002-05-101-1/+21
|
* Change symbol values to match freebsd.h to avoid warnings.obrien2002-05-101-2/+2
|
* Remove files not part of GCC 3.1.obrien2002-05-10205-80711/+0
|
* Import data for 3.0.2.obrien2002-05-102-22/+20
|
* Use the stock (3.1 pre) file.obrien2002-05-092-170/+338
|
* Use the stock file for now (but leave a note behind about our OBE changes).obrien2002-05-091-42/+203
|
* Merge rev 1.2 (printf format error fixes) in its 1.8 form into Gcc 3.1 pre.obrien2002-05-091-341/+405
|
* Use the stock (3.1) file.obrien2002-05-091-11/+39
|
* We use the stock (3.1) file.obrien2002-05-091-153/+316
|
* Merge rev 1.2 (-fformat-extensions) and rev 1.7 (optimization downgrade)obrien2002-05-091-50/+77
| | | | into the Gcc 3.1 prerelease.
* Use the stock (3.1 pre) file.obrien2002-05-091-32/+57
|
* Use the stock (3.1) version.obrien2002-05-091-0/+18
|
* Merge rev 1.2 [_exit() over exit()] into the Gcc 3.1 prerelease.obrien2002-05-091-66/+124
|
* Merge revs 1.{2,15} (FREEBSD_NATIVE); 1.{5,13} (ELF, and objformat support);obrien2002-05-091-62/+47
| | | | | 1.{16,23,25} (better cross building control); 1.21 ("GCC_OPTIONS") into the GCC 3.1 prerelease.
* Merge rev 1.2 (a.out support) into the GCC 3.1 prerelease.obrien2002-05-091-158/+280
|
* Use the stock 3.1 prerelease version of this for now.obrien2002-05-091-2/+7
|
* Use the stock 3.1 prerelease file now. Rev 1.2 (add_bb) just doesn'tobrien2002-05-091-23/+23
| | | | cleanly fit in any more.
* Use the stock (3.1) file.obrien2002-05-091-2/+20
|
OpenPOWER on IntegriCloud