8sa1-gcc/gcc/config/pa/pa-hpux9.h

32 lines
1.3 KiB
C
Raw Normal View History

1995-02-24 19:15:36 -05:00
/* Definitions of target machine for GNU compiler, for HP PA-RISC 1.1
Copyright (C) 1995, 1996 Free Software Foundation, Inc.
1995-02-24 19:15:36 -05:00
Contributed by Tim Moore (moore@defmacro.cs.utah.edu)
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 GNU CC; see the file COPYING. If not, write to
1995-06-15 15:44:43 -04:00
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
1995-02-24 19:15:36 -05:00
pa.h (ASM_OUTPUT_EXTERNAL): Don't let assemble_name clobber the value of TREE_SYMBOL_REFERENCED. * pa.h (ASM_OUTPUT_EXTERNAL): Don't let assemble_name clobber the value of TREE_SYMBOL_REFERENCED. * pa-ghpux9.h (LINK_SPEC): Pass "-z" to the linker to enable trap on null pointer dereference for programs built on hpux9. * pa-hpux9.h, pa1-ghpux9.h, pa1-hpux9.h: Likewise. * pa.c (output_function_prologue): No longer need to keep track of the total number code bytes when TARGET_GAS && not TARGET_PORTABLE_RUNTIME. * pa.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Use .NSUBSPA when not TARGET_PORTABLE_RUNTIME. (ASM_OUTPUT_FUNCTION_PREFIX): Define. Prefix functions with .NSUBSPA when TARGET_GAS and not TARGET_PORTABLE_RUNTIME. * pa.md (symbolic high patterns): Use 'H' to print the symbolic address so that the constant part gets rounded. * pa.c (print_operand): Handle 'H' operand for high part of a symbolic address with a rounded constant. (output_global_address): New argument "rounded_constant". All callers changed appropriately. * x-pa-hpux (FIXPROTO_DEFINES): Add -D_HPUX_SOURCE. * pa.h (CPP_SPEC): Only pass -D_HPUX_SOURCE and -D_HIUX_SOURCE if -ansi is not present. (CPP_PREDEFINES): Remove -D_HPUX_SOURCE and/or -D_HIUX_SOURCE. * pa-ghiux.h (CPP_PREDEFINES): Likewise. * pa-gux7.h (CPP_PREDEFINES): Likewise. * pa-hiux.h (CPP_PREDEFINES): Likewise. * pa-hpux.h (CPP_PREDEFINES): Likewise. * pa-hpux7.h (CPP_PREDEFINES): Likewise. * pa1-ghiux.h (CPP_PREDEFINES): Likewise. * pa1-hiux.h (CPP_PREDEFINES): Likewise. * pa-hpux.h (LINK_SPEC): If -mlinker-opt, then pass -O to the linker. * pa-ghpux.h, pa-hpux9.h, pa-ghpux9.h: Likewise. * pa1-ghpux9.h, pa1-hpux9.h: Likewise. * pa.h (LINK_SPEC): Likewise. (TARGET_SWITCHES): Add -mlinker-opt. * pa.md (all peepholes): Disable if TARGET_SOFT_FLOAT. * pa.c (pa_reorg): If TARGET_GAS, then emit insns to mark the beginning and end of the branch table. * pa.md (begin_brtab): New insn. Just a marker so GCC knows where to put the .begin_brtab pseudo-op. (end_brtab): Similarly. * pa.h (EXTRA_SECTIONS): Add in_ctors and in_dtors if CTORS_SECTION_FUNCTION is defined. Else define dummy versions of CTORS_SECTION_FUNCTION and DTORS_SECTION_FUNCTION. (EXTRA_SECTION_FUNCTIONS): Add CTORS_SECTION_FUNCTION and DTORS_SECTION_FUNCTION. * pa.md: Add peepholes to improve spill code generated by reload when we run out of FP registers. From-SVN: r10612
1995-11-27 03:31:46 -05:00
/* We can debug dynamically linked executables on hpux9; we also want
derefercing of a NULL pointer to cause a SEGV. */
1995-02-24 19:15:36 -05:00
#undef LINK_SPEC
#if ((TARGET_DEFAULT | TARGET_CPU_DEFAULT) & 1)
#define LINK_SPEC \
"%{!mpa-risc-1-0:%{!shared:-L/lib/pa1.1 -L/usr/lib/pa1.1 }} -z %{mlinker-opt:-O} %{!shared:-u main} %{static:-a archive} %{shared:-b}"
#else
1995-02-24 19:15:36 -05:00
#define LINK_SPEC \
pa.h (ASM_OUTPUT_EXTERNAL): Don't let assemble_name clobber the value of TREE_SYMBOL_REFERENCED. * pa.h (ASM_OUTPUT_EXTERNAL): Don't let assemble_name clobber the value of TREE_SYMBOL_REFERENCED. * pa-ghpux9.h (LINK_SPEC): Pass "-z" to the linker to enable trap on null pointer dereference for programs built on hpux9. * pa-hpux9.h, pa1-ghpux9.h, pa1-hpux9.h: Likewise. * pa.c (output_function_prologue): No longer need to keep track of the total number code bytes when TARGET_GAS && not TARGET_PORTABLE_RUNTIME. * pa.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Use .NSUBSPA when not TARGET_PORTABLE_RUNTIME. (ASM_OUTPUT_FUNCTION_PREFIX): Define. Prefix functions with .NSUBSPA when TARGET_GAS and not TARGET_PORTABLE_RUNTIME. * pa.md (symbolic high patterns): Use 'H' to print the symbolic address so that the constant part gets rounded. * pa.c (print_operand): Handle 'H' operand for high part of a symbolic address with a rounded constant. (output_global_address): New argument "rounded_constant". All callers changed appropriately. * x-pa-hpux (FIXPROTO_DEFINES): Add -D_HPUX_SOURCE. * pa.h (CPP_SPEC): Only pass -D_HPUX_SOURCE and -D_HIUX_SOURCE if -ansi is not present. (CPP_PREDEFINES): Remove -D_HPUX_SOURCE and/or -D_HIUX_SOURCE. * pa-ghiux.h (CPP_PREDEFINES): Likewise. * pa-gux7.h (CPP_PREDEFINES): Likewise. * pa-hiux.h (CPP_PREDEFINES): Likewise. * pa-hpux.h (CPP_PREDEFINES): Likewise. * pa-hpux7.h (CPP_PREDEFINES): Likewise. * pa1-ghiux.h (CPP_PREDEFINES): Likewise. * pa1-hiux.h (CPP_PREDEFINES): Likewise. * pa-hpux.h (LINK_SPEC): If -mlinker-opt, then pass -O to the linker. * pa-ghpux.h, pa-hpux9.h, pa-ghpux9.h: Likewise. * pa1-ghpux9.h, pa1-hpux9.h: Likewise. * pa.h (LINK_SPEC): Likewise. (TARGET_SWITCHES): Add -mlinker-opt. * pa.md (all peepholes): Disable if TARGET_SOFT_FLOAT. * pa.c (pa_reorg): If TARGET_GAS, then emit insns to mark the beginning and end of the branch table. * pa.md (begin_brtab): New insn. Just a marker so GCC knows where to put the .begin_brtab pseudo-op. (end_brtab): Similarly. * pa.h (EXTRA_SECTIONS): Add in_ctors and in_dtors if CTORS_SECTION_FUNCTION is defined. Else define dummy versions of CTORS_SECTION_FUNCTION and DTORS_SECTION_FUNCTION. (EXTRA_SECTION_FUNCTIONS): Add CTORS_SECTION_FUNCTION and DTORS_SECTION_FUNCTION. * pa.md: Add peepholes to improve spill code generated by reload when we run out of FP registers. From-SVN: r10612
1995-11-27 03:31:46 -05:00
"-z %{mlinker-opt:-O} %{!shared:-u main} %{static:-a archive} %{shared:-b}"
#endif