diff options
author | clm <clm@138bc75d-0d04-0410-961f-82ee72b054a4> | 1998-12-07 09:15:34 +0000 |
---|---|---|
committer | clm <clm@138bc75d-0d04-0410-961f-82ee72b054a4> | 1998-12-07 09:15:34 +0000 |
commit | a8e7237a85ccfeef6c9c3ccece0024e5b34d3c05 (patch) | |
tree | 647a3224da3c3ff837edeb41b4a36aebefb53a67 | |
parent | 15494e01324dc83a573904fbaab5870b5b27da97 (diff) | |
download | gcc-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/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/config/arm/ecos-elf.h | 29 | ||||
-rw-r--r-- | gcc/config/arm/elf.h | 6 | ||||
-rw-r--r-- | gcc/config/arm/unknown-elf.h | 2 | ||||
-rwxr-xr-x | gcc/configure | 4 | ||||
-rw-r--r-- | gcc/configure.in | 4 |
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 |