diff options
| author | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-06-15 00:55:52 +0000 |
|---|---|---|
| committer | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-06-15 00:55:52 +0000 |
| commit | 0401a453facb3a9c3555daa734d3d43a65d4281f (patch) | |
| tree | 964b1a04575ca1123c4112a32362b8968a78de10 /gcc | |
| parent | eaa2820db4cb0c2a70ec0dd4a4acf94e77071e38 (diff) | |
| download | ppe42-gcc-0401a453facb3a9c3555daa734d3d43a65d4281f.tar.gz ppe42-gcc-0401a453facb3a9c3555daa734d3d43a65d4281f.zip | |
�
* i386/freebsd-elf.h (LINK_SPEC): clean up the linking library
specifications and make it realistic.
(LIB_SPEC): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@27529 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
| -rw-r--r-- | gcc/ChangeLog | 6 | ||||
| -rw-r--r-- | gcc/config/i386/freebsd-elf.h | 42 |
2 files changed, 27 insertions, 21 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4e9ddd531a6..9bbd8fcdad6 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 c74ae992efc..59988909cba 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 |

