diff options
author | ed <ed@FreeBSD.org> | 2010-11-11 15:48:27 +0000 |
---|---|---|
committer | ed <ed@FreeBSD.org> | 2010-11-11 15:48:27 +0000 |
commit | eee194800dec72f6b42fddb63bc385263dcaf360 (patch) | |
tree | 96d46b232fdca922dcceae80b2a66aed7fc5813f | |
parent | 5bd2211ccc572606efabe63fbce122f107d56bfc (diff) | |
download | FreeBSD-src-eee194800dec72f6b42fddb63bc385263dcaf360.zip FreeBSD-src-eee194800dec72f6b42fddb63bc385263dcaf360.tar.gz |
Replace libgcc.a by libcompiler_rt.a.
libcompiler_rt.a is a BSD licensed C language runtime, which implements
many routines which are linked into binaries on architectures where
certain functionality is missing (e.g. 64 bits mul/div on i386).
Unfortunately, libcompiler_rt cannot replace libgcc entirely. Certain
features, such as an unwinder for exception handling, are missing.
That's why only libgcc.a is replaced for now, because this one does seem
to be complete.
Tested by: rene (amd64), nwhitehorn (powerpc), droso (i386 exprun)
and many others. Thanks!
Obtained from: user/ed/compiler-rt
-rw-r--r-- | Makefile.inc1 | 3 | ||||
-rw-r--r-- | gnu/lib/libgcc/Makefile | 1 | ||||
-rw-r--r-- | lib/Makefile | 2 | ||||
-rw-r--r-- | sys/sys/param.h | 2 |
4 files changed, 5 insertions, 3 deletions
diff --git a/Makefile.inc1 b/Makefile.inc1 index d8bbd44..cd29204 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -1123,7 +1123,7 @@ libraries: # # static libgcc.a prerequisite for shared libc # -_prereq_libs= gnu/lib/libssp/libssp_nonshared gnu/lib/libgcc +_prereq_libs= gnu/lib/libssp/libssp_nonshared gnu/lib/libgcc lib/libcompiler_rt # These dependencies are not automatically generated: # @@ -1139,6 +1139,7 @@ _startup_libs+= lib/csu/${MACHINE_ARCH} _startup_libs+= lib/csu/${MACHINE_CPUARCH} .endif _startup_libs+= gnu/lib/libgcc +_startup_libs+= lib/libcompiler_rt _startup_libs+= lib/libc gnu/lib/libgcc__L: lib/libc__L diff --git a/gnu/lib/libgcc/Makefile b/gnu/lib/libgcc/Makefile index d7642da..2021c8c 100644 --- a/gnu/lib/libgcc/Makefile +++ b/gnu/lib/libgcc/Makefile @@ -3,7 +3,6 @@ GCCDIR= ${.CURDIR}/../../../contrib/gcc GCCLIB= ${.CURDIR}/../../../contrib/gcclibs -LIB= gcc SHLIB_NAME= libgcc_s.so.1 SHLIBDIR?= /lib diff --git a/lib/Makefile b/lib/Makefile index 75de092..e6e3cf0 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -34,6 +34,7 @@ SUBDIR_ORDERED= ${_csu} \ libbsm \ libauditd \ libcom_err \ + libcompiler_rt \ libcrypt \ libelf \ libkvm \ @@ -53,6 +54,7 @@ SUBDIR= ${SUBDIR_ORDERED} \ libarchive \ ${_libatm} \ libbegemot \ + libblocksruntime \ ${_libbluetooth} \ ${_libbsnmp} \ libbz2 \ diff --git a/sys/sys/param.h b/sys/sys/param.h index ea64e39..a64c77b 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -58,7 +58,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 900023 /* Master, propagated to newvers */ +#define __FreeBSD_version 900024 /* Master, propagated to newvers */ #ifndef LOCORE #include <sys/types.h> |