aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorCatherine Moore <clm@cygnus.com>1998-12-07 09:15:34 +0000
committerCatherine Moore <clm@gcc.gnu.org>1998-12-07 04:15:34 -0500
commite6592fffc4ca720e306362c20c595dfe540f4696 (patch)
tree647a3224da3c3ff837edeb41b4a36aebefb53a67 /gcc
parent1a953d0f164569382e9f6704aa0a7f6f2bdc5579 (diff)
downloadgcc-e6592fffc4ca720e306362c20c595dfe540f4696.zip
gcc-e6592fffc4ca720e306362c20c595dfe540f4696.tar.gz
gcc-e6592fffc4ca720e306362c20c595dfe540f4696.tar.bz2
configure.in: (arm*-*-ecos-elf): New target.
Mon Dec 7 09:58:26 1998 Catherine Moore <clm@cygnus.com> * configure.in: (arm*-*-ecos-elf): New target. * configure: Regenerated. * config/arm/elf.h (ASM_WEAKEN_LABEL): Define. * config/arm/ecos-elf.h: New file. * config/arm/unknown-elf.h (TARGET_VERSION): Check for redefinition. From-SVN: r24145
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/config/arm/ecos-elf.h29
-rw-r--r--gcc/config/arm/elf.h6
-rw-r--r--gcc/config/arm/unknown-elf.h2
-rwxr-xr-xgcc/configure4
-rw-r--r--gcc/configure.in4
6 files changed, 54 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6ecc632..0fb314c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,12 @@
+Mon Dec 7 11:04:40 1998 Catherine Moore <clm@cygnus.com>
+
+ * configure.in: (arm*-*-ecos-elf): New target.
+ * configure: Regenerated.
+ * config/arm/elf.h (ASM_WEAKEN_LABEL): Define.
+ * config/arm/ecos-elf.h: New file.
+ * config/arm/unknown-elf.h (TARGET_VERSION): Check
+ for redefinition.
+
Mon Dec 7 16:15:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
* sh.c (output_far_jump): Emit braf only for TARGET_SH2.
diff --git a/gcc/config/arm/ecos-elf.h b/gcc/config/arm/ecos-elf.h
new file mode 100644
index 0000000..9fdc64a
--- /dev/null
+++ b/gcc/config/arm/ecos-elf.h
@@ -0,0 +1,29 @@
+/* Definitions for ecos based ARM systems using ELF
+ Copyright (C) 1998 Free Software Foundation, Inc.
+
+This file is part of GNU CC.
+
+GNU CC is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU CC is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; see the file COPYING. If not, write to
+the Free Software Foundation, 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA. */
+
+/* Run-time Target Specification. */
+#define TARGET_VERSION fputs (" (ARM/ELF Ecos)", stderr);
+
+#define HAS_INIT_SECTION
+
+#include "unknown-elf.h"
+
+#undef INVOKE_main
+
diff --git a/gcc/config/arm/elf.h b/gcc/config/arm/elf.h
index a8aaf76..28af933 100644
--- a/gcc/config/arm/elf.h
+++ b/gcc/config/arm/elf.h
@@ -325,6 +325,12 @@ do { \
} while (0)
#endif
+/* This is how we tell the assembler that a symbol is weak. */
+
+#define ASM_WEAKEN_LABEL(FILE,NAME) \
+ do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \
+ fputc ('\n', FILE); } while (0)
+
#include "arm/aout.h"
diff --git a/gcc/config/arm/unknown-elf.h b/gcc/config/arm/unknown-elf.h
index 5d173cf..be8da81 100644
--- a/gcc/config/arm/unknown-elf.h
+++ b/gcc/config/arm/unknown-elf.h
@@ -20,7 +20,9 @@ the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
/* Run-time Target Specification. */
+#ifndef TARGET_VERSION
#define TARGET_VERSION fputs (" (ARM/ELF non-Linux)", stderr);
+#endif
/* If you don't define HAVE_ATEXIT, and the object file format/OS/whatever
does not support constructors/destructors, then gcc implements destructors
diff --git a/gcc/configure b/gcc/configure
index 11d4c82..d2a998c 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -3001,6 +3001,10 @@ for machine in $build $host $target; do
tm_file=arm/aout.h
tmake_file=arm/t-bare
;;
+ arm*-*-ecos-elf)
+ tm_file=arm/ecos-elf.h
+ tmake_file=arm/t-elf
+ ;;
arm*-*-elf)
tm_file=arm/unknown-elf.h
tmake_file=arm/t-arm-elf
diff --git a/gcc/configure.in b/gcc/configure.in
index 0a32504..cbde7eb 100644
--- a/gcc/configure.in
+++ b/gcc/configure.in
@@ -714,6 +714,10 @@ changequote([,])dnl
tm_file=arm/aout.h
tmake_file=arm/t-bare
;;
+ arm*-*-ecos-elf)
+ tm_file=arm/ecos-elf.h
+ tmake_file=arm/t-elf
+ ;;
arm*-*-elf)
tm_file=arm/unknown-elf.h
tmake_file=arm/t-arm-elf