diff options
author | Eric Christopher <echristo@redhat.com> | 2005-07-13 18:15:43 +0000 |
---|---|---|
committer | Eric Christopher <echristo@gcc.gnu.org> | 2005-07-13 18:15:43 +0000 |
commit | a8ba31f25dcd8579cb2d004c18c2add2407fb8ba (patch) | |
tree | a13c4da74ac36abdea83ba12425e0a187b227295 /gcc | |
parent | 042216f779e759cde93d77217e0587b895c1e17d (diff) | |
download | gcc-a8ba31f25dcd8579cb2d004c18c2add2407fb8ba.zip gcc-a8ba31f25dcd8579cb2d004c18c2add2407fb8ba.tar.gz gcc-a8ba31f25dcd8579cb2d004c18c2add2407fb8ba.tar.bz2 |
configure.in: Add toplevel noconfigdir support for tpf.
2005-07-13 Eric Christopher <echristo@redhat.com>
* configure.in: Add toplevel noconfigdir support for tpf.
* configure: Regenerate.
2005-07-13 Eric Christopher <echristo@redhat.com>
* config.gcc (s390x-ibm-tpf*): Add extra_options. Remove
static extra parts.
* config/s390/s390.md: Include tpf.md. Move tpf specific
patterns...
* config/s390/tpf.md: To here.
* config/s390/s390.opt: Move tpf specific options...
* config/s390/tpf.opt: to here. Add mmain option.
* config/s390/tpf-unwind.h: Remove unnecessary defines.
* config/s390/tpf.h: Rewrite.
From-SVN: r101982
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 24 | ||||
-rw-r--r-- | gcc/config.gcc | 17 | ||||
-rw-r--r-- | gcc/config/s390/s390.md | 16 | ||||
-rw-r--r-- | gcc/config/s390/s390.opt | 4 | ||||
-rw-r--r-- | gcc/config/s390/tpf-unwind.h | 4 | ||||
-rw-r--r-- | gcc/config/s390/tpf.h | 63 | ||||
-rw-r--r-- | gcc/config/s390/tpf.md | 34 | ||||
-rw-r--r-- | gcc/config/s390/tpf.opt | 28 |
8 files changed, 133 insertions, 57 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6465670..42d34f4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,15 @@ +2005-07-13 Eric Christopher <echristo@redhat.com> + + * config.gcc (s390x-ibm-tpf*): Add extra_options. Remove + static extra parts. + * config/s390/s390.md: Include tpf.md. Move tpf specific + patterns... + * config/s390/tpf.md: To here. + * config/s390/s390.opt: Move tpf specific options... + * config/s390/tpf.opt: to here. Add mmain option. + * config/s390/tpf-unwind.h: Remove unnecessary defines. + * config/s390/tpf.h: Rewrite. + 2005-07-13 H.J. Lu <hongjiu.lu@intel.com> * doc/tm.texi: Remove @xref{Cross-profiling}. @@ -122,6 +134,18 @@ 2005-07-12 Eric Christopher <echristo@redhat.com> + * config.gcc (s390x-ibm-tpf*): Add extra_options. Remove + static extra parts. + * config/s390/s390.md: Include tpf.md. Move tpf specific + patterns... + * config/s390/tpf.md: To here. + * config/s390/s390.opt: Move tpf specific options... + * config/s390/tpf.opt: to here. Add mmain option. + * config/s390/tpf-unwind.h: Remove unnecessary defines. + * config/s390/tpf.h: Rewrite. + +2005-07-12 Eric Christopher <echristo@redhat.com> + * gcc.c (struct infile): Update comment for language. (main): Rewrite input file resetting code. diff --git a/gcc/config.gcc b/gcc/config.gcc index 1754468..7fe3068 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -1820,14 +1820,15 @@ s390x-*-linux*) tmake_file="${tmake_file} s390/t-crtstuff s390/t-linux64" ;; s390x-ibm-tpf*) - tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h svr4.h s390/tpf.h" - tm_p_file=s390/s390-protos.h - md_file=s390/s390.md - extra_modes=s390/s390-modes.def - extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o" - out_file=s390/s390.c - tmake_file="t-slibgcc-elf-ver s390/t-crtstuff s390/t-tpf" - thread_file='tpf' + tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h svr4.h s390/tpf.h" + tm_p_file=s390/s390-protos.h + md_file=s390/s390.md + extra_modes=s390/s390-modes.def + out_file=s390/s390.c + extra_parts="crtbeginS.o crtendS.o" + tmake_file="s390/t-crtstuff s390/t-tpf" + thread_file='tpf' + extra_options="${extra_options} s390/tpf.opt" ;; sh-*-elf* | sh[12346l]*-*-elf* | sh*-*-kaos* | \ sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \ diff --git a/gcc/config/s390/s390.md b/gcc/config/s390/s390.md index 6d8c107..92555c4 100644 --- a/gcc/config/s390/s390.md +++ b/gcc/config/s390/s390.md @@ -257,6 +257,8 @@ ;; Predicates (include "predicates.md") +;; Other includes +(include "tpf.md") ;; Macros @@ -7019,25 +7021,11 @@ "" "s390_emit_prologue (); DONE;") -(define_insn "prologue_tpf" - [(unspec_volatile [(const_int 0)] UNSPECV_TPF_PROLOGUE) - (clobber (reg:DI 1))] - "TARGET_TPF_PROFILING" - "larl\t%%r1,.+14\;tm\t4065,255\;bnz\t4064" - [(set_attr "length" "14")]) - (define_expand "epilogue" [(use (const_int 1))] "" "s390_emit_epilogue (false); DONE;") -(define_insn "epilogue_tpf" - [(unspec_volatile [(const_int 0)] UNSPECV_TPF_EPILOGUE) - (clobber (reg:DI 1))] - "TARGET_TPF_PROFILING" - "larl\t%%r1,.+14\;tm\t4071,255\;bnz\t4070" - [(set_attr "length" "14")]) - (define_expand "sibcall_epilogue" [(use (const_int 0))] "" diff --git a/gcc/config/s390/s390.opt b/gcc/config/s390/s390.opt index 22bbb79..d656786 100644 --- a/gcc/config/s390/s390.opt +++ b/gcc/config/s390/s390.opt @@ -71,10 +71,6 @@ mstack-size= Target RejectNegative Joined Emit extra code in the function prologue in order to trap if the stack size exceeds the given limit -mtpf-trace -Target Report Mask(TPF_PROFILING) -Enable tpf OS tracing code - mtune= Target RejectNegative Joined Schedule code for given CPU diff --git a/gcc/config/s390/tpf-unwind.h b/gcc/config/s390/tpf-unwind.h index 6006006..87b6892 100644 --- a/gcc/config/s390/tpf-unwind.h +++ b/gcc/config/s390/tpf-unwind.h @@ -28,11 +28,7 @@ along with GCC; see the file COPYING. If not, write to the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -#define __USE_GNU 1 -#define _GNU_SOURCE #include <dlfcn.h> -#undef __USE_GNU -#undef _GNU_SOURCE /* Function Name: __isPATrange Parameters passed into it: address to check diff --git a/gcc/config/s390/tpf.h b/gcc/config/s390/tpf.h index c1feaba..02fa8f2 100644 --- a/gcc/config/s390/tpf.h +++ b/gcc/config/s390/tpf.h @@ -33,8 +33,6 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA #define ASM_APP_OFF "#NO_APP\n" #define NO_IMPLICIT_EXTERN_C #define TARGET_POSIX_IO -#undef MD_EXEC_PREFIX -#undef MD_STARTFILE_PREFIX #undef SIZE_TYPE #define SIZE_TYPE ("long unsigned int") @@ -54,11 +52,12 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA #undef STACK_POINTER_OFFSET #define STACK_POINTER_OFFSET 448 -/* When building for TPF, set a generic default target that is 64 bits. - Also, enable TPF profiling support and the standard backchain by default. */ +/* When building for TPF, set a generic default target that is 64 bits. Also + enable TPF profiling support and the standard backchain by default. */ #undef TARGET_DEFAULT -#define TARGET_DEFAULT (MASK_64BIT | MASK_ZARCH | MASK_HARD_FLOAT \ - | MASK_TPF_PROFILING | MASK_BACKCHAIN) +#define TARGET_DEFAULT (MASK_TPF_PROFILING | MASK_64BIT | MASK_ZARCH \ + | MASK_HARD_FLOAT | MASK_BACKCHAIN) + /* Exception handling. */ /* Select a format to encode pointers in exception handling data. */ @@ -82,45 +81,55 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA while (0) +#define EXTRA_SPECS \ + { "entry_spec", ENTRY_SPEC } + /* Make TPF specific spec file settings here. */ -#undef STARTFILE_SPEC +#undef STARTFILE_SPEC #define STARTFILE_SPEC \ - "%{!shared: \ - %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \ - %{!p:%{profile:gcrt1.o%s} \ - %{!profile:crt1.o%s}}}} \ - crti.o%s %{static:crtbeginT.o%s} \ - %{!static:%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}}" + "%{mmain:crt0%O%s} crtbeginS%O%s crt3%O%s" + +#undef ENDFILE_SPEC +#define ENDFILE_SPEC "crtendS%O%s" -#undef ENDFILE_SPEC -#define ENDFILE_SPEC \ - "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s" +#undef CC1_SPEC +#define CC1_SPEC "%{!fverbose-asm: -fverbose-asm}" /* The GNU C++ standard library requires that these macros be defined. */ #undef CPLUSPLUS_CPP_SPEC #define CPLUSPLUS_CPP_SPEC "-D_GNU_SOURCE %(cpp)" -#undef ASM_SPEC -#define ASM_SPEC "%{m31&m64}%{mesa&mzarch}%{march=*}" +#undef ASM_SPEC +#define ASM_SPEC "%{m31&m64}%{mesa&mzarch}%{march=*} \ + -alshd=%b.lst" -#undef LIB_SPEC -#define LIB_SPEC "%{pthread:-lpthread} -lc" +/* It would be nice to get the system linker script define the ones that it + needed. */ +#undef LIB_SPEC +#define LIB_SPEC "-lCTIS -lCISO -lCLBM -lCTAL -lCFVS -lCTBX -lCTXO \ + -lCJ00 -lCTDF -lCOMX -lCOMS -lCTHD -lCTAD -lTPFSTUB" #undef TARGET_C99_FUNCTIONS #define TARGET_C99_FUNCTIONS 1 +#define ENTRY_SPEC "%{mmain:-entry=_start} \ + %{!mmain:-entry=0}" + +/* All linking is done shared on TPF-OS. */ +/* FIXME: When binutils patch for new emulation is committed + then change emulation to elf64_s390_tpf. */ #undef LINK_SPEC #define LINK_SPEC \ "-m elf64_s390 \ - %{shared:-shared} \ - %{!shared: \ - %{static:-static} \ - %{!static: \ - %{rdynamic:-export-dynamic} \ - %{!dynamic-linker:-dynamic-linker /lib/ld64.so}}}" + %{static:%estatic is not supported on TPF-OS} \ + %{shared: -shared} \ + %{!shared:-shared} \ + %(entry_spec)" #define MD_UNWIND_SUPPORT "config/s390/tpf-unwind.h" +/* IBM copies these libraries over with these names. */ +#define MATH_LIBRARY "-lCLBM" +#define LIBSTDCXX "-lCPP1" #endif /* ! _TPF_H */ - diff --git a/gcc/config/s390/tpf.md b/gcc/config/s390/tpf.md new file mode 100644 index 0000000..87a2616 --- /dev/null +++ b/gcc/config/s390/tpf.md @@ -0,0 +1,34 @@ +;; S390 TPF-OS specific machine patterns +;; Copyright (C) 2005 Free Software Foundation, Inc. +;; +;; This file is part of GCC. +;; +;; GCC 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. +;; +;; GCC 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 GCC; see the file COPYING. If not, write to +;; the Free Software Foundation, 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. + +(define_insn "prologue_tpf" + [(unspec_volatile [(const_int 0)] UNSPECV_TPF_PROLOGUE) + (clobber (reg:DI 1))] + "TARGET_TPF_PROFILING" + "larl\t%%r1,.+14\;tm\t4065,255\;bnz\t4064" + [(set_attr "length" "14")]) + + +(define_insn "epilogue_tpf" + [(unspec_volatile [(const_int 0)] UNSPECV_TPF_EPILOGUE) + (clobber (reg:DI 1))] + "TARGET_TPF_PROFILING" + "larl\t%%r1,.+14\;tm\t4071,255\;bnz\t4070" + [(set_attr "length" "14")]) diff --git a/gcc/config/s390/tpf.opt b/gcc/config/s390/tpf.opt new file mode 100644 index 0000000..7f12402 --- /dev/null +++ b/gcc/config/s390/tpf.opt @@ -0,0 +1,28 @@ +; Options for the TPF-OS port of the compiler. + +; Copyright (C) 2005 Free Software Foundation, Inc. +; +; This file is part of GCC. +; +; GCC 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. +; +; GCC 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 GCC; see the file COPYING. If not, write to the Free +; Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA +; 02110-1301, USA. + +mtpf-trace +Target Report Mask(TPF_PROFILING) +Enable TPF-OS tracing code + +mmain +Target Report +Specify main object for TPF-OS |