diff options
author | YamaArashi <shadow962@live.com> | 2016-01-06 01:47:28 -0800 |
---|---|---|
committer | YamaArashi <shadow962@live.com> | 2016-01-06 01:47:28 -0800 |
commit | be8b04496302184c6e8f04d6179f9c3afc50aeb6 (patch) | |
tree | 726e2468c0c07add773c0dbd86ab6386844259ae /gcc/config/pa/pa-hpux11.h |
initial commit
Diffstat (limited to 'gcc/config/pa/pa-hpux11.h')
-rwxr-xr-x | gcc/config/pa/pa-hpux11.h | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/gcc/config/pa/pa-hpux11.h b/gcc/config/pa/pa-hpux11.h new file mode 100755 index 0000000..2959c5c --- /dev/null +++ b/gcc/config/pa/pa-hpux11.h @@ -0,0 +1,98 @@ +/* CYGNUS LOCAL entire file hpux11/law */ +/* Definitions of target machine for GNU compiler, for HP PA-RISC 1.1 + 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 GNU CC; see the file COPYING. If not, write to +the Free Software Foundation, 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ + +/* We can debug dynamically linked executables on hpux11; we also + want dereferencing of a NULL pointer to cause a SEGV. */ +#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 +#define LINK_SPEC \ + "-z %{mlinker-opt:-O} %{!shared:-u main} %{static:-a archive} %{shared:-b}" +#endif + +/* Like the default, except no -lg. */ +#undef LIB_SPEC +#define LIB_SPEC \ + "%{!shared:\ + %{!p:\ + %{!pg:\ + %{!threads:-lc}\ + %{threads:-lcma -lc_r}}\ + %{p: -L/lib/libp/ -lc}\ + %{pg: -L/lib/libp/ -lc}}}" + +/* The hpux11 assembler requires a .LEVEL pseudo-op at the start of the + assembly file. */ +#undef ASM_FILE_START +#define ASM_FILE_START(FILE) \ +do { \ + /* CYGNUS LOCAL pa8000/law */ \ + if (TARGET_PARISC_2_0) \ + fputs("\t.LEVEL 2.0\n", FILE); \ + else if (TARGET_SNAKE) \ + fputs("\t.LEVEL 1.1\n", FILE); \ + else \ + fputs("\t.LEVEL 1.0\n", FILE); \ + /* END CYGNUS LOCAL */ \ + fputs ("\t.SPACE $PRIVATE$\n\ +\t.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31\n\ +\t.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82\n\ +\t.SPACE $TEXT$\n\ +\t.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44\n\ +\t.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY\n\ +\t.IMPORT $global$,DATA\n\ +\t.IMPORT $$dyncall,MILLICODE\n", FILE);\ + if (profile_flag)\ + fprintf (FILE, "\t.IMPORT _mcount, CODE\n");\ + if (write_symbols != NO_DEBUG) \ + output_file_directive ((FILE), main_input_filename); \ + } while (0) + +/* Under hpux11, the normal location of the `ld' and `as' programs is the + /usr/ccs/bin directory. */ + +#ifndef CROSS_COMPILE +#undef MD_EXEC_PREFIX +#define MD_EXEC_PREFIX "/usr/ccs/bin/" +#endif + +/* Under hpux11 the normal location of the various *crt*.o files is the + /usr/ccs/lib directory. */ + +#ifndef CROSS_COMPILE +#undef MD_STARTFILE_PREFIX +#define MD_STARTFILE_PREFIX "/usr/ccs/lib/" +#endif + +/* hpux11 has the new HP assembler. It's still lousy, but it's a whole lot + better than the assembler shipped with older versions of hpux. */ +#define NEW_HP_ASSEMBLER + +/* Make GCC agree with types.h. */ +#undef SIZE_TYPE +#undef PTRDIFF_TYPE + +#define SIZE_TYPE "long unsigned int" +#define PTRDIFF_TYPE "long int" + +/* END CYGNUS LOCAL */ |