summaryrefslogtreecommitdiffstats
path: root/contrib/gcc/gcc.c
Commit message (Collapse)AuthorAgeFilesLines
* Merge conflicts.obrien2000-03-091-2/+2
|
* Allow the specification of a prefix for gcc to find all the various bits.obrien1999-12-291-3/+3
| | | | | | | If one wishes to anchor the compiler toolchain tree somewhere other than /, all one needs to do is set "TOOLS_PREFIX" to a different rooting. Submitted by: marcel (in a different format and reworked by me)
* Reduce the FreeBSD custom hacks to gcc.c by using the GCC provided methodsobrien1999-12-221-6/+0
| | | | | | | | | | | | | | | | of changing the search dirs. This also removes an used search dir, removes unneeded redundancy, and a bugus dir we enherited on the i386 by baseing off of svr4.h. We went from: install: /usr/libexec/(null) programs: /usr/libexec/<OBJFORMAT>/:/usr/libexec/:/usr/bin/:/usr/libexec/ libraries: /usr/libdata/gcc/:/usr/libexec/:/usr/ccs/lib/:/usr/lib/ to: install: /usr/libexec/(null) programs: /usr/libexec/<OBJFORMAT>/:/usr/libexec/ libraries: /usr/libexec/:/usr/lib/
* Provide complete coverage in switch statement to quiet -Wall.obrien1999-12-181-0/+4
|
* * Use getobjformat() rather than manually do what it does.obrien1999-11-291-71/+43
| | | | | | | | * Don't conditional based on i386, but generalize to all FreeBSD arch's. * Don't be a.out-centric, but generalize to handle other possible future formats. Submitted by: marcel (partial)
* Structure field name changed.obrien1999-11-031-1/+1
|
* Merge the FREEBSD_NATIVE and ELF/a.out support into GCC 2.95.1.obrien1999-10-261-528/+520
|
* Merge from ../egcs/gcc/gcc.c rev.1.5:bde1999-09-131-0/+4
| | | | | | | | | Don't exclude directories that the linker is "known" to search (/lib and /usr/lib) when deciding whether to pass certain paths to the linker. Under FreeBSD, the linker is actually known to never search /lib and to only search /usr/lib in the elf case. Not passing the paths causes at best causes confusing differences for cross compiling. This change is conditional on FREEBSD_NATIVE but should be absolute.
* This brings rev 1.2 (FREEBSD_NATIVE) and rev 1.5 (mixed ELF/aout support)obrien1999-08-291-1148/+1739
| | | | into EGCS 1.1.2.
* a.out is defaultpeter1999-01-161-4/+0
|
* Change /etc/objectformat to /etc/objformat. Last chance 'cause it's E-day.jb1998-08-301-3/+3
| | | | Suggested by: jdp
* Only do a.out/elf switching on i386 familypeter1998-03-091-6/+8
|
* First round of changes to support generation of assembler for the oldpeter1998-03-081-0/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* correct vfork()/exit() to vfork()/_exit(). This is far more importantpeter1997-04-251-1/+1
| | | | | | now that vfork() actually works in FreeBSD for the first time. Spotted by: se
* check for /usr/libdata/gcc/specs and use it if it exists.peter1997-02-221-0/+1
|
* When running native on freebsd (ie: in /usr/bin, /usr/libexec, not thepeter1996-09-181-3/+18
| | | | | | | gnu-style /usr/local/lib/gcc* layout), only search the paths that exist for the modules (cc1, cc1plus , cc1obj etc) Also, update an error message.
* Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of thepeter1996-09-181-0/+5254
non-i386, non-unix, and generatable files have been trimmed, but can easily be added in later if needed. gcc-2.7.2.1 will follow shortly, it's a very small delta to this and it's handy to have both available for reference for such little cost. The freebsd-specific changes will then be committed, and once the dust has settled, the bmakefiles will be committed to use this code.
OpenPOWER on IntegriCloud