diff options
author | Jason Thorpe <thorpej@netbsd.org> | 2003-05-29 17:38:52 +0000 |
---|---|---|
committer | Jason Thorpe <thorpej@netbsd.org> | 2003-05-29 17:38:52 +0000 |
commit | 561c27b2bb69d7be3741308be1e5520e9e314cee (patch) | |
tree | 2603f2ba699bf75d0124b585c97e15c2624c44d6 /ld | |
parent | 4bf4a8829cc6432bc322a328566cb1c0ba20563a (diff) | |
download | fsf-binutils-gdb-561c27b2bb69d7be3741308be1e5520e9e314cee.zip fsf-binutils-gdb-561c27b2bb69d7be3741308be1e5520e9e314cee.tar.gz fsf-binutils-gdb-561c27b2bb69d7be3741308be1e5520e9e314cee.tar.bz2 |
* configure.host (*-*-netbsd*): Set HOSTING_CRT0 and HOSTING_LIBS
correctly for more recent versions of NetBSD.
(alpha*-*-netbsd*): Remove.
(i[3-7]86-*-netbsd*): Remove.
Diffstat (limited to 'ld')
-rw-r--r-- | ld/ChangeLog | 7 | ||||
-rw-r--r-- | ld/configure.host | 40 |
2 files changed, 39 insertions, 8 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index bdb04c1..5b6621e 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,10 @@ +2003-05-29 Jason Thorpe <thorpej@wasabisystems.com> + + * configure.host (*-*-netbsd*): Set HOSTING_CRT0 and HOSTING_LIBS + correctly for more recent versions of NetBSD. + (alpha*-*-netbsd*): Remove. + (i[3-7]86-*-netbsd*): Remove. + 2003-05-29 Nick Clifton <nickc@redhat.com> * emultempl/pe.em: Include "safe-ctype.h" instead of <ctype.h>. diff --git a/ld/configure.host b/ld/configure.host index 1ce245e..69132cd 100644 --- a/ld/configure.host +++ b/ld/configure.host @@ -41,6 +41,37 @@ case "${host}" in HOSTING_LIBS='-L`dirname \`${CC} --print-file-name=libc.so\`` '"$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} --print-file-name=crtend.o; fi` `${CC} --print-file-name=crtn.o`' ;; +*-*-netbsd*) + # Different versions of NetBSD with the ELF object format use different + # sets of start/end files. + HOSTING_CRT0='-dynamic-linker /usr/libexec/ld.elf_so /usr/lib/crt0.o' + if [ -f `${CC} --print-file-name=crti.o` ]; then + # Support for GCC's crtstuff present. + HOSTING_CRT0="$HOSTING_CRT0 `${CC} --print-file-name=crti.o`" + if [ -f ../gcc/crtbegin.o ]; then + HOSTING_CRT0="$HOSTING_CRT0 ../gcc/crtbegin.o" + else + HOSTING_CRT0="$HOSTING_CRT0 `${CC} --print-file-name=crtbegin.o`" + fi + else + # Support for GCC's crtstuff not present. + HOSTING_CRT0="$HOSTING_CRT0 `${CC} --print-file-name=crtbegin.o`" + fi + HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi` -lc `if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi`' + if [ -f `${CC} --print-file-name=crtn.o` ]; then + # Support for GCC's crtstuff present. + if [ -f ../gcc/crtbegin.o ]; then + HOSTING_LIBS="$HOSTING_LIBS ../gcc/crtend.o" + else + HOSTING_LIBS="$HOSTING_LIBS `${CC} --print-file-name=crtend.o`" + fi + HOSTING_LIBS="$HOSTING_LIBS `${CC} --print-file-name=crtn.o`" + else + # Support for GCC's crtstuff not present. + HOSTING_LIBS="$HOSTING_LIBS `${CC} --print-file-name=crtend.o`" + fi + ;; + esac # @@ -53,10 +84,6 @@ case "${host}" in # No further tweaking needed ;; -alpha*-*-netbsd*) - HOSTING_CRT0=/usr/lib/crt0.o - ;; - arm*-*-linux-gnu*) HOSTING_CRT0='-p '`echo "$HOSTING_CRT0" | sed -e "s,ld\[^ \]*\*,ld-linux,g"` ;; @@ -67,7 +94,7 @@ hppa*64*-*-hpux11*) HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else if test "$GCC" = yes; then ${CC} --print-libgcc-file-name; else gcc --print-libgcc-file-name; fi fi` -lc /usr/lib/pa20_64/milli.a' ;; -i[3-7]86-*-bsd* | i[3-7]86-*-freebsd[12] | i[3-7]86-*-freebsd[12]\.* | i[3-7]86-*-freebsd*aout* | i[3-7]86-*-netbsd*) +i[3-7]86-*-bsd* | i[3-7]86-*-freebsd[12] | i[3-7]86-*-freebsd[12]\.* | i[3-7]86-*-freebsd*aout*) HOSTING_CRT0=/usr/lib/crt0.o ;; @@ -216,9 +243,6 @@ x86_64-*-linux-gnu*) ;; *-*-netbsd*) - # NetBSD typically does not use the GCC crtstuff, so ignore it. - HOSTING_CRT0='-dynamic-linker /usr/libexec/ld.elf_so /usr/lib/crt0.o /usr/lib/crtbegin.o' - HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi` -lc `if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi` /usr/lib/crtend.o' ;; alpha*-*-*) |