aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDavid O'Brien <obrien@FreeBSD.org>1999-06-15 00:55:52 +0000
committerJeff Law <law@gcc.gnu.org>1999-06-14 18:55:52 -0600
commit666260c30496a7d413cce94ffde5518ad73d9364 (patch)
tree964b1a04575ca1123c4112a32362b8968a78de10 /gcc
parent37883afa4262fcd5ff2b655b765fe07953ae03d0 (diff)
downloadgcc-666260c30496a7d413cce94ffde5518ad73d9364.zip
gcc-666260c30496a7d413cce94ffde5518ad73d9364.tar.gz
gcc-666260c30496a7d413cce94ffde5518ad73d9364.tar.bz2
freebsd-elf.h (LINK_SPEC): clean up the linking library specifications and make it realistic.
� * i386/freebsd-elf.h (LINK_SPEC): clean up the linking library specifications and make it realistic. (LIB_SPEC): Likewise. From-SVN: r27529
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/i386/freebsd-elf.h42
2 files changed, 27 insertions, 21 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4e9ddd5..9bbd8fc 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+Tue Jun 15 01:55:20 1999 David O'Brien <obrien@FreeBSD.org>
+
+ * i386/freebsd-elf.h (LINK_SPEC): clean up the linking library
+ specifications and make it realistic.
+ (LIB_SPEC): Likewise.
+
Mon Jun 14 15:38:43 1999 Jim Wilson <wilson@cygnus.com>
* config/mips/mips.c (mips_secondary_reload_class): Check for
diff --git a/gcc/config/i386/freebsd-elf.h b/gcc/config/i386/freebsd-elf.h
index c74ae99..5998890 100644
--- a/gcc/config/i386/freebsd-elf.h
+++ b/gcc/config/i386/freebsd-elf.h
@@ -210,22 +210,18 @@ Boston, MA 02111-1307, USA. */
#define ENDFILE_SPEC \
"%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
-
-#undef LIB_SPEC
-#if 1
-/* We no longer link with libc_p.a or libg.a by default. If you
- * want to profile or debug the C library, please add
- * -lc_p or -ggdb to LDFLAGS at the link time, respectively.
- */
-#define LIB_SPEC \
- "%{!shared: %{mieee-fp:-lieee} %{p:-lgmon} %{pg:-lgmon} \
- %{!ggdb:-lc} %{ggdb:-lg}}"
-#else
-#define LIB_SPEC \
- "%{!shared: \
- %{mieee-fp:-lieee} %{p:-lgmon -lc_p} %{pg:-lgmon -lc_p} \
- %{!p:%{!pg:%{!g*:-lc} %{g*:-lg}}}}"
-#endif
+/* Provide a LIB_SPEC appropriate for FreeBSD. Just select the appropriate
+ libc, depending on whether we're doing profiling or need threads support.
+ (simular to the default, except no -lg, and no -p. */
+
+#undef LIB_SPEC
+#define LIB_SPEC "%{!shared: \
+ %{!pg:%{!pthread:%{!kthread:-lc} \
+ %{kthread:-lpthread -lc}} \
+ %{pthread:-lc_r}} \
+ %{pg:%{!pthread:%{!kthread:-lc_p} \
+ %{kthread:-lpthread_p -lc_p}} \
+ %{pthread:-lc_r_p}}}"
/* Provide a LINK_SPEC appropriate for FreeBSD. Here we provide support
for the special GCC options -static and -shared, which allow us to
@@ -242,13 +238,17 @@ Boston, MA 02111-1307, USA. */
done. */
#undef LINK_SPEC
-#define LINK_SPEC "-m elf_i386 %{shared:-shared} \
- %{!shared: \
- %{!ibcs: \
+#define LINK_SPEC "-m elf_i386 \
+ %{Wl,*:%*} \
+ %{v:-V} \
+ %{assert*} %{R*} %{rpath*} %{defsym*} \
+ %{shared:-Bshareable %{h*} %{soname*}} \
+ %{!shared: \
%{!static: \
- %{rdynamic:-export-dynamic} \
+ %{rdynamic:-export-dynamic} \
%{!dynamic-linker:-dynamic-linker /usr/libexec/ld-elf.so.1}} \
- %{static:-Bstatic}}}"
+ %{static:-Bstatic}}} \
+ %{symbolic:-Bsymbolic}"
/* A C statement to output to the stdio stream FILE an assembler
command to advance the location counter to a multiple of 1<<LOG