diff options
author | obrien <obrien@FreeBSD.org> | 2000-05-13 17:48:08 +0000 |
---|---|---|
committer | obrien <obrien@FreeBSD.org> | 2000-05-13 17:48:08 +0000 |
commit | 576548bdc7d786602c0318d9818c1e2d85e82c3c (patch) | |
tree | 0063a481a243f562e4bb0ab2a286854713b2c6a9 | |
parent | 8feeb14682fd45493aa98bf15a9e400051646eee (diff) | |
download | FreeBSD-src-576548bdc7d786602c0318d9818c1e2d85e82c3c.zip FreeBSD-src-576548bdc7d786602c0318d9818c1e2d85e82c3c.tar.gz |
Tweaks for i386, add alpha, ppc, sparc, and strongarm support.
-rw-r--r-- | contrib/binutils/ld/configure.host | 40 |
1 files changed, 31 insertions, 9 deletions
diff --git a/contrib/binutils/ld/configure.host b/contrib/binutils/ld/configure.host index 38ad347..32c9a81 100644 --- a/contrib/binutils/ld/configure.host +++ b/contrib/binutils/ld/configure.host @@ -1,3 +1,5 @@ +# $FreeBSD$ + # This is the linker host specific file. This is invoked by the # autoconf generated configure script. Putting it in a separate shell # file lets us skip running autoconf when modifying host specific @@ -16,6 +18,11 @@ NATIVE_LIB_DIRS= case "${host}" in +alpha*-*-freebsd*) + HOSTING_CRT0=/usr/lib/crt1.o + NATIVE_LIB_DIRS=/usr/lib + ;; + alpha*-*-linux-gnu*) HOSTING_CRT0='-dynamic-linker `egrep "ld[^ ]*\.so" \`${CC} --print-file-name=specs\` | sed -e "s,.*-dynamic-linker[ ][ ]*\(.*/ld[^ ]*.so..\).*,\1,"` `${CC} --print-file-name=crt1.o` `${CC} --print-file-name=crti.o` `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; else ${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` -L`dirname \`${CC} --print-file-name=libc.so\`` -lc `if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi` `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} --print-file-name=crtend.o; fi` `${CC} --print-file-name=crtn.o`' @@ -35,32 +42,37 @@ alpha*-*-*) NATIVE_LIB_DIRS=/usr/ccs/lib ;; +arm*-*-freebsd*) + HOSTING_CRT0=/usr/lib/crt1.o + NATIVE_LIB_DIRS=/usr/lib + ;; + arm*-*-linux-gnu*) HOSTING_CRT0='-p -dynamic-linker `fgrep ld-linux.so \`${CC} --print-file-name=specs\` | sed -e "s,.*-dynamic-linker[ ][ ]*\(.*/ld-linux.so..\).*,\1,"` `${CC} --print-file-name=crt1.o` `${CC} --print-file-name=crti.o` `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; else ${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` -L`dirname \`${CC} --print-file-name=libc.so\`` -lc `if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi` `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} --print-file-name=crtend.o; fi` `${CC} --print-file-name=crtn.o`' ;; -i[3456]86-*-freebsdelf*) +i[3456]86-*-bsd* | i[3456]86-*-freebsd[12]* | i[3456]86-*-freebsd[12].* | i[3456]86-*-freebsd*aout* | i[3456]86-*-netbsd*) # The new BSD `make' has a bug: it doesn't pass empty arguments in # shell commands. So we need to make this value non-empty in order # for the genscripts.sh call to work. There's nothing magic about # the value `/lib'; it's just a dummy. NATIVE_LIB_DIRS=/lib - # Older versions of gcc do not use a specs file. In those cases, - # gcc -print-file-name=specs will simply print specs. We create a - # dummy specs files to handle this. - echo "-dynamic-linker /usr/libexec/ld-elf.so.1" > specs - HOSTING_CRT0='-dynamic-linker `egrep "ld[^ ]*\.so" \`${CC} --print-file-name=specs\` | sed -e "s,.*-dynamic-linker[ ][ ]*\(.*/ld[^ ]*.so..\).*,\1,"` `${CC} --print-file-name=crt1.o` `${CC} --print-file-name=crti.o` `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; else ${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` -L`dirname \`${CC} --print-file-name=libc.so\`` -lc `if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi` `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} --print-file-name=crtend.o; fi` `${CC} --print-file-name=crtn.o`' + HOSTING_CRT0=/usr/lib/crt0.o ;; -i[3456]86-*-bsd* | i[3456]86-*-freebsd* | i[3456]86-*-netbsd*) +i[3456]86-*-freebsd*) # The new BSD `make' has a bug: it doesn't pass empty arguments in # shell commands. So we need to make this value non-empty in order # for the genscripts.sh call to work. There's nothing magic about # the value `/lib'; it's just a dummy. NATIVE_LIB_DIRS=/lib - HOSTING_CRT0=/usr/lib/crt0.o + # Older versions of gcc do not use a specs file. In those cases, + # gcc -print-file-name=specs will simply print specs. We create a + # dummy specs files to handle this. + echo "-dynamic-linker /usr/libexec/ld-elf.so.1" > specs + HOSTING_CRT0='/usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtbegin.o' + HOSTING_LIBS='/usr/lib/libgcc.a /usr/lib/libc.so /usr/lib/libgcc.a /usr/lib/crtend.o /usr/lib/crtn.o' ;; i[3456]86-*-sysv4*) @@ -188,6 +200,11 @@ m88*-motorola-sysv3) HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi` -lc `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} -print-file-name=crtend.o; fi` `if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi`' ;; +powerpc*-*-freebsd*) + HOSTING_CRT0=/usr/lib/crt1.o + NATIVE_LIB_DIRS=/usr/lib + ;; + powerpc*-*-linux-gnu*) HOSTING_CRT0='-dynamic-linker /lib/ld.so.1 /usr/lib/crt1.o /usr/lib/crti.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; else ${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 ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} --print-file-name=crtend.o; fi` /usr/lib/crtn.o' @@ -197,6 +214,11 @@ romp-*-*) HDEFINES=-DNO_VARARGS ;; +sparc*-*-freebsd*) + HOSTING_CRT0=/usr/lib/crt1.o + NATIVE_LIB_DIRS=/usr/lib + ;; + sparc*-*-solaris2*) HOSTING_CRT0='`if [ -f ../gcc/crt1.o ]; then echo ../gcc/crt1.o; else ${CC} -print-file-name=crt1.o; fi` `if [ -f ../gcc/crti.o ]; then echo ../gcc/crti.o; else ${CC} -print-file-name=crti.o; fi` /usr/ccs/lib/values-Xa.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; else ${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/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} -print-file-name=crtend.o; fi` `if [ -f ../gcc/crtn.o ]; then echo ../gcc/crtn.o; else ${CC} -print-file-name=crtn.o; fi`' |