summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>1997-08-27 16:02:19 -0700
committerJim Wilson <wilson@gcc.gnu.org>1997-08-27 16:02:19 -0700
commit704a63062fc3ffa46721d0bf5332bd11d1c281ee (patch)
treec337bb8714a610481bba532beabda27a93984978 /gcc
parentf345de42fc8437a8742aa40cf865de357b21e37f (diff)
downloadgcc-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/ChangeLog7
-rwxr-xr-xgcc/config.guess15
-rw-r--r--gcc/config/alpha/elf.h10
-rw-r--r--gcc/configure.in14
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'