summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorclm <clm@138bc75d-0d04-0410-961f-82ee72b054a4>1998-12-07 09:15:34 +0000
committerclm <clm@138bc75d-0d04-0410-961f-82ee72b054a4>1998-12-07 09:15:34 +0000
commita8e7237a85ccfeef6c9c3ccece0024e5b34d3c05 (patch)
tree647a3224da3c3ff837edeb41b4a36aebefb53a67
parent15494e01324dc83a573904fbaab5870b5b27da97 (diff)
downloadgcc-a8e7237a85ccfeef6c9c3ccece0024e5b34d3c05.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24145 138bc75d-0d04-0410-961f-82ee72b054a4
-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 6ecc632b252..0fb314c4367 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 00000000000..9fdc64ae6cd
--- /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 a8aaf76d2e7..28af933ef09 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 5d173cfd9ff..be8da817571 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 11d4c820404..d2a998cf01f 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 0a3250494f2..cbde7ebbb10 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