diff options
author | Richard Henderson <rth@cygnus.com> | 1997-08-27 16:02:19 -0700 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1997-08-27 16:02:19 -0700 |
commit | 704a63062fc3ffa46721d0bf5332bd11d1c281ee (patch) | |
tree | c337bb8714a610481bba532beabda27a93984978 /gcc | |
parent | f345de42fc8437a8742aa40cf865de357b21e37f (diff) | |
download | gcc-704a63062fc3ffa46721d0bf5332bd11d1c281ee.tar.gz |
Patch from Richard Henderson to fix alpha-linux support.
* alpha/elf.h (LINK_SPEC): Conditionalize on USE_GNULIBC_1.
* config.guess: Recognize alpha-linux-gnulibc1.
* configure.in (alpha-*-linux-gnulibc1): New target.
(alpha-*-linux-gnu*): Don't build crtbegin/end.
From-SVN: r14974
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rwxr-xr-x | gcc/config.guess | 15 | ||||
-rw-r--r-- | gcc/config/alpha/elf.h | 10 | ||||
-rw-r--r-- | gcc/configure.in | 14 |
4 files changed, 40 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 93a2c91b263..281d6fa6ce3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +Wed Aug 27 15:49:12 1997 Richard Henderson <rth@cygnus.com> + + * alpha/elf.h (LINK_SPEC): Conditionalize on USE_GNULIBC_1. + * config.guess: Recognize alpha-linux-gnulibc1. + * configure.in (alpha-*-linux-gnulibc1): New target. + (alpha-*-linux-gnu*): Don't build crtbegin/end. + Wed Aug 27 11:52:58 1997 Jim Wilson <wilson@cygnus.com> * m68k.md (iorsi3_internal): Readd ! TARGET_5200 check lost in diff --git a/gcc/config.guess b/gcc/config.guess index ee2742b9e0a..1448103304d 100755 --- a/gcc/config.guess +++ b/gcc/config.guess @@ -506,6 +506,7 @@ EOF ret \$31,(\$26),1 .end main EOF + LIBC="" ${CC-cc} dummy.s -o dummy 2>/dev/null if test "$?" = 0 ; then ./dummy @@ -516,10 +517,16 @@ EOF 2) UNAME_MACHINE="alphaev56" ;; - esac - fi - rm -f dummy.s dummy - echo ${UNAME_MACHINE}-unknown-linux-gnu ; exit 0 + esac + + objdump --private-headers dummy | \ + grep ld.so.1 > /dev/null + if test "$?" = 0 ; then + LIBC="libc1" + fi + fi + rm -f dummy.s dummy + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0 elif test "${UNAME_MACHINE}" = "mips" ; then cat >dummy.c <<EOF main(argc, argv) diff --git a/gcc/config/alpha/elf.h b/gcc/config/alpha/elf.h index 0506b59aa80..63c9f1ba864 100644 --- a/gcc/config/alpha/elf.h +++ b/gcc/config/alpha/elf.h @@ -39,6 +39,15 @@ Currently only Linux uses this. */ -Asystem(linux) -Acpu(alpha) -Amachine(alpha) -D__ELF__" #undef LINK_SPEC +#ifdef USE_GNULIBC_1 +#define LINK_SPEC "-m elf64alpha -G 8 %{O*:-O3} %{!O*:-O1} \ + %{shared:-shared} \ + %{!shared: \ + %{!static: \ + %{rdynamic:-export-dynamic} \ + %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \ + %{static:-static}}" +#else #define LINK_SPEC "-m elf64alpha -G 8 %{O*:-O3} %{!O*:-O1} \ %{shared:-shared} \ %{!shared: \ @@ -46,6 +55,7 @@ Currently only Linux uses this. */ %{rdynamic:-export-dynamic} \ %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \ %{static:-static}}" +#endif /* Output at beginning of assembler file. */ diff --git a/gcc/configure.in b/gcc/configure.in index 510018b93a1..c99c7be48f5 100644 --- a/gcc/configure.in +++ b/gcc/configure.in @@ -273,15 +273,25 @@ for machine in $build $host $target; do fixincludes=Makefile.in gas=yes gnu_ld=yes ;; + alpha*-*-linux-gnulibc1*) + tm_file="${tm_file} alpha/linux.h alpha/elf.h" + xm_file="${xm_file} alpha/xm-linux.h" + target_cpu_default="MASK_GAS" + tmake_file="t-linux t-linux-gnulibc1 alpha/t-linux" + xmake_file=none + fixincludes=Makefile.in + gas=yes gnu_ld=yes + if [[ x$enable_threads = xyes ]]; then + thread_file='posix' + fi + ;; alpha*-*-linux-gnu*) tm_file="${tm_file} alpha/linux.h alpha/elf.h" xm_file="${xm_file} alpha/xm-linux.h" target_cpu_default="MASK_GAS" - gas=no tmake_file="t-linux alpha/t-linux" xmake_file=none fixincludes=Makefile.in - extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o" gas=yes gnu_ld=yes if [[ x$enable_threads = xyes ]]; then thread_file='posix' |