68 Commits

Author SHA1 Message Date
imp
b3ad93c0ea Merge r195030 from project/mips into head by hand:
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.
2010-01-08 23:11:23 +00:00
kan
4c54179e42 Fix one spelling and one copy&paste error in comments. 2009-12-14 01:51:23 +00:00
kan
ef443476d9 Second attempt at eliminating .text relocations in shared libraries
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)
2009-07-14 21:19:13 +00:00
kan
a3faeb1b41 Back out previous revision until better tested fix is ready.
Approved by: re (impliciti, by approving previos check-in)
2009-06-29 01:33:59 +00:00
kan
f780ef8f19 Eliminate .text relocations in shared libraries 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 everys
time given shared library is being relocated and making affected text pages
non-shareable.

Reviewed by:        kib
Approved by:        re (kensmith)
2009-06-28 23:51:39 +00:00
jkim
56ef1bde13 Honor WITHOUT_INSTALLLIB in some places. 2009-02-13 16:51:36 +00:00
imp
9a16f2d6a7 MFP4: Add mips to the list of soft-float platforms. 2008-09-19 03:09:36 +00:00
imp
6758355350 Prefer the patch in p4 to the patch in svn as it properly sorts the
architectures alphabetically.
2008-09-19 01:35:34 +00:00
obrien
f18a1ee8d4 Add FreeBSD/MIPS support to GCC. 2008-09-01 18:46:03 +00:00
raj
69575dab52 Let PowerPC world optionally build with -msoft-float. For FPU-less PowerPC
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
2008-02-24 19:22:53 +00:00
kan
db6e95501b Remove comment that was added by mistakes and which prevented _eprintf
and gcc_bcmp to be added to static libgcc.a.

Approved by:	re (kensmith)
2007-08-14 20:49:57 +00:00
kan
ebf45ed0c9 Update bmake glue to build GCC 4.2.
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.
2007-05-19 04:25:59 +00:00
cognet
f2ac62bb14 Don't build the libgcc with functions already included in the libc to
unbreak the build.
We'll switch back to the libgcc functions and get rid of the libsoftfloat
later.
2006-10-12 16:43:15 +00:00
ru
5f8b6d3c5a Convert NO_PROFILE and NO_LIB32 to new style. 2006-03-18 21:37:05 +00:00
ru
74176cc161 NODOCCOMPRESS -> NO_DOCCOMPRESS
NOINFO -> NO_INFO
NOINFOCOMPRESS -> NO_INFOCOMPRESS
NOLINT -> NO_LINT
NOPIC -> NO_PIC
NOPROFILE -> NO_PROFILE
2004-12-21 09:33:47 +00:00
ru
5db2b9d5b3 For variables that are only checked with defined(), don't provide
any fake value.
2004-10-24 15:33:08 +00:00
kan
2e85a1715e Add missing patch which was forgotten during GCC 3.4.2 import. libgcc.a
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
2004-08-04 03:13:51 +00:00
kan
482ec87e2d Bmake glue for GCC 3.4.2-prerelease. 2004-07-28 05:27:21 +00:00
kan
e120cc9627 Add unwind-c.c file required for -fexceptions in C sources. 2003-07-11 05:29:11 +00:00
ru
41e21bba17 Catch up with bsd.lib.mk,v 1.143. 2003-06-30 19:11:20 +00:00
peter
db4799b484 Build/install the PIC version of libgcc (libcc_pic.a) for use by shared
libraries that do exception unwinding.
2003-06-13 22:07:39 +00:00
peter
0a7f0ba37e Zap now-unused SHLIB_MINOR 2002-09-28 00:25:32 +00:00
peter
a51c9b6627 Initiate deorbit burn for the i386-only a.out related support. Moves are
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
2002-09-17 01:49:00 +00:00
obrien
392eebf174 Fix the sparc64 build and make the LIB1ASMSRC handling more robust. 2002-05-18 09:46:12 +00:00
phk
dc6816f144 Improve chances that we correctly compile LIB1ASMSRC on all architectures.
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.
2002-05-18 09:21:42 +00:00
peter
a254817b08 Move LIB1ASMFUNCS from the SYMS variable and explicitly add it to OBJS
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
2002-05-17 08:59:13 +00:00
obrien
17aec96489 Post rev 1.39, the PowerPC specific additions to OBJS was getting lost. 2002-05-17 04:18:33 +00:00
obrien
cef4417d4b bsd.lib.mk now understands what to do with .asm files.
So we can refer to these files by their real name vs. playing tricks
renaming them during the build.
2002-05-17 03:08:15 +00:00
obrien
01532a0d4b Properly build lb1spc.asm on Sparc64. 2002-05-12 14:05:58 +00:00
obrien
1d595b254a I was not strict enough with my ordering of things to satisfy make(1) nieve
symbol evaluation which causes it to be very sensitive to macro ordering.
2002-05-12 12:44:04 +00:00
obrien
bdc472c233 [Ab]use LDFLAGS rather than CFLAGS.
BDE tells me POSIX pretends `ld' as a directly callable entity does not exist.
2002-05-10 09:32:39 +00:00
obrien
dfe16a29fa Bmake bits for Gcc 3.1.
Partially made possible by:	Wilko.Bulte@compaq.com
2002-05-10 08:54:50 +00:00
obrien
e4e7ea8e6a It is easier for me to debug with -I's at the rear. 2002-04-20 01:27:28 +00:00
obrien
7aa4d52726 Style reorg. Also spell -fpic as determined by bsd.lib.mk. 2002-04-05 09:12:25 +00:00
obrien
9ecd859376 Use a unified libgcc rather than a seperate one for threaded and
non-threaded programs.  This provides threaded programs with the
needed exception frame symbols.

parts submitted by:	Max Khon <fjoe@iclub.nsu.ru>
PR:	23252
2001-01-06 06:16:31 +00:00
obrien
7b694b0fc3 Scoot things over to the temporary *.295 source while I do major construction
on the mainline sources.
2000-06-04 06:56:23 +00:00
obrien
13cef0c010 Clean up the FreeBSD configuration files -- includes removing the usage
of svr4.h on the i386, and moving all the shared arch neutral bits into
the FreeBSD general config header.
2000-03-23 10:18:26 +00:00
obrien
4a93879dcf Pay attention to the "KEEP THIS IN SYNC" comment, and sync the `tm.h'
header with src/gcc/usr.bin/cc/cc_tools/Makefile.
1999-11-17 07:20:27 +00:00
obrien
f62e7fc20c Cut over the system compiler from from EGCS 1.1.2 to GCC 2.95.2. 1999-11-15 04:16:19 +00:00
obrien
b819c04855 Cosmetic change to match cc_tools/Makefile 1999-11-15 00:49:35 +00:00
bde
3ce2709100 Fixed the hack for using "../libgcc/Makefile" in libgcc_r/Makefile.
${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.
1999-10-03 02:43:20 +00:00
peter
289c0d262f $Id$ -> $FreeBSD$ 1999-08-27 23:37:10 +00:00
obrien
242733a2af Purely cosmetic changes -- fix Id's 1999-08-16 04:27:28 +00:00
obrien
5a2edaf715 alpha/freebsd-elf.h has been merged with alpha/freebsd.h 1999-04-08 08:39:16 +00:00
obrien
2abaf8ce10 Don't require gcc/config/${MACHINE_ARCH}/xm-freebsd.h when we already know
the contents of it.  Instead create it, so all arch's are consistent.
1999-04-08 08:19:28 +00:00
obrien
9c9c4fe46a Conditionalize one more i386'ism. 1999-04-04 20:47:33 +00:00
obrien
c0d9655488 Attempt to creating the right ``tm.h'' file for the Alpha. 1999-04-04 20:41:50 +00:00
obrien
582be693c1 Minimum set of changes to switch from Gcc 2.7.2 (in contrib/gcc) to Egcs 1.1.2
(in contrib/egcs)
1999-04-04 16:36:35 +00:00
obrien
87a3771235 Add bits we were getting from gnu/usr.bin/cc/Makefile.inc. 1999-03-31 06:40:40 +00:00
jdp
ffcc901f03 Switch to using ".So" as the extension for PIC object files rather
than ".so".  The old extension conflicted with well-established
naming conventions for dynamically loadable modules.

The "clean" targets continue to remove ".so" files too, to deal with
old systems.
1999-01-09 21:51:00 +00:00