summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>2001-01-06 06:16:31 +0000
committerobrien <obrien@FreeBSD.org>2001-01-06 06:16:31 +0000
commit9ecd859376ab3bec2331158e58d250fb62910430 (patch)
tree966ba0f8d5c8bae60e363d5ac757b997bd3a33d7
parent7de31c3e1c7d8c876eb8490a93e2583b1554600a (diff)
downloadFreeBSD-src-9ecd859376ab3bec2331158e58d250fb62910430.zip
FreeBSD-src-9ecd859376ab3bec2331158e58d250fb62910430.tar.gz
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
-rw-r--r--gnu/lib/Makefile2
-rw-r--r--gnu/lib/libgcc/Makefile7
-rw-r--r--gnu/usr.bin/cc/cc_tools/freebsd-native.h10
-rw-r--r--lib/libpam/modules/pam_cleartext_pass_ok/Makefile4
-rw-r--r--lib/libpam/modules/pam_deny/Makefile2
-rw-r--r--lib/libpam/modules/pam_kerberosIV/Makefile4
-rw-r--r--lib/libpam/modules/pam_opie/Makefile4
-rw-r--r--lib/libpam/modules/pam_permit/Makefile2
-rw-r--r--lib/libpam/modules/pam_radius/Makefile4
-rw-r--r--lib/libpam/modules/pam_skey/Makefile4
-rw-r--r--lib/libpam/modules/pam_tacplus/Makefile4
-rw-r--r--lib/libpam/modules/pam_unix/Makefile4
12 files changed, 23 insertions, 28 deletions
diff --git a/gnu/lib/Makefile b/gnu/lib/Makefile
index 7be57b1..41f3236 100644
--- a/gnu/lib/Makefile
+++ b/gnu/lib/Makefile
@@ -2,9 +2,11 @@
SUBDIR= csu libdialog libgcc libgmp libmp libregex libreadline
+.if ${OBJFORMAT} == aout
.if !defined(NOLIBC_R)
SUBDIR+= libgcc_r
.endif
+.endif
.if !defined(NO_CXX)
SUBDIR+= libstdc++
diff --git a/gnu/lib/libgcc/Makefile b/gnu/lib/libgcc/Makefile
index a9842a0..a16558a 100644
--- a/gnu/lib/libgcc/Makefile
+++ b/gnu/lib/libgcc/Makefile
@@ -4,12 +4,15 @@ GCCDIR= ${.CURDIR}/../../../contrib/gcc.295
.PATH: ${GCCDIR}/cp ${GCCDIR}
+# allow to be overridden for the a.out case
.if !defined(LIB) || ${LIB} != "gcc_r"
LIB= gcc
.endif
+.if ${OBJFORMAT} == aout
# Install libgcc_pic.a, since ld.so uses it.
INSTALL_PIC_ARCHIVE= yes
+.endif
#
# XXX This is a hack, but it seems to work. libgcc1.a is supposed to be
@@ -59,6 +62,10 @@ SRCS= frame.c tinfo.cc tinfo2.cc new.cc exception.cc
CFLAGS+= -I${GCCDIR}/config -I${GCCDIR} -I.
CFLAGS+= -fexceptions
CFLAGS+= -DIN_GCC
+.if ${OBJFORMAT} != aout
+#CFLAGS+= -D_PTHREADS -fPIC -DGTHREAD_USE_WEAK
+CFLAGS+= -D_PTHREADS -DGTHREAD_USE_WEAK
+.endif
CXXFLAGS+= -I${GCCDIR}/cp/inc
CXXFLAGS+= -nostdinc++
diff --git a/gnu/usr.bin/cc/cc_tools/freebsd-native.h b/gnu/usr.bin/cc/cc_tools/freebsd-native.h
index 6fd158c..fd04a68 100644
--- a/gnu/usr.bin/cc/cc_tools/freebsd-native.h
+++ b/gnu/usr.bin/cc/cc_tools/freebsd-native.h
@@ -46,13 +46,3 @@
/* FreeBSD is 4.4BSD derived */
#define bsd4_4
-
-/* Tell gcc to locate libgcc.a for us according to the -m rules. */
-#undef LIBGCC_SPEC
-#define LIBGCC_SPEC \
- "%{!shared: \
- %{!pthread:libgcc.a%s} \
- %{pthread:libgcc_r.a%s}} \
- %{shared: \
- %{!pthread:libgcc_pic.a%s} \
- %{pthread:libgcc_r_pic.a%s}}"
diff --git a/lib/libpam/modules/pam_cleartext_pass_ok/Makefile b/lib/libpam/modules/pam_cleartext_pass_ok/Makefile
index 1c39ce9..be964816 100644
--- a/lib/libpam/modules/pam_cleartext_pass_ok/Makefile
+++ b/lib/libpam/modules/pam_cleartext_pass_ok/Makefile
@@ -31,8 +31,8 @@ SHLIB_NAME= pam_cleartext_pass_ok.so
SRCS= pam_cleartext_pass_ok.c
CFLAGS+= -I${PAMDIR}/libpam/include
CFLAGS+= -Wall
-DPADD= ${LIBSKEY} ${LIBGCC_PIC}
-LDADD= -lskey -lgcc_pic
+DPADD= ${LIBSKEY}
+LDADD= -lskey
INTERNALLIB= yes
INTERNALSTATICLIB=yes
diff --git a/lib/libpam/modules/pam_deny/Makefile b/lib/libpam/modules/pam_deny/Makefile
index 17b1447..9374a40 100644
--- a/lib/libpam/modules/pam_deny/Makefile
+++ b/lib/libpam/modules/pam_deny/Makefile
@@ -33,8 +33,6 @@ SHLIB_NAME= pam_deny.so
SRCS= pam_deny.c
CFLAGS+= -Wall
CFLAGS+= -I${PAMDIR}/libpam/include
-DPADD+= ${LIBGCC_PIC}
-LDADD+= -lgcc_pic
INTERNALLIB= yes
INTERNALSTATICLIB=yes
diff --git a/lib/libpam/modules/pam_kerberosIV/Makefile b/lib/libpam/modules/pam_kerberosIV/Makefile
index b487946..6b4f124 100644
--- a/lib/libpam/modules/pam_kerberosIV/Makefile
+++ b/lib/libpam/modules/pam_kerberosIV/Makefile
@@ -39,8 +39,8 @@ LDADD+= -lkrb
DPADD+= ${LIBCRYPTO}
LDADD+= -lcrypto
.endif
-DPADD+= ${LIBGCC_PIC} ${LIBCOM_ERR}
-LDADD+= -lgcc_pic -lcom_err
+DPADD+= ${LIBCOM_ERR}
+LDADD+= -lcom_err
INTERNALLIB= yes
INTERNALSTATICLIB=yes
diff --git a/lib/libpam/modules/pam_opie/Makefile b/lib/libpam/modules/pam_opie/Makefile
index 4b7c0e2..64723cc 100644
--- a/lib/libpam/modules/pam_opie/Makefile
+++ b/lib/libpam/modules/pam_opie/Makefile
@@ -33,8 +33,8 @@ SRCS= pam_opie.c
CFLAGS+= -Wall -g
CFLAGS+= -I${PAMDIR}/libpam/include
CFLAGS+= -I${.CURDIR}/../../libpam
-DPADD+= ${LIBOPIE} ${LIBGCC_PIC}
-LDADD+= -lopie -lgcc_pic
+DPADD+= ${LIBOPIE}
+LDADD+= -lopie
INTERNALLIB= yes
INTERNALSTATICLIB=yes
diff --git a/lib/libpam/modules/pam_permit/Makefile b/lib/libpam/modules/pam_permit/Makefile
index 8863ff5..0c254fe 100644
--- a/lib/libpam/modules/pam_permit/Makefile
+++ b/lib/libpam/modules/pam_permit/Makefile
@@ -34,8 +34,6 @@ SRCS= pam_permit.c
CFLAGS+= -Wall
CFLAGS+= -I${PAMDIR}/libpam/include
CFLAGS+= -I${.CURDIR}/../../libpam
-DPADD+= ${LIBGCC_PIC}
-LDADD+= -lgcc_pic
INTERNALLIB= yes
INTERNALSTATICLIB=yes
diff --git a/lib/libpam/modules/pam_radius/Makefile b/lib/libpam/modules/pam_radius/Makefile
index 48bd39a..25cb860 100644
--- a/lib/libpam/modules/pam_radius/Makefile
+++ b/lib/libpam/modules/pam_radius/Makefile
@@ -32,8 +32,8 @@ SRCS= pam_radius.c
CFLAGS+= -Wall
CFLAGS+= -I${PAMDIR}/libpam/include
CFLAGS+= -I${.CURDIR}/../../libpam
-DPADD+= ${LIBRADIUS} ${LIBGCC_PIC}
-LDADD+= -lradius -lgcc_pic
+DPADD+= ${LIBRADIUS}
+LDADD+= -lradius
INTERNALLIB= yes
INTERNALSTATICLIB=yes
diff --git a/lib/libpam/modules/pam_skey/Makefile b/lib/libpam/modules/pam_skey/Makefile
index bf6af9e..9ae24b1 100644
--- a/lib/libpam/modules/pam_skey/Makefile
+++ b/lib/libpam/modules/pam_skey/Makefile
@@ -32,8 +32,8 @@ SRCS= pam_skey.c
CFLAGS+= -Wall
CFLAGS+= -I${PAMDIR}/libpam/include
CFLAGS+= -I${.CURDIR}/../../libpam
-DPADD+= ${LIBSKEY} ${LIBGCC_PIC}
-LDADD+= -lskey -lgcc_pic
+DPADD+= ${LIBSKEY}
+LDADD+= -lskey
INTERNALLIB= yes
INTERNALSTATICLIB=yes
diff --git a/lib/libpam/modules/pam_tacplus/Makefile b/lib/libpam/modules/pam_tacplus/Makefile
index 6430ca8..3c812c4 100644
--- a/lib/libpam/modules/pam_tacplus/Makefile
+++ b/lib/libpam/modules/pam_tacplus/Makefile
@@ -32,8 +32,8 @@ SRCS= pam_tacplus.c
CFLAGS+= -Wall
CFLAGS+= -I${PAMDIR}/libpam/include
CFLAGS+= -I${.CURDIR}/../../libpam
-DPADD+= ${LIBTACPLUS} ${LIBGCC_PIC}
-LDADD+= -ltacplus -lgcc_pic
+DPADD+= ${LIBTACPLUS}
+LDADD+= -ltacplus
INTERNALLIB= yes
INTERNALSTATICLIB=yes
diff --git a/lib/libpam/modules/pam_unix/Makefile b/lib/libpam/modules/pam_unix/Makefile
index 7ef7ce3..4b6aade 100644
--- a/lib/libpam/modules/pam_unix/Makefile
+++ b/lib/libpam/modules/pam_unix/Makefile
@@ -32,8 +32,8 @@ SRCS= pam_unix.c
CFLAGS+= -Wall
CFLAGS+= -I${PAMDIR}/libpam/include
CFLAGS+= -I${.CURDIR}/../../libpam
-DPADD+= ${LIBUTIL} ${LIBGCC_PIC} ${LIBCRYPT}
-LDADD+= -lutil -lgcc_pic -lcrypt
+DPADD+= ${LIBUTIL} ${LIBCRYPT}
+LDADD+= -lutil -lcrypt
INTERNALLIB= yes
INTERNALSTATICLIB=yes
OpenPOWER on IntegriCloud