aboutsummaryrefslogtreecommitdiff
path: root/contrib/gcc
Commit message (Collapse)AuthorAgeFilesLines
* Add alpha-*=freebsd* to configureWarner Losh1998-09-091-0/+11
| | | | Notes: svn path=/head/; revision=39011
* Make profiling work for ELF. gprof now autodetects the format ofJohn Polstra1998-09-072-8/+14
| | | | | | | | | | | | | | the executable file, so it will work for both a.out and ELF format files. I have split the object format specific code into separate source files. It's cleaner than it was before, but it's still pretty crufty. Don't cheat on your make world for this update. A lot of things have to be rebuilt for it to work, including the compiler and all of the profiled libraries. Notes: svn path=/head/; revision=38928
* Change /etc/objectformat to /etc/objformat. Last chance 'cause it's E-day.John Birrell1998-08-301-3/+3
| | | | | | | Suggested by: jdp Notes: svn path=/head/; revision=38657
* Support printf format checking of FreeBSD kernel formats %[Dbrz].Bruce Evans1998-08-243-2/+69
| | | | | | | | | | | | | | | This is enabled by the undocumented option -fformat-extensions. This option should be named better and/or give more control over the extensions. Fixed a message - don't warn about the field width when it's the precision that has the wrong type. Didn't fix excessive checking for the precision relative to the type - ANSI requires both to be ints, but gcc permits the field width to be either int or unsigned int. Notes: svn path=/head/; revision=38510
* Fixed printf format errors. gcc should have a macro HOST_PTR_PRINTF_TYPEBruce Evans1998-08-026-17/+20
| | | | | | | | to go with its HOST_PTR_PRINTF[_FORMAT], since if %p is wrong for the format then `void *' is probably wrong for the type. Notes: svn path=/head/; revision=38021
* Add support for a new archetype "printf0" for the "format" functionJohn Polstra1998-07-153-23/+46
| | | | | | | | | | | | | attribute. It is like the existing "printf" archetype, except that it doesn't complain if the format string is a null pointer. See the node "Function Attributes" in the GCC info pages if you don't know what this is all about. This change will allow us to add format string checking for the err(3) family of functions. Notes: svn path=/head/; revision=37654
* Fixed printf format errors.Bruce Evans1998-06-303-6/+7
| | | | Notes: svn path=/head/; revision=37312
* Add LIB_SPEC (same as on i386) so that gcc knows about libc_r.John Birrell1998-06-081-0/+4
| | | | Notes: svn path=/head/; revision=36769
* -pg was causing a link with -lc_r... :-]Peter Wemm1998-04-132-2/+2
| | | | | | | | Submitted by: Dmitry Khrustalev <dima@xyzzy.machaon.ru> PR: 6287 Notes: svn path=/head/; revision=35168
* Document the FreeBSD specific options from LIB_SPEC.John Birrell1998-04-101-0/+10
| | | | Notes: svn path=/head/; revision=35116
* Ouch, my local cvs walloped the version I thought I was committing.John Birrell1998-03-141-18/+52
| | | | | | | Here is what I intended. Notes: svn path=/head/; revision=34570
* On i386, freebsd.h and freebsd-elf.h have been merged to combineJohn Birrell1998-03-131-71/+0
| | | | | | | | | | | aout and elf support. freebsd-elf.h died as a result, so the BINFORMAT test for elf in src/gnu/usr.bin/cc/cc_tool/Makefile will need to use freebsd.h, not freebsd-elf.h. That means that alpha will have to go the same way. The new alpha/freebsd.h has the alpha/freebsd-elf.h definitions merged in. Notes: svn path=/head/; revision=34559
* Nuke crti.o from the STARTFILE_SPEC again. No asm code is needed on alpha.John Birrell1998-03-111-1/+8
| | | | | | | | Add the define that lets gas know how to ".set" and enable pragmas so that #pragma weak will work. Notes: svn path=/head/; revision=34490
* Change the LINK_SPEC to specify the same runtime loader as used onJohn Birrell1998-03-101-12/+6
| | | | | | | | | | | | | | | | | | | | | | i386-elf because that is what will be used for FreeBSD/Alpha. Change the STARTFILE_SPEC to match the non-aout version of i386 so that the csu files can be built in exactly the same way as i386-elf. This means that FreeBSD/Alpha departs from NetBSD/Alpha which uses crt0 and crtbegin/crtend. Since i386-aout uses crt0, I guess it was decided that i386-elf should use crt1. i386-elf also references crti and with this change, so does FreeBAS/Alpha. I think it is important for FreeBSD to have a consistent implementation across architectures and since ELF is quite compatible (ignoring differences in 32 and 64 bits), gcc might as well be configured the same. Another change is that the entry symbol is _start, not __start as in NetBSD. Notes: svn path=/head/; revision=34451
* Both our a.out (hacked) gas and the binutils gas support .weakPeter Wemm1998-03-092-4/+0
| | | | | | | Prompted by: bde Notes: svn path=/head/; revision=34363
* Only do a.out/elf switching on i386 familyPeter Wemm1998-03-091-6/+8
| | | | Notes: svn path=/head/; revision=34356
* Don't disable the use of $ in assembler labels.. It changes libstdc++Peter Wemm1998-03-092-0/+6
| | | | | | | | and libg++ so that they won't work with existing binaries (including netscape!!). Notes: svn path=/head/; revision=34349
* Spell -Bshareable correctly... :-]Peter Wemm1998-03-082-2/+2
| | | | Notes: svn path=/head/; revision=34314
* svr4.h defines ASM_IDENTIFY_GCC, but neglects to definePeter Wemm1998-03-082-0/+20
| | | | | | | | ASM_IDENTIFY_LANGUAGE. Use the osfrose.h method, because gdb assumes 'C' by default, so there's no need to further clutter the symbol table. Notes: svn path=/head/; revision=34285
* Cosmetic cleanup for a.out asm generation.. Don't put the end-of-filePeter Wemm1998-03-082-6/+20
| | | | | | | markers that the stabs-in-elf system uses. Notes: svn path=/head/; revision=34284
* Put the function stabs in traditional order on a.out, or gdb doesn't seePeter Wemm1998-03-083-12/+22
| | | | | | | function local variables. Notes: svn path=/head/; revision=34269
* Add hooks for John Birrell's kernel thread support library.Peter Wemm1998-03-082-2/+2
| | | | | | | Submitted by: John Birrell <jb@cimlogic.com.au> Notes: svn path=/head/; revision=34230
* First round of changes to support generation of assembler for the oldPeter Wemm1998-03-087-704/+1022
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a.out gas and the binutils gas (elf or a.out) with a single compiler. This uses other infrastructure not yet committed, in order to support both a.out and elf it needs to be able to get to both a.out and elf gas, ld, libs, crt* etc. So for now, the support is pretty much dormant. The new freebsd.h file is based on the old freebsd-elf.h file (which has a long lineage, right back through linux and svr4 files). The change is pretty dramatic from a gcc internals standpoint as it overrides a lot of definitions in order to generate different output based on target mode. There is potential for screw-ups, so please be on the lookout - gcc's configuration mechanism wasn't really meant for this kind of thing. It's believed to compile world etc just fine under both a.out and elf, can handle global constructors and destructors, handles the differences in a.out and elf stabs, and what sections things like exceptions go in. The initial idea came from i386/osfrose.h which is a dual rose/elf format target. These two are not as diverse as a.out and elf it would seem. The cc front-end uses external configuration to determine default object format (still being thrashed out, so read the source if you want to see it so far), and has a '-aout' and '-elf' override command line switch. There are some other internal switches that can be accessed, namely -maout, -mno-aout, -munderscores and -mnounderscores. The underscore and local symbol prefixing rules are controllable seperately to the output format. (ie: it's possible to generate a.out without the _ prefixes on symbols and also to generate elf with the _ prefixes. This isn't quite optimal, but does seem to work pretty well, except the linkers don't always recognise the local symbols without their normal names) The default format is a.out (still), nobody should see any major changes. With both elf and a.out tools and libraries installed: [1:26pm]/tmp-223> cc -elf -o hello hello.c peter@beast[1:27pm]/tmp-224> file hello hello: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), dynamically linked, not stripped [1:27pm]/tmp-225> ./hello hello world! [1:27pm]/tmp-226> cc -aout -o hello hello.c [1:27pm]/tmp-227> file hello hello: FreeBSD/i386 compact demand paged dynamically linked executable not stripped 1:27pm]/tmp-228> ./hello hello world! Since my co-conspirators put a lot of effort into this too, I'll add them so they can share the blame^H^H^H^H^Hglory. :-) Reviewed by: sos, jdp Notes: svn path=/head/; revision=34229
* Upgrade the cpp pre-defines to include -Dunix. Turns out we need thatJohn Birrell1998-01-121-1/+1
| | | | | | | | | | to compile m4. And don't just define __FreeBSD__, but define it as -D__FreeBSD__=3 like on i386. Notes: svn path=/head/; revision=32455
* Add the alpha MD files for gcc to product ELF for FreeBSD/Alpha.John Birrell1998-01-1114-0/+8479
| | | | | | | | | | | | | | | | | | See freebsd.h and freebsd-elf.h for the silly comment that cgd@netbsd.org wanted me to add about his claim that uncommented source files that have been publicly available for ftp for nearly a year; that are configuration patches to a GPL'ed program; are owned by his previous employer who refuses to release them. Well... I did as he said. As if that makes a difference! At this point we've got cpp, gcc, g++ ported to FreeBSD/Alpha so all the code that uses __FreeBSD__ is correctly pre-processed. Yay. I'll commit the bootstrap makefile next to let others play, then on to libc. Notes: svn path=/head/; revision=32424
* spelling corrections.Wolfram Schneider1997-09-131-3/+3
| | | | | | | | PR: docs/4450 Submitted by: josh@quick.net Notes: svn path=/head/; revision=29329
* Merge in some of my changes with John's. I've used this to buildPeter Wemm1997-08-291-32/+50
| | | | | | | | an ELF system. I'm not sure about some of the things here. We definately need to go back and rationalize this. Notes: svn path=/head/; revision=28882
* Add the necessary defines to the freebsd-elf configuration so thatJohn Polstra1997-08-281-1/+39
| | | | | | | | | | | | | | it can be built via BINFORMAT=elf in the environment. Most likely some of the directory defines such as STANDARD_EXEC_PREFIX will change again soon, as we settle on the proper locations for the various components. Note, the build still fails when it tries to compile libgcc2.c using the ELF compiler, unless arrangements have been made for the compiler to find the ELF assembler instead of the a.out assembler. Notes: svn path=/head/; revision=28846
* Attempt to fix clobbered vendor Id.Bruce Evans1997-06-291-1/+1
| | | | Notes: svn path=/head/; revision=27059
* Make all the info dir entries line up neatly.Satoshi Asami1997-05-281-1/+1
| | | | Notes: svn path=/head/; revision=26223
* `it's'' -> `its'' where appropriate and typo fixes in time2posix.3.Eivind Eklund1997-05-191-1/+1
| | | | | | | | | Closes PR docs/3612. Submitted by: Josh Gilliam <soil@quick.net> Notes: svn path=/head/; revision=25932
* The -pthread option was added to freebsd.h but missed from freebsd-elf.hPeter Wemm1997-05-121-1/+1
| | | | Notes: svn path=/head/; revision=25733
* change `an' to `a'...John-Mark Gurney1997-05-051-1/+1
| | | | | | | | Submitted by: Josh Gilliam Closes PR#3471 Notes: svn path=/head/; revision=25480
* Let gcc know about libc_r. Use -pthread to link against libc_r insteadJohn Birrell1997-05-032-2/+2
| | | | | | | of libc. Notes: svn path=/head/; revision=25400
* correct vfork()/exit() to vfork()/_exit(). This is far more importantPeter Wemm1997-04-251-1/+1
| | | | | | | | | now that vfork() actually works in FreeBSD for the first time. Spotted by: se Notes: svn path=/head/; revision=25128
* Make "gcc -shared" work properly for building shared libraries. AnJohn Polstra1997-04-092-8/+14
| | | | | | | | | up-to-date version of c++rt0.o is necessary for this to work right. Closes PR gnu/3035: gcc -shared flag is broken. Notes: svn path=/head/; revision=24758
* Disallow "-p" when linking, with a diagnostic that recommends usingJohn Polstra1997-04-052-10/+12
| | | | | | | | | | | | "-pg" and gprof(1) instead. FreeBSD does not support plain "-p" or prof(1). Plain "-p" is still allowed when just compiling. In the compile phase, "-p" is identical "-pg". It is used by <bsd.lib.mk> for building profiled object files. Notes: svn path=/head/; revision=24658
* Update the value of "__FreeBSD__" to 3 for the ELF compiler.John Polstra1997-03-261-1/+1
| | | | Notes: svn path=/head/; revision=24295
* -current is now 3.0. NOT a 2.2 candidate. :)Satoshi Asami1997-03-252-2/+2
| | | | Notes: svn path=/head/; revision=24257
* slight fix to gcc's man page...John-Mark Gurney1997-03-231-3/+9
| | | | Notes: svn path=/head/; revision=24129
* Undo rev 1.4 of freebsd.h and 1.2 freebsd-elf.h, where I addedDavid E. O'Brien1997-02-243-3/+3
| | | | | | | | _BSD4_4 as a predefined symbol. People on the lists generally didn't care for it. Notes: svn path=/head/; revision=23076
* check for /usr/libdata/gcc/specs and use it if it exists.Peter Wemm1997-02-221-0/+1
| | | | Notes: svn path=/head/; revision=22994
* Back out easy $FreeBSD$ (file already left vendor branch)Peter Wemm1997-02-221-1/+1
| | | | Notes: svn path=/head/; revision=22977
* Add _BSD4_4 as a predefined symbol.David E. O'Brien1997-02-163-3/+3
| | | | | | | | | | Peter Dufault (dufault@hda.com) suggested this is the most approate symbol to use. 2.2-R candidate. Notes: svn path=/head/; revision=22809
* Make the long-awaited change from $Id$ to $FreeBSD$Jordan K. Hubbard1997-01-141-1/+1
| | | | | | | | | | | This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise. Notes: svn path=/head/; revision=21673
* Fix BB profiling.Poul-Henning Kamp1997-01-131-2/+2
| | | | | | | Submitted by: bde Notes: svn path=/head/; revision=21655
* This file has the info annotation, except its annotated nameJoshua Peck Macdonald1997-01-111-1/+1
| | | | | | | is different from its filename for some reason. Notes: svn path=/head/; revision=21507
* Apparently this patch fixes the objc backend on the i386 platforms.Peter Wemm1996-10-261-0/+7
| | | | | | | | | | Without this, compiled programs die with FP errors. This is originally credited to: jlemon@netcom.com (Jonathan Lemon), and has been forwarded to me by quite a few of people. Notes: svn path=/head/; revision=19194
* Remove temporary hack to disable use of libstdc++ now that it's built andPeter Wemm1996-10-041-3/+0
| | | | | | | installed (and hopefully: working). Notes: svn path=/head/; revision=18675
* Fix a bug that caused incorrect PIC code to be generated for exceptions.John Polstra1996-10-032-1/+23
| | | | | | | | | | | | | | | | | | | | | The symptom was an assembler warning "GOT relocation burb: `___EXCEPTION_TABLE__' should be global" followed (sometimes) by a core dump. The fix makes the compiler generate the correct GOTOFF addressing for that symbol, rather than the GOT addressing it was emitting before. Warning: There is still at least one serious bug in the i386 exception code for PIC. The exception code that is generated clobbers the GOT register (%ebx) and then tries to use it later. That leads to core dumps at program execution time. I know where the problem is, but I do not have a fix for it at this time. Until it is fixed, exceptions will not work in PIC code. This is a general problem for all i386 platforms; it is not specific to FreeBSD. Notes: svn path=/head/; revision=18659