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

27 lines
1.1 KiB
C
Raw Normal View History

1993-10-30 17:19:15 -04:00
/* Definitions of target machine for GNU compiler, for HI-UX.
Copyright (C) 1993, 1995, 1996 Free Software Foundation, Inc.
1993-10-30 17:19:15 -04:00
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. */
1993-10-30 17:19:15 -04:00
/* HIUX is just a HPUX variant. We can simply use the HPUX configuration
for just about everything. */
1993-10-30 17:19:15 -04:00
/* Predefines are the one noteworthy difference between HPUX and HIUX. */
1993-10-30 17:19:15 -04:00
#undef CPP_PREDEFINES
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
#define CPP_PREDEFINES "-Dhppa -DPWB -Dunix -D__H3050R -D__H3050RX -Asystem(unix) -Asystem(hiux) -Acpu(hppa) -Amachine(hppa)"