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
This commit is contained in:
parent
b70519663c
commit
39cd938c39
@ -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
|
||||
|
@ -3,7 +3,6 @@
|
||||
GCCDIR= ${.CURDIR}/../../../contrib/gcc
|
||||
GCCLIB= ${.CURDIR}/../../../contrib/gcclibs
|
||||
|
||||
LIB= gcc
|
||||
SHLIB_NAME= libgcc_s.so.1
|
||||
SHLIBDIR?= /lib
|
||||
|
||||
|
@ -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 \
|
||||
|
@ -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>
|
||||
|
Loading…
Reference in New Issue
Block a user