summaryrefslogtreecommitdiffstats
path: root/gnu/lib/libgcc
Commit message (Collapse)AuthorAgeFilesLines
* Add/improve mips64r2, Octeon, n32 and n64 support in the toolchain.jmallett2010-06-021-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | o) Add TARGET_ABI to the MIPS toolchain build process. This sets the default ABI to one of o32, n32 or n64. If it is not set, o32 is assumed as that is the current default. o) Set the default GCC cpu type to any specified TARGET_CPUTYPE. This is necessary to have a working "cc" if e.g. mips64 is specified, as binutils will refuse to link objects using different ISAs in some cases. o) Add support for n32 and n64 ABIs to binutils and GCC. o) Add additional required libgcc2 stubs for n32 and n64. o) Add support for the "mips64r2" architecture to GCC. Add the "octeon" o) When static linking, wrap default libraries in --start-group and --end-group. This is required for static linking to work on n64 with the interdependencies between libraries there. This is what other OSes that support n64 seem to do, as well. o) Fix our GCC spec to define __mips64 for 64-bit targets, not __mips64__, the former being what libgcc, etc., check and the latter seemingly being a misspelling of a hand merge from a Linux spec. o) When no TARGET_CPUTYPE is specified at build time, make GCC take the default ISA from the ABI. Our old defaults were too liberal and assumed that 64-bit ABIs should default to the MIPS64 ISA and that 32-bit ABIs should default to the MIPS32 ISA, when we are supporting or will support some systems based on earlier 32-bit and 64-bit ISAs, most notably MIPS-III. o) Merge a new opcode file (and support code) from a later version of binutils and add flags and code necessary to support Octeon-specific instructions. This should also make merging opcodes for other modern architectures easier. Reviewed by: imp
* Non-GCC gcc compatible compilers may provide the same multimedia intrinsicobrien2010-05-121-0/+1
| | | | | | | headers as GCC, but of their own implementation. So put the GCC ones into their own header "namespace". Requested by: ed
* Merge r195030 from project/mips into head by hand:imp2010-01-081-1/+5
| | | | | | | r195030 | gonzo | 2009-06-25 19:27:31 -0600 (Thu, 25 Jun 2009) | 4 lines - Switch to libc softfloat from libgcc implementation. The problem with latter is that it is not complete, fpsetXXX/fpgetXXX functions are missing.
* Fix one spelling and one copy&paste error in comments.kan2009-12-141-2/+2
|
* Second attempt at eliminating .text relocations in shared librarieskan2009-07-141-0/+6
| | | | | | | | | | | | | | compiled with stack protector. Use libssp_nonshared library to pull __stack_chk_fail_local symbol into each library that needs it instead of pulling it from libc. GCC generates local calls to this function which result in absolute relocations put into position-independent code segment, making dynamic loader do extra work every time given shared library is being relocated and making affected text pages non-shareable. Reviewed by: kib Approved by: re (kib)
* Back out previous revision until better tested fix is ready.kan2009-06-291-7/+1
| | | | Approved by: re (impliciti, by approving previos check-in)
* Eliminate .text relocations in shared libraries compiled with stack protector.kan2009-06-281-1/+7
| | | | | | | | | | | | Use libssp_nonshared library to pull __stack_chk_fail_local symbol into each library that needs it instead of pulling it from libc. GCC generates local calls to this function which result in absolute relocations put into position-independent code segment, making dynamic loader do extra work everys time given shared library is being relocated and making affected text pages non-shareable. Reviewed by: kib Approved by: re (kensmith)
* Honor WITHOUT_INSTALLLIB in some places.jkim2009-02-131-0/+2
|
* MFP4: Add mips to the list of soft-float platforms.imp2008-09-191-2/+2
|
* Prefer the patch in p4 to the patch in svn as it properly sorts theimp2008-09-191-1/+1
| | | | architectures alphabetically.
* Add FreeBSD/MIPS support to GCC.obrien2008-09-011-1/+1
|
* Let PowerPC world optionally build with -msoft-float. For FPU-less PowerPCraj2008-02-241-1/+1
| | | | | | | | | variations (e500 currently), this provides a gcc-level FPU emulation and is an alternative approach to the recently introduced kernel-level emulation (FPU_EMU). Approved by: cognet (mentor) MFp4: e500
* Remove comment that was added by mistakes and which prevented _eprintfkan2007-08-141-1/+1
| | | | | | and gcc_bcmp to be added to static libgcc.a. Approved by: re (kensmith)
* Update bmake glue to build GCC 4.2.kan2007-05-191-134/+254
| | | | | | | | | | | | | | | | | | | | | Also: Switch FreeBSD to use libgcc_s.so.1. Use dl_iterate_phdr to locate shared objects' exception frame info instead of depending on older register_frame_info machinery. This allows us to avoid depending on libgcc_s.so.1 in binaries that do not use exception handling directly. As an additional benefit it breaks circular libc <=> libgcc_s.so.1 dependency too. Build newly added libgomp.so.1 library, the runtime support bits for OpenMP. Build LGPLed libssp library. Our libc provides our own BSD-licensed SSP callbacks implementation, so this library is only built to benefit applications that have hadcoded knowledge of libssp.so and libssp_nonshared.a. When linked in from command line, these libraries override libc implementation.
* Don't build the libgcc with functions already included in the libc tocognet2006-10-121-1/+1
| | | | | | unbreak the build. We'll switch back to the libgcc functions and get rid of the libsoftfloat later.
* Convert NO_PROFILE and NO_LIB32 to new style.ru2006-03-181-2/+3
|
* NODOCCOMPRESS -> NO_DOCCOMPRESSru2004-12-211-4/+4
| | | | | | | | NOINFO -> NO_INFO NOINFOCOMPRESS -> NO_INFOCOMPRESS NOLINT -> NO_LINT NOPIC -> NO_PIC NOPROFILE -> NO_PROFILE
* For variables that are only checked with defined(), don't provideru2004-10-241-1/+1
| | | | any fake value.
* Add missing patch which was forgotten during GCC 3.4.2 import. libgcc.akan2004-08-041-4/+2
| | | | | | | | gets most of it content back now, when symbols from LIB2FUNCS are actually compiled. Noticed by: Steve Kargl <gk at troutmask dot apl dot washington dot edu> Pointy hat to: kan
* Bmake glue for GCC 3.4.2-prerelease.kan2004-07-281-25/+29
|
* Add unwind-c.c file required for -fexceptions in C sources.kan2003-07-111-2/+2
|
* Catch up with bsd.lib.mk,v 1.143.ru2003-06-301-13/+0
|
* Build/install the PIC version of libgcc (libcc_pic.a) for use by sharedpeter2003-06-131-0/+3
| | | | libraries that do exception unwinding.
* Zap now-unused SHLIB_MINORpeter2002-09-281-1/+0
|
* Initiate deorbit burn for the i386-only a.out related support. Moves arepeter2002-09-171-7/+0
| | | | | | | | | | | | | | | under way to move the remnants of the a.out toolchain to ports. As the comment in src/Makefile said, this stuff is deprecated and one should not expect this to remain beyond 4.0-REL. It has already lasted WAY beyond that. Notable exceptions: gcc - I have not touched the a.out generation stuff there. ldd/ldconfig - still have some code to interface with a.out rtld. old as/ld/etc - I have not removed these yet, pending their move to ports. some includes - necessary for ldd/ldconfig for now. Tested on: i386 (extensively), alpha
* Fix the sparc64 build and make the LIB1ASMSRC handling more robust.obrien2002-05-181-9/+14
|
* Improve chances that we correctly compile LIB1ASMSRC on all architectures.phk2002-05-181-2/+2
| | | | | | | | | | sparc64 looked for the nonexistent sparc64/lb1spc.asm file instead of the sparc/lb1spc.asm file. arm probably looked for arm/arm/lib1funcs.asm instead of arm/lib1funcs.asm ia64 probably looked for ia64/ia64/lib1funcs.asm instead of ia64/lib1funcs.asm i386 and alpha don't seen to use the LIB1ASMSRC.
* Move LIB1ASMFUNCS from the SYMS variable and explicitly add it to OBJSpeter2002-05-171-3/+2
| | | | | | | | later. Otherwise make will try and build the supposedly assembler .o files from libgcc2.c - which does not work too well (the .o's have no content) Reviewed by: obrien
* Post rev 1.39, the PowerPC specific additions to OBJS was getting lost.obrien2002-05-171-1/+3
|
* bsd.lib.mk now understands what to do with .asm files.obrien2002-05-171-2/+2
| | | | | So we can refer to these files by their real name vs. playing tricks renaming them during the build.
* Properly build lb1spc.asm on Sparc64.obrien2002-05-121-3/+28
|
* I was not strict enough with my ordering of things to satisfy make(1) nieveobrien2002-05-121-28/+26
| | | | symbol evaluation which causes it to be very sensitive to macro ordering.
* [Ab]use LDFLAGS rather than CFLAGS.obrien2002-05-101-1/+2
| | | | BDE tells me POSIX pretends `ld' as a directly callable entity does not exist.
* Bmake bits for Gcc 3.1.obrien2002-05-101-119/+154
| | | | Partially made possible by: Wilko.Bulte@compaq.com
* It is easier for me to debug with -I's at the rear.obrien2002-04-201-1/+1
|
* Style reorg. Also spell -fpic as determined by bsd.lib.mk.obrien2002-04-051-6/+5
|
* Use a unified libgcc rather than a seperate one for threaded andobrien2001-01-061-0/+7
| | | | | | | | non-threaded programs. This provides threaded programs with the needed exception frame symbols. parts submitted by: Max Khon <fjoe@iclub.nsu.ru> PR: 23252
* Scoot things over to the temporary *.295 source while I do major constructionobrien2000-06-041-1/+1
| | | | on the mainline sources.
* Clean up the FreeBSD configuration files -- includes removing the usageobrien2000-03-231-1/+0
| | | | | of svr4.h on the i386, and moving all the shared arch neutral bits into the FreeBSD general config header.
* Pay attention to the "KEEP THIS IN SYNC" comment, and sync the `tm.h'obrien1999-11-171-4/+0
| | | | header with src/gcc/usr.bin/cc/cc_tools/Makefile.
* Cut over the system compiler from from EGCS 1.1.2 to GCC 2.95.2.obrien1999-11-151-2/+10
|
* Cosmetic change to match cc_tools/Makefileobrien1999-11-151-7/+7
|
* Fixed the hack for using "../libgcc/Makefile" in libgcc_r/Makefile.bde1999-10-031-0/+2
| | | | | | ${LIB} was wrong at dependency-parsing time, so dependencies for libgcc_r*.a were wrong. This somehow worked right, except libgcc_r*.a were always out of date.
* $Id$ -> $FreeBSD$peter1999-08-271-1/+1
|
* Purely cosmetic changes -- fix Id'sobrien1999-08-161-4/+2
|
* alpha/freebsd-elf.h has been merged with alpha/freebsd.hobrien1999-04-081-3/+1
|
* Don't require gcc/config/${MACHINE_ARCH}/xm-freebsd.h when we already knowobrien1999-04-081-2/+3
| | | | the contents of it. Instead create it, so all arch's are consistent.
* Conditionalize one more i386'ism.obrien1999-04-041-1/+3
|
* Attempt to creating the right ``tm.h'' file for the Alpha.obrien1999-04-041-1/+5
|
* Minimum set of changes to switch from Gcc 2.7.2 (in contrib/gcc) to Egcs 1.1.2obrien1999-04-041-9/+66
| | | | (in contrib/egcs)
OpenPOWER on IntegriCloud