summaryrefslogtreecommitdiffstats
path: root/contrib/gcc
Commit message (Collapse)AuthorAgeFilesLines
* Consistantly protect "#define FOO ..." with "#undef FOO".obrien1999-05-201-1/+37
|
* Turn DEFAULT_VTABLE_THUNKS back on. It caused problems with undefined symbolsobrien1999-04-301-4/+5
| | | | | | | | in libstdc++. Until I have a chance to look at what that problem is and to carefully consider the upgrade issues of turning it back on at a later date if we leave it turned off for any extended peroid of time.
* Rather than hack config/freebsd.h to contain our hacks for a native compiler,obrien1999-04-281-45/+1
| | | | | | | | just include them in tm.h (as built from cc/cc_tools/Makefile). This will reduce the diffs from the vendor sources. Excellent idea by: jdp
* Simplify the definition of FBSD_SWITCH_TAKES_ARG, and make sureobrien1999-04-272-18/+8
| | | | | SWITCH_TAKES_ARG isn't defined (which svr4.h does) when we assign our definition to it.
* Wait until EGCS 1.2 to use more efficient ``thunks'' to implement C++ vtables.obrien1999-04-271-3/+4
| | | | | | | While I have yet to hear of any problems with us using thunks. The EGCS mailing list notes some have problems with it and not using them are a safer default. People wanting to use them, can set the appropiate compiler flag.
* Use new `FBSD_SWITCH_TAKES_ARG' and `FBSD_WORD_SWITCH_TAKES_ARG'.obrien1999-04-221-0/+3
|
* Move `SWITCH_TAKES_ARG' to `FBSD_SWITCH_TAKES_ARG' and `WORD_SWITCH_TAKES_ARG'obrien1999-04-221-5/+3
| | | | | to `FBSD_WORD_SWITCH_TAKES_ARG' which allows architectures to tweak these values if needed.
* Support linking against libgcc_r.obrien1999-04-141-0/+6
| | | | Submitted by: Luoqi Chen <luoqi@chen.ml.org>
* Removed unconditional definitions of __ELF__. They were redundant forbde1999-04-081-1/+1
| | | | elf and wrong for i386-aout.
* Merge shared LIB_SPEC into share config header.obrien1999-04-081-0/+6
|
* merge alpha/freebsd-elf.h into alpha/freebsd.hobrien1999-04-081-5/+77
| | | | Submitted by: Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp>
* Mispelled global option in usage.obrien1999-04-061-1/+1
|
* Fix space padding that was causing a problem in creating the finalobrien1999-04-041-2/+3
| | | | CPP_PREDEFINES.
* * Protect ourselves from any previously defined options.obrien1999-04-031-0/+13
| | | | | | * Turn on DEFAULT_VTABLE_THUNKS. (it is the default anyway, I'm just being explicit about it, in case it causes us trouble it might be easier for someone to notice it this way)
* Bump __FreeBSD_cc_version to 400002 in case we need to know we are usingobrien1999-04-031-1/+1
| | | | | | EGCS at some point. Submitted by: jdp
* Alpha architecture config files.obrien1999-03-301-0/+443
| | | | | Obtained from: adapted from Hidetoshi Shimokawa <simokawa@FreeBSD.ORG>'s alpha suppliment to the Egcs port.
* Base configuration file for all FreeBSD targets.obrien1999-03-301-0/+120
|
* Remove the linker-set hack we used for BB profiling.phk1999-03-211-2/+0
|
* Update __FreeBSD__ and __FreeBSD_cc_version to be consistant withobrien1999-01-222-2/+2
| | | | | | __FreeBSD_version Forgotten by: Eivind and Some anonymous release engineer
* a.out is defaultpeter1999-01-161-4/+0
|
* Compile threaded proframs with -D_THREAD_SAFE, not -D_THREADSAFEcracauer1998-12-151-2/+2
|
* Per request from ache, change the numbering scheme of __FreeBSD_cc_version.jdp1998-10-292-2/+2
| | | | | Its form is now like __FreeBSD_version, with the FreeBSD revision in the top digits.
* Add a new predefined preprocessor symbol "__FreeBSD_cc_version",jdp1998-10-292-2/+2
| | | | | | | | | | | | | | | | | | | | | | with a numeric value that describes the feature level of the compiler. This can be used to check for the presence/absence of FreeBSD-specific compiler features. The value is a decimal number whose digits have the form VRRRRFF, where: V = Compiler vendor. 0 (elided) means gcc. RRRR = Vendor's version number, e.g., 2721 for the current gcc version (2.7.2.1). FF = FreeBSD-specific revision level. 00 means the stock compiler from the vendor. The value of "__FreeBSD_cc_version" is hard-coded in "src/contrib/gcc/config/i386/freebsd.h" and must be incremented when new FreeBSD-specific compiler features are added. I considered simply picking up the value of FreeBSD_version from <osreldate.h>. But that would break cross compiles of gcc. PR: Part of the fix for gnu/8452 Suggested by: bde
* Add alpha-*=freebsd* to configureimp1998-09-091-0/+11
|
* Make profiling work for ELF. gprof now autodetects the format ofjdp1998-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.
* Change /etc/objectformat to /etc/objformat. Last chance 'cause it's E-day.jb1998-08-301-3/+3
| | | | Suggested by: jdp
* Support printf format checking of FreeBSD kernel formats %[Dbrz].bde1998-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.
* Fixed printf format errors. gcc should have a macro HOST_PTR_PRINTF_TYPEbde1998-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.
* Add support for a new archetype "printf0" for the "format" functionjdp1998-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.
* Fixed printf format errors.bde1998-06-303-6/+7
|
* Add LIB_SPEC (same as on i386) so that gcc knows about libc_r.jb1998-06-081-0/+4
|
* -pg was causing a link with -lc_r... :-]peter1998-04-132-2/+2
| | | | | Submitted by: Dmitry Khrustalev <dima@xyzzy.machaon.ru> PR: 6287
* Document the FreeBSD specific options from LIB_SPEC.jb1998-04-101-0/+10
|
* Ouch, my local cvs walloped the version I thought I was committing.jb1998-03-141-18/+52
| | | | Here is what I intended.
* On i386, freebsd.h and freebsd-elf.h have been merged to combinejb1998-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.
* Nuke crti.o from the STARTFILE_SPEC again. No asm code is needed on alpha.jb1998-03-111-1/+8
| | | | | Add the define that lets gas know how to ".set" and enable pragmas so that #pragma weak will work.
* Change the LINK_SPEC to specify the same runtime loader as used onjb1998-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.
* Both our a.out (hacked) gas and the binutils gas support .weakpeter1998-03-092-4/+0
| | | | Prompted by: bde
* Only do a.out/elf switching on i386 familypeter1998-03-091-6/+8
|
* Don't disable the use of $ in assembler labels.. It changes libstdc++peter1998-03-092-0/+6
| | | | | and libg++ so that they won't work with existing binaries (including netscape!!).
* Spell -Bshareable correctly... :-]peter1998-03-082-2/+2
|
* svr4.h defines ASM_IDENTIFY_GCC, but neglects to definepeter1998-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.
* Cosmetic cleanup for a.out asm generation.. Don't put the end-of-filepeter1998-03-082-6/+20
| | | | markers that the stabs-in-elf system uses.
* Put the function stabs in traditional order on a.out, or gdb doesn't seepeter1998-03-083-12/+22
| | | | function local variables.
* Add hooks for John Birrell's kernel thread support library.peter1998-03-082-2/+2
| | | | Submitted by: John Birrell <jb@cimlogic.com.au>
* First round of changes to support generation of assembler for the oldpeter1998-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
* Upgrade the cpp pre-defines to include -Dunix. Turns out we need thatjb1998-01-121-1/+1
| | | | | | | to compile m4. And don't just define __FreeBSD__, but define it as -D__FreeBSD__=3 like on i386.
* Add the alpha MD files for gcc to product ELF for FreeBSD/Alpha.jb1998-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.
* spelling corrections.wosch1997-09-131-3/+3
| | | | | PR: docs/4450 Submitted by: josh@quick.net
* Merge in some of my changes with John's. I've used this to buildpeter1997-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.
OpenPOWER on IntegriCloud