configure.in (hppa*-*-*): Add som.h or elf.h to tm_file as appropriate.
* configure.in (hppa*-*-*): Add som.h or elf.h to tm_file as appropriate. * configure: Rebuilt. (hppa1.1-*-pro*, hppa1.1-*-rtems*): Define target_cpu_default. * pa.h: Include dbxelf.h. Delete various dbx/stabs related definitions made redundant by dbxelf.h inclusion. Delete lots of definitions related to assembly output that are specific to the SOM object format. * pa.c (output_function_prologue): Do not emit the function's name for OBJ_ELF. * pa-pro-end.h (STARTFILE_SPEC): Undefine before redefining. * pa-pro.h: Deleted. * som.h: New file with SOM specific definitions. * elf.h: New file with ELF specific definitions. From-SVN: r27846
This commit is contained in:
parent
c7a159aa2f
commit
0d381b4757
9 changed files with 685 additions and 685 deletions
|
@ -1,5 +1,20 @@
|
|||
Wed Jun 30 03:31:54 1999 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* configure.in (hppa*-*-*): Add som.h or elf.h to tm_file as
|
||||
appropriate.
|
||||
* configure: Rebuilt.
|
||||
(hppa1.1-*-pro*, hppa1.1-*-rtems*): Define target_cpu_default.
|
||||
* pa.h: Include dbxelf.h. Delete various dbx/stabs related
|
||||
definitions made redundant by dbxelf.h inclusion. Delete
|
||||
lots of definitions related to assembly output that are
|
||||
specific to the SOM object format.
|
||||
* pa.c (output_function_prologue): Do not emit the function's
|
||||
name for OBJ_ELF.
|
||||
* pa-pro-end.h (STARTFILE_SPEC): Undefine before redefining.
|
||||
* pa-pro.h: Deleted.
|
||||
* som.h: New file with SOM specific definitions.
|
||||
* elf.h: New file with ELF specific definitions.
|
||||
|
||||
* elfos.h (const_section): Output a tab before assembler directives.
|
||||
(ctors_section, dtors_section): Likewise.
|
||||
(ASM_OUTPUT_SECTION_NAME): Likewise.
|
||||
|
|
43
gcc/config/pa/elf.h
Normal file
43
gcc/config/pa/elf.h
Normal file
|
@ -0,0 +1,43 @@
|
|||
/* Definitions for ELF assembler support.
|
||||
Copyright (C) 1999 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 1, 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. */
|
||||
|
||||
/* So we can conditionalize small amounts of code in pa.c or pa.md. */
|
||||
#define OBJ_ELF
|
||||
|
||||
/* Dummy definitions. We do not care about this stuff for ELF. */
|
||||
#define TEXT_SPACE_P(DECL) 0
|
||||
#define FUNCTION_NAME_P(NAME) 0
|
||||
|
||||
#define TEXT_SECTION_ASM_OP "\t.text"
|
||||
#define DATA_SECTION_ASM_OP "\t.data"
|
||||
#define BSS_SECTION_ASM_OP "\t.bss"
|
||||
|
||||
/* This is how to output a command to make the user-level label named NAME
|
||||
defined for reference from other files. */
|
||||
|
||||
#define ASM_GLOBALIZE_LABEL(FILE,NAME) \
|
||||
(fputs ("\t.globl ", FILE), assemble_name (FILE, NAME), fputs ("\n", FILE))
|
||||
|
||||
/* This is how to output an assembler line defining an `int' constant. */
|
||||
|
||||
#define ASM_OUTPUT_INT(FILE,VALUE) \
|
||||
{ fputs ("\t.word ", FILE); \
|
||||
output_addr_const (FILE, (VALUE)); \
|
||||
fputs ("\n", FILE);}
|
|
@ -37,6 +37,6 @@ Boston, MA 02111-1307, USA. */
|
|||
#define NO_IMPLICIT_EXTERN_C
|
||||
|
||||
/* We don't want a crt0.o to get linked in automatically, we want the
|
||||
linker script to pull it in.
|
||||
*/
|
||||
linker script to pull it in. */
|
||||
#undef STARTFILE_SPEC
|
||||
#define STARTFILE_SPEC ""
|
||||
|
|
|
@ -1,79 +0,0 @@
|
|||
/* Definitions of target machine for GNU compiler, for PRO.
|
||||
Copyright (C) 1994, 1995, 1996 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. */
|
||||
|
||||
/* Global constructor and destructor support. */
|
||||
/* Define the pseudo-ops used to switch to the .ctors and .dtors sections.
|
||||
|
||||
Note that we want to give these sections the SHF_WRITE attribute
|
||||
because these sections will actually contain data (i.e. tables of
|
||||
addresses of functions in the current root executable or shared library
|
||||
file) and, in the case of a shared library, the relocatable addresses
|
||||
will have to be properly resolved/relocated (and then written into) by
|
||||
the dynamic linker when it actually attaches the given shared library
|
||||
to the executing process. */
|
||||
|
||||
#define CTORS_SECTION_ASM_OP "\t.section\t\".ctors\",#alloc,#write"
|
||||
#define DTORS_SECTION_ASM_OP "\t.section\t\".dtors\",#alloc,#write"
|
||||
|
||||
#define CTORS_SECTION_FUNCTION \
|
||||
void \
|
||||
ctors_section () \
|
||||
{ \
|
||||
if (in_section != in_ctors) \
|
||||
{ \
|
||||
fprintf (asm_out_file, "%s\n", CTORS_SECTION_ASM_OP); \
|
||||
in_section = in_ctors; \
|
||||
} \
|
||||
}
|
||||
|
||||
#define DTORS_SECTION_FUNCTION \
|
||||
void \
|
||||
dtors_section () \
|
||||
{ \
|
||||
if (in_section != in_dtors) \
|
||||
{ \
|
||||
fprintf (asm_out_file, "%s\n", DTORS_SECTION_ASM_OP); \
|
||||
in_section = in_dtors; \
|
||||
} \
|
||||
}
|
||||
|
||||
|
||||
/* A C statement (sans semicolon) to output an element in the table of
|
||||
global destructors. */
|
||||
#define ASM_OUTPUT_DESTRUCTOR(FILE,NAME) \
|
||||
do { \
|
||||
dtors_section (); \
|
||||
fputs ("\t.word\t ", FILE); \
|
||||
assemble_name (FILE, NAME); \
|
||||
fputs ("\n", FILE); \
|
||||
} while (0)
|
||||
|
||||
/* A C statement (sans semicolon) to output an element in the table of
|
||||
global constructors. */
|
||||
#define ASM_OUTPUT_CONSTRUCTOR(FILE,NAME) \
|
||||
do { \
|
||||
ctors_section (); \
|
||||
fputs ("\t.word\t ", FILE); \
|
||||
assemble_name (FILE, NAME); \
|
||||
fputs ("\n", FILE); \
|
||||
} while (0)
|
||||
|
||||
#define TARGET_DEFAULT (MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | \
|
||||
MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT )
|
|
@ -2610,7 +2610,9 @@ output_function_prologue (file, size)
|
|||
/* The function's label and associated .PROC must never be
|
||||
separated and must be output *after* any profiling declarations
|
||||
to avoid changing spaces/subspaces within a procedure. */
|
||||
#ifdef OBJ_SOM
|
||||
ASM_OUTPUT_LABEL (file, XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0));
|
||||
#endif
|
||||
fputs ("\t.PROC\n", file);
|
||||
|
||||
/* hppa_expand_prologue does the dirty work now. We just need
|
||||
|
|
|
@ -209,39 +209,38 @@ extern int target_flags;
|
|||
|
||||
#define OVERRIDE_OPTIONS override_options ()
|
||||
|
||||
#define DBX_DEBUGGING_INFO
|
||||
/* stabs-in-som is nearly identical to stabs-in-elf. To avoid useless
|
||||
code duplication we simply include this file and override as needed. */
|
||||
#include "dbxelf.h"
|
||||
|
||||
/* We do not have to be compatible with dbx, so we enable gdb extensions
|
||||
by default. */
|
||||
#define DEFAULT_GDB_EXTENSIONS 1
|
||||
|
||||
/* This is the way other stabs-in-XXX tools do things. We will be
|
||||
compatible. */
|
||||
#define DBX_BLOCKS_FUNCTION_RELATIVE 1
|
||||
/* This used to be zero (no max length), but big enums and such can
|
||||
cause huge strings which killed gas.
|
||||
|
||||
/* Likewise for linenos.
|
||||
|
||||
We make the first line stab special to avoid adding several
|
||||
gross hacks to GAS. */
|
||||
#undef ASM_OUTPUT_SOURCE_LINE
|
||||
#define ASM_OUTPUT_SOURCE_LINE(file, line) \
|
||||
{ static int sym_lineno = 1; \
|
||||
static tree last_function_decl = NULL; \
|
||||
if (current_function_decl == last_function_decl) \
|
||||
fprintf (file, "\t.stabn 68,0,%d,L$M%d-%s\nL$M%d:\n", \
|
||||
line, sym_lineno, \
|
||||
XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0) + 1, \
|
||||
sym_lineno); \
|
||||
else \
|
||||
fprintf (file, "\t.stabn 68,0,%d,0\n", line); \
|
||||
last_function_decl = current_function_decl; \
|
||||
sym_lineno += 1; }
|
||||
|
||||
/* But, to make this work, we have to output the stabs for the function
|
||||
name *first*... */
|
||||
#define DBX_FUNCTION_FIRST
|
||||
We also have to avoid lossage in dbxout.c -- it does not compute the
|
||||
string size accurately, so we are real conservative here. */
|
||||
#undef DBX_CONTIN_LENGTH
|
||||
#define DBX_CONTIN_LENGTH 3000
|
||||
|
||||
/* Only labels should ever begin in column zero. */
|
||||
#define ASM_STABS_OP "\t.stabs"
|
||||
#define ASM_STABN_OP "\t.stabn"
|
||||
|
||||
/* How to renumber registers for dbx and gdb.
|
||||
|
||||
Registers 0 - 31 remain unchanged.
|
||||
|
||||
Registers 32 - 87 are mapped to 72 - 127
|
||||
|
||||
Register 88 is mapped to 32. */
|
||||
|
||||
#define DBX_REGISTER_NUMBER(REGNO) \
|
||||
((REGNO) <= 31 ? (REGNO) : \
|
||||
((REGNO) > 31 && (REGNO) <= 87 ? (REGNO) + 40 : 32))
|
||||
|
||||
/* GDB always assumes the current function's frame begins at the value
|
||||
of the stack pointer upon entry to the current function. Accessing
|
||||
local variables and parameters passed on the stack is done using the
|
||||
|
@ -263,18 +262,6 @@ extern int target_flags;
|
|||
((GET_CODE (X) == PLUS ? OFFSET : 0) \
|
||||
+ (frame_pointer_needed ? 0 : compute_frame_size (get_frame_size (), 0)))
|
||||
|
||||
/* gdb needs a null N_SO at the end of each file for scattered loading. */
|
||||
|
||||
#undef DBX_OUTPUT_MAIN_SOURCE_FILE_END
|
||||
#define DBX_OUTPUT_MAIN_SOURCE_FILE_END(FILE, FILENAME) \
|
||||
text_section (); \
|
||||
if (!TARGET_PORTABLE_RUNTIME) \
|
||||
fputs ("\t.SPACE $TEXT$\n\t.NSUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY\n", FILE); \
|
||||
else \
|
||||
fprintf (FILE, "%s\n", TEXT_SECTION_ASM_OP); \
|
||||
fprintf (FILE, \
|
||||
"\t.stabs \"\",%d,0,0,L$text_end0000\nL$text_end0000:\n", N_SO)
|
||||
|
||||
#if ((TARGET_DEFAULT | TARGET_CPU_DEFAULT) & MASK_PA_11) == 0
|
||||
#define CPP_SPEC "%{msnake:-D__hp9000s700 -D_PA_RISC1_1}\
|
||||
%{mpa-risc-1-1:-D__hp9000s700 -D_PA_RISC1_1}\
|
||||
|
@ -324,55 +311,6 @@ int lhs_lshift_cint_operand ();
|
|||
/* Names to predefine in the preprocessor for this target machine. */
|
||||
|
||||
#define CPP_PREDEFINES "-Dhppa -Dhp9000s800 -D__hp9000s800 -Dhp9k8 -Dunix -Dhp9000 -Dhp800 -Dspectrum -DREVARGV -Asystem(unix) -Asystem(bsd) -Acpu(hppa) -Amachine(hppa)"
|
||||
|
||||
/* HPUX has a program 'chatr' to list the dependencies of dynamically
|
||||
linked executables and shared libraries. */
|
||||
#define LDD_SUFFIX "chatr"
|
||||
/* Look for lines like "dynamic /usr/lib/X11R5/libX11.sl"
|
||||
or "static /usr/lib/X11R5/libX11.sl".
|
||||
|
||||
HPUX 10.20 also has lines like "static branch prediction ..."
|
||||
so we filter that out explicitly.
|
||||
|
||||
We also try to bound our search for libraries with marker
|
||||
lines. What a pain. */
|
||||
#define PARSE_LDD_OUTPUT(PTR) \
|
||||
do { \
|
||||
static int in_shlib_list = 0; \
|
||||
while (*PTR == ' ') PTR++; \
|
||||
if (strncmp (PTR, "shared library list:", \
|
||||
sizeof ("shared library list:") - 1) == 0) \
|
||||
{ \
|
||||
PTR = 0; \
|
||||
in_shlib_list = 1; \
|
||||
} \
|
||||
else if (strncmp (PTR, "shared library binding:", \
|
||||
sizeof ("shared library binding:") - 1) == 0)\
|
||||
{ \
|
||||
PTR = 0; \
|
||||
in_shlib_list = 0; \
|
||||
} \
|
||||
else if (strncmp (PTR, "static branch prediction disabled", \
|
||||
sizeof ("static branch prediction disabled") - 1) == 0)\
|
||||
{ \
|
||||
PTR = 0; \
|
||||
in_shlib_list = 0; \
|
||||
} \
|
||||
else if (in_shlib_list \
|
||||
&& strncmp (PTR, "dynamic", sizeof ("dynamic") - 1) == 0) \
|
||||
{ \
|
||||
PTR += sizeof ("dynamic") - 1; \
|
||||
while (*p == ' ') PTR++; \
|
||||
} \
|
||||
else if (in_shlib_list \
|
||||
&& strncmp (PTR, "static", sizeof ("static") - 1) == 0) \
|
||||
{ \
|
||||
PTR += sizeof ("static") - 1; \
|
||||
while (*p == ' ') PTR++; \
|
||||
} \
|
||||
else \
|
||||
PTR = 0; \
|
||||
} while (0)
|
||||
|
||||
/* target machine storage layout */
|
||||
|
||||
|
@ -1143,21 +1081,6 @@ struct hppa_args {int words, nargs_prototype, indirect; };
|
|||
extern struct rtx_def *hppa_compare_op0, *hppa_compare_op1;
|
||||
extern enum cmp_type hppa_branch_type;
|
||||
|
||||
/* Output the label for a function definition. */
|
||||
#ifndef HP_FP_ARG_DESCRIPTOR_REVERSED
|
||||
#define ASM_DOUBLE_ARG_DESCRIPTORS(FILE, ARG0, ARG1) \
|
||||
do { fprintf (FILE, ",ARGW%d=FR", (ARG0)); \
|
||||
fprintf (FILE, ",ARGW%d=FU", (ARG1));} while (0)
|
||||
#define DFMODE_RETURN_STRING ",RTNVAL=FU"
|
||||
#define SFMODE_RETURN_STRING ",RTNVAL=FR"
|
||||
#else
|
||||
#define ASM_DOUBLE_ARG_DESCRIPTORS(FILE, ARG0, ARG1) \
|
||||
do { fprintf (FILE, ",ARGW%d=FU", (ARG0)); \
|
||||
fprintf (FILE, ",ARGW%d=FR", (ARG1));} while (0)
|
||||
#define DFMODE_RETURN_STRING ",RTNVAL=FR"
|
||||
#define SFMODE_RETURN_STRING ",RTNVAL=FU"
|
||||
#endif
|
||||
|
||||
#define ASM_OUTPUT_MI_THUNK(FILE, THUNK_FNDECL, DELTA, FUNCTION) \
|
||||
{ char *target_name = XSTR (XEXP (DECL_RTL (FUNCTION), 0), 0); \
|
||||
STRIP_NAME_ENCODING (target_name, target_name); \
|
||||
|
@ -1170,101 +1093,6 @@ extern enum cmp_type hppa_branch_type;
|
|||
fprintf (FILE, "\n\t.EXIT\n\t.PROCEND\n"); \
|
||||
}
|
||||
|
||||
/* NAME refers to the function's name. If we are placing each function into
|
||||
its own section, we need to switch to the section for this function. Note
|
||||
that the section name will have a "." prefix. */
|
||||
#define ASM_OUTPUT_FUNCTION_PREFIX(FILE, NAME) \
|
||||
{ \
|
||||
char *name; \
|
||||
STRIP_NAME_ENCODING (name, NAME); \
|
||||
if (!TARGET_PORTABLE_RUNTIME && TARGET_GAS && in_section == in_text) \
|
||||
fputs ("\t.NSUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY\n", FILE); \
|
||||
else if (! TARGET_PORTABLE_RUNTIME && TARGET_GAS) \
|
||||
fprintf (FILE, \
|
||||
"\t.SUBSPA .%s\n", name); \
|
||||
}
|
||||
|
||||
#define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL) \
|
||||
do { tree fntype = TREE_TYPE (TREE_TYPE (DECL)); \
|
||||
tree tree_type = TREE_TYPE (DECL); \
|
||||
tree parm; \
|
||||
int i; \
|
||||
if (TREE_PUBLIC (DECL) || TARGET_GAS) \
|
||||
{ extern int current_function_varargs; \
|
||||
if (TREE_PUBLIC (DECL)) \
|
||||
{ \
|
||||
fputs ("\t.EXPORT ", FILE); \
|
||||
assemble_name (FILE, NAME); \
|
||||
fputs (",ENTRY,PRIV_LEV=3", FILE); \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
fputs ("\t.PARAM ", FILE); \
|
||||
assemble_name (FILE, NAME); \
|
||||
} \
|
||||
if (TARGET_PORTABLE_RUNTIME) \
|
||||
{ \
|
||||
fputs (",ARGW0=NO,ARGW1=NO,ARGW2=NO,ARGW3=NO,", FILE); \
|
||||
fputs ("RTNVAL=NO\n", FILE); \
|
||||
break; \
|
||||
} \
|
||||
for (parm = DECL_ARGUMENTS (DECL), i = 0; parm && i < 4; \
|
||||
parm = TREE_CHAIN (parm)) \
|
||||
{ \
|
||||
if (TYPE_MODE (DECL_ARG_TYPE (parm)) == SFmode \
|
||||
&& ! TARGET_SOFT_FLOAT) \
|
||||
fprintf (FILE, ",ARGW%d=FR", i++); \
|
||||
else if (TYPE_MODE (DECL_ARG_TYPE (parm)) == DFmode \
|
||||
&& ! TARGET_SOFT_FLOAT) \
|
||||
{ \
|
||||
if (i <= 2) \
|
||||
{ \
|
||||
if (i == 1) i++; \
|
||||
ASM_DOUBLE_ARG_DESCRIPTORS (FILE, i++, i++); \
|
||||
} \
|
||||
else \
|
||||
break; \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
int arg_size = \
|
||||
FUNCTION_ARG_SIZE (TYPE_MODE (DECL_ARG_TYPE (parm)),\
|
||||
DECL_ARG_TYPE (parm)); \
|
||||
/* Passing structs by invisible reference uses \
|
||||
one general register. */ \
|
||||
if (arg_size > 2 \
|
||||
|| TREE_ADDRESSABLE (DECL_ARG_TYPE (parm))) \
|
||||
arg_size = 1; \
|
||||
if (arg_size == 2 && i <= 2) \
|
||||
{ \
|
||||
if (i == 1) i++; \
|
||||
fprintf (FILE, ",ARGW%d=GR", i++); \
|
||||
fprintf (FILE, ",ARGW%d=GR", i++); \
|
||||
} \
|
||||
else if (arg_size == 1) \
|
||||
fprintf (FILE, ",ARGW%d=GR", i++); \
|
||||
else \
|
||||
i += arg_size; \
|
||||
} \
|
||||
} \
|
||||
/* anonymous args */ \
|
||||
if ((TYPE_ARG_TYPES (tree_type) != 0 \
|
||||
&& (TREE_VALUE (tree_last (TYPE_ARG_TYPES (tree_type)))\
|
||||
!= void_type_node)) \
|
||||
|| current_function_varargs) \
|
||||
{ \
|
||||
for (; i < 4; i++) \
|
||||
fprintf (FILE, ",ARGW%d=GR", i); \
|
||||
} \
|
||||
if (TYPE_MODE (fntype) == DFmode && ! TARGET_SOFT_FLOAT) \
|
||||
fputs (DFMODE_RETURN_STRING, FILE); \
|
||||
else if (TYPE_MODE (fntype) == SFmode && ! TARGET_SOFT_FLOAT) \
|
||||
fputs (SFMODE_RETURN_STRING, FILE); \
|
||||
else if (fntype != void_type_node) \
|
||||
fputs (",RTNVAL=GR", FILE); \
|
||||
fputs ("\n", FILE); \
|
||||
}} while (0)
|
||||
|
||||
/* This macro generates the assembly code for function entry.
|
||||
FILE is a stdio stream to output the code to.
|
||||
SIZE is an int: how many units of temporary storage to allocate.
|
||||
|
@ -1746,79 +1574,6 @@ extern struct rtx_def *hppa_legitimize_address ();
|
|||
|| GET_CODE (ADDR) == POST_INC) \
|
||||
goto LABEL
|
||||
|
||||
/* Define this macro if references to a symbol must be treated
|
||||
differently depending on something about the variable or
|
||||
function named by the symbol (such as what section it is in).
|
||||
|
||||
The macro definition, if any, is executed immediately after the
|
||||
rtl for DECL or other node is created.
|
||||
The value of the rtl will be a `mem' whose address is a
|
||||
`symbol_ref'.
|
||||
|
||||
The usual thing for this macro to do is to a flag in the
|
||||
`symbol_ref' (such as `SYMBOL_REF_FLAG') or to store a modified
|
||||
name string in the `symbol_ref' (if one bit is not enough
|
||||
information).
|
||||
|
||||
On the HP-PA we use this to indicate if a symbol is in text or
|
||||
data space. Also, function labels need special treatment. */
|
||||
|
||||
#define TEXT_SPACE_P(DECL)\
|
||||
(TREE_CODE (DECL) == FUNCTION_DECL \
|
||||
|| (TREE_CODE (DECL) == VAR_DECL \
|
||||
&& TREE_READONLY (DECL) && ! TREE_SIDE_EFFECTS (DECL) \
|
||||
&& (! DECL_INITIAL (DECL) || ! reloc_needed (DECL_INITIAL (DECL))) \
|
||||
&& !flag_pic) \
|
||||
|| (TREE_CODE_CLASS (TREE_CODE (DECL)) == 'c' \
|
||||
&& !(TREE_CODE (DECL) == STRING_CST && flag_writable_strings)))
|
||||
|
||||
#define FUNCTION_NAME_P(NAME) \
|
||||
(*(NAME) == '@' || (*(NAME) == '*' && *((NAME) + 1) == '@'))
|
||||
|
||||
#define ENCODE_SECTION_INFO(DECL)\
|
||||
do \
|
||||
{ if (TEXT_SPACE_P (DECL)) \
|
||||
{ rtx _rtl; \
|
||||
if (TREE_CODE (DECL) == FUNCTION_DECL \
|
||||
|| TREE_CODE (DECL) == VAR_DECL) \
|
||||
_rtl = DECL_RTL (DECL); \
|
||||
else \
|
||||
_rtl = TREE_CST_RTL (DECL); \
|
||||
SYMBOL_REF_FLAG (XEXP (_rtl, 0)) = 1; \
|
||||
if (TREE_CODE (DECL) == FUNCTION_DECL) \
|
||||
hppa_encode_label (XEXP (DECL_RTL (DECL), 0), 0);\
|
||||
} \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
/* Store the user-specified part of SYMBOL_NAME in VAR.
|
||||
This is sort of inverse to ENCODE_SECTION_INFO. */
|
||||
|
||||
#define STRIP_NAME_ENCODING(VAR,SYMBOL_NAME) \
|
||||
(VAR) = ((SYMBOL_NAME) + ((SYMBOL_NAME)[0] == '*' ? \
|
||||
1 + (SYMBOL_NAME)[1] == '@'\
|
||||
: (SYMBOL_NAME)[0] == '@'))
|
||||
|
||||
/* On hpux10, the linker will give an error if we have a reference
|
||||
in the read-only data section to a symbol defined in a shared
|
||||
library. Therefore, expressions that might require a reloc can
|
||||
not be placed in the read-only data section. */
|
||||
#define SELECT_SECTION(EXP,RELOC) \
|
||||
if (TREE_CODE (EXP) == VAR_DECL \
|
||||
&& TREE_READONLY (EXP) \
|
||||
&& !TREE_THIS_VOLATILE (EXP) \
|
||||
&& DECL_INITIAL (EXP) \
|
||||
&& (DECL_INITIAL (EXP) == error_mark_node \
|
||||
|| TREE_CONSTANT (DECL_INITIAL (EXP))) \
|
||||
&& !RELOC) \
|
||||
readonly_data_section (); \
|
||||
else if (TREE_CODE_CLASS (TREE_CODE (EXP)) == 'c' \
|
||||
&& !(TREE_CODE (EXP) == STRING_CST && flag_writable_strings) \
|
||||
&& !RELOC) \
|
||||
readonly_data_section (); \
|
||||
else \
|
||||
data_section ();
|
||||
|
||||
/* Arghh. The hpux10 linker chokes if we have a reference to symbols
|
||||
in a readonly data section when the symbol is defined in a shared
|
||||
library. Since we can't know at compile time if a symbol will be
|
||||
|
@ -1865,15 +1620,6 @@ while (0)
|
|||
/* Nonzero if access to memory by bytes is slow and undesirable. */
|
||||
#define SLOW_BYTE_ACCESS 1
|
||||
|
||||
/* Do not break .stabs pseudos into continuations.
|
||||
|
||||
This used to be zero (no max length), but big enums and such can
|
||||
cause huge strings which killed gas.
|
||||
|
||||
We also have to avoid lossage in dbxout.c -- it does not compute the
|
||||
string size accurately, so we are real conservative here. */
|
||||
#define DBX_CONTIN_LENGTH 3000
|
||||
|
||||
/* Value is 1 if truncating an integer of INPREC bits to OUTPREC bits
|
||||
is done just by pretending it is already truncated. */
|
||||
#define TRULY_NOOP_TRUNCATION(OUTPREC, INPREC) 1
|
||||
|
@ -2055,25 +1801,6 @@ while (0)
|
|||
|
||||
/* Control the assembler format that we output. */
|
||||
|
||||
/* Output at beginning of assembler file. */
|
||||
|
||||
#define ASM_FILE_START(FILE) \
|
||||
do { 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)
|
||||
|
||||
#define ASM_FILE_END(FILE) output_deferred_plabels (FILE)
|
||||
|
||||
/* Output to assembler file text saying following lines
|
||||
may contain character constants, extra white space, comments, etc. */
|
||||
|
||||
|
@ -2084,98 +1811,6 @@ do { fputs ("\t.SPACE $PRIVATE$\n\
|
|||
|
||||
#define ASM_APP_OFF ""
|
||||
|
||||
/* We don't yet know how to identify GCC to HP-PA machines. */
|
||||
#define ASM_IDENTIFY_GCC(FILE) fputs ("; gcc_compiled.:\n", FILE)
|
||||
|
||||
/* Output before code. */
|
||||
|
||||
/* Supposedly the assembler rejects the command if there is no tab! */
|
||||
#define TEXT_SECTION_ASM_OP "\t.SPACE $TEXT$\n\t.SUBSPA $CODE$\n"
|
||||
|
||||
/* Output before read-only data. */
|
||||
|
||||
/* Supposedly the assembler rejects the command if there is no tab! */
|
||||
#define READONLY_DATA_ASM_OP "\t.SPACE $TEXT$\n\t.SUBSPA $LIT$\n"
|
||||
|
||||
#define READONLY_DATA_SECTION readonly_data
|
||||
|
||||
/* Output before writable data. */
|
||||
|
||||
/* Supposedly the assembler rejects the command if there is no tab! */
|
||||
#define DATA_SECTION_ASM_OP "\t.SPACE $PRIVATE$\n\t.SUBSPA $DATA$\n"
|
||||
|
||||
/* Output before uninitialized data. */
|
||||
|
||||
#define BSS_SECTION_ASM_OP "\t.SPACE $PRIVATE$\n\t.SUBSPA $BSS$\n"
|
||||
|
||||
/* Define the .bss section for ASM_OUTPUT_LOCAL to use. */
|
||||
|
||||
#ifndef CTORS_SECTION_FUNCTION
|
||||
#define EXTRA_SECTIONS in_readonly_data
|
||||
#define CTORS_SECTION_FUNCTION
|
||||
#define DTORS_SECTION_FUNCTION
|
||||
#else
|
||||
#define EXTRA_SECTIONS in_readonly_data, in_ctors, in_dtors
|
||||
#endif
|
||||
|
||||
/* Switch into a generic section.
|
||||
This is currently only used to support section attributes.
|
||||
|
||||
We make the section read-only and executable for a function decl,
|
||||
read-only for a const data decl, and writable for a non-const data decl. */
|
||||
#define ASM_OUTPUT_SECTION_NAME(FILE, DECL, NAME, RELOC) \
|
||||
if (DECL && TREE_CODE (DECL) == FUNCTION_DECL) \
|
||||
{ \
|
||||
fputs ("\t.SPACE $TEXT$\n", FILE); \
|
||||
fprintf (FILE, \
|
||||
"\t.SUBSPA %s%s%s,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY,SORT=24\n",\
|
||||
TARGET_GAS ? "" : "$", NAME, TARGET_GAS ? "" : "$"); \
|
||||
} \
|
||||
else if (DECL && DECL_READONLY_SECTION (DECL, RELOC)) \
|
||||
{ \
|
||||
fputs ("\t.SPACE $TEXT$\n", FILE); \
|
||||
fprintf (FILE, \
|
||||
"\t.SUBSPA %s%s%s,QUAD=0,ALIGN=8,ACCESS=44,SORT=16\n", \
|
||||
TARGET_GAS ? "" : "$", NAME, TARGET_GAS ? "" : "$"); \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
fputs ("\t.SPACE $PRIVATE$\n", FILE); \
|
||||
fprintf (FILE, \
|
||||
"\t.SUBSPA %s%s%s,QUAD=1,ALIGN=8,ACCESS=31,SORT=16\n", \
|
||||
TARGET_GAS ? "" : "$", NAME, TARGET_GAS ? "" : "$"); \
|
||||
}
|
||||
|
||||
/* FIXME: HPUX ld generates incorrect GOT entries for "T" fixups
|
||||
which reference data within the $TEXT$ space (for example constant
|
||||
strings in the $LIT$ subspace).
|
||||
|
||||
The assemblers (GAS and HP as) both have problems with handling
|
||||
the difference of two symbols which is the other correct way to
|
||||
reference constant data during PIC code generation.
|
||||
|
||||
So, there's no way to reference constant data which is in the
|
||||
$TEXT$ space during PIC generation. Instead place all constant
|
||||
data into the $PRIVATE$ subspace (this reduces sharing, but it
|
||||
works correctly). */
|
||||
|
||||
#define EXTRA_SECTION_FUNCTIONS \
|
||||
void \
|
||||
readonly_data () \
|
||||
{ \
|
||||
if (in_section != in_readonly_data) \
|
||||
{ \
|
||||
if (flag_pic) \
|
||||
fprintf (asm_out_file, "%s\n", DATA_SECTION_ASM_OP); \
|
||||
else \
|
||||
fprintf (asm_out_file, "%s\n", READONLY_DATA_ASM_OP); \
|
||||
in_section = in_readonly_data; \
|
||||
} \
|
||||
} \
|
||||
CTORS_SECTION_FUNCTION \
|
||||
DTORS_SECTION_FUNCTION
|
||||
|
||||
|
||||
/* How to refer to registers in assembler output.
|
||||
This sequence is indexed by compiler's hard-register-number (see above). */
|
||||
|
||||
|
@ -2203,18 +1838,6 @@ DTORS_SECTION_FUNCTION
|
|||
{"%fr28L",80}, {"%fr29L",82}, {"%fr30L",84}, {"%fr31R",86}, \
|
||||
{"%cr11",88}}
|
||||
|
||||
/* How to renumber registers for dbx and gdb.
|
||||
|
||||
Registers 0 - 31 remain unchanged.
|
||||
|
||||
Registers 32 - 87 are mapped to 72 - 127
|
||||
|
||||
Register 88 is mapped to 32. */
|
||||
|
||||
#define DBX_REGISTER_NUMBER(REGNO) \
|
||||
((REGNO) <= 31 ? (REGNO) : \
|
||||
((REGNO) > 31 && (REGNO) <= 87 ? (REGNO) + 40 : 32))
|
||||
|
||||
/* This is how to output the definition of a user-level label named NAME,
|
||||
such as the label on a static function or variable NAME. */
|
||||
|
||||
|
@ -2222,53 +1845,6 @@ DTORS_SECTION_FUNCTION
|
|||
do { assemble_name (FILE, NAME); \
|
||||
fputc ('\n', FILE); } while (0)
|
||||
|
||||
/* This is how to output a command to make the user-level label named NAME
|
||||
defined for reference from other files.
|
||||
|
||||
We call assemble_name, which in turn sets TREE_SYMBOL_REFERENCED. This
|
||||
macro will restore the original value of TREE_SYMBOL_REFERENCED to avoid
|
||||
placing useless function definitions in the output file. */
|
||||
|
||||
#define ASM_OUTPUT_EXTERNAL(FILE, DECL, NAME) \
|
||||
do { int save_referenced; \
|
||||
save_referenced = TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (DECL)); \
|
||||
fputs ("\t.IMPORT ", FILE); \
|
||||
assemble_name (FILE, NAME); \
|
||||
if (FUNCTION_NAME_P (NAME)) \
|
||||
fputs (",CODE\n", FILE); \
|
||||
else \
|
||||
fputs (",DATA\n", FILE); \
|
||||
TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (DECL)) = save_referenced; \
|
||||
} while (0)
|
||||
|
||||
/* The bogus HP assembler requires ALL external references to be
|
||||
"imported", even library calls. They look a bit different, so
|
||||
here's this macro.
|
||||
|
||||
Also note not all libcall names are passed to ENCODE_SECTION_INFO
|
||||
(__main for example). To make sure all libcall names have section
|
||||
info recorded in them, we do it here. */
|
||||
|
||||
#define ASM_OUTPUT_EXTERNAL_LIBCALL(FILE, RTL) \
|
||||
do { fputs ("\t.IMPORT ", FILE); \
|
||||
if (!function_label_operand (RTL, VOIDmode)) \
|
||||
hppa_encode_label (RTL, 1); \
|
||||
assemble_name (FILE, XSTR ((RTL), 0)); \
|
||||
fputs (",CODE\n", FILE); \
|
||||
} while (0)
|
||||
|
||||
#define ASM_GLOBALIZE_LABEL(FILE, NAME) \
|
||||
do { \
|
||||
/* We only handle DATA objects here, functions are globalized in \
|
||||
ASM_DECLARE_FUNCTION_NAME. */ \
|
||||
if (! FUNCTION_NAME_P (NAME)) \
|
||||
{ \
|
||||
fputs ("\t.EXPORT ", FILE); \
|
||||
assemble_name (FILE, NAME); \
|
||||
fputs (",DATA\n", FILE); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
/* This is how to output a reference to a user-level label named NAME.
|
||||
`assemble_name' uses this. */
|
||||
|
||||
|
@ -2305,20 +1881,6 @@ DTORS_SECTION_FUNCTION
|
|||
fprintf (FILE, "\t.word 0x%lx\n", l); \
|
||||
} while (0)
|
||||
|
||||
/* This is how to output an assembler line defining an `int' constant.
|
||||
|
||||
This is made more complicated by the fact that functions must be
|
||||
prefixed by a P% as well as code label references for the exception
|
||||
table -- otherwise the linker chokes. */
|
||||
|
||||
#define ASM_OUTPUT_INT(FILE,VALUE) \
|
||||
{ fputs ("\t.word ", FILE); \
|
||||
if (function_label_operand (VALUE, VOIDmode) \
|
||||
&& !TARGET_PORTABLE_RUNTIME) \
|
||||
fputs ("P%", FILE); \
|
||||
output_addr_const (FILE, (VALUE)); \
|
||||
fputs ("\n", FILE);}
|
||||
|
||||
/* Likewise for `short' and `char' constants. */
|
||||
|
||||
#define ASM_OUTPUT_SHORT(FILE,VALUE) \
|
||||
|
@ -2568,22 +2130,6 @@ extern int insn_sets_and_refs_are_delayed ();
|
|||
|
||||
extern struct rtx_def *return_addr_rtx ();
|
||||
|
||||
/* We want __gcc_plt_call to appear in every program built by
|
||||
gcc, so we make a reference to it out of __main.
|
||||
We use the asm statement to fool the optimizer into not
|
||||
removing the dead (but important) initialization of
|
||||
REFERENCE. */
|
||||
|
||||
#define DO_GLOBAL_DTORS_BODY \
|
||||
do { \
|
||||
extern void __gcc_plt_call (); \
|
||||
void (*reference)() = &__gcc_plt_call; \
|
||||
func_ptr *p; \
|
||||
__asm__ ("" : : "r" (reference)); \
|
||||
for (p = __DTOR_LIST__ + 1; *p; ) \
|
||||
(*p++) (); \
|
||||
} while (0)
|
||||
|
||||
/* Find the return address associated with the frame given by
|
||||
FRAMEADDR. */
|
||||
#define RETURN_ADDR_RTX(COUNT, FRAMEADDR) \
|
||||
|
|
463
gcc/config/pa/som.h
Normal file
463
gcc/config/pa/som.h
Normal file
|
@ -0,0 +1,463 @@
|
|||
/* Definitions for SOM assembler support.
|
||||
Copyright (C) 1999 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 1, 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. */
|
||||
|
||||
/* So we can conditionalize small amounts of code in pa.c or pa.md. */
|
||||
#define OBJ_SOM
|
||||
|
||||
/* We do not use BINCL stabs in SOM.
|
||||
??? If it does not hurt, we probably should to avoid useless divergence
|
||||
from other embedded stabs implementations. */
|
||||
#undef DBX_USE_BINCL
|
||||
|
||||
/* We make the first line stab special to avoid adding several
|
||||
gross hacks to GAS. */
|
||||
#undef ASM_OUTPUT_SOURCE_LINE
|
||||
#define ASM_OUTPUT_SOURCE_LINE(file, line) \
|
||||
{ static int sym_lineno = 1; \
|
||||
static tree last_function_decl = NULL; \
|
||||
if (current_function_decl == last_function_decl) \
|
||||
fprintf (file, "\t.stabn 68,0,%d,L$M%d-%s\nL$M%d:\n", \
|
||||
line, sym_lineno, \
|
||||
XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0) + 1, \
|
||||
sym_lineno); \
|
||||
else \
|
||||
fprintf (file, "\t.stabn 68,0,%d,0\n", line); \
|
||||
last_function_decl = current_function_decl; \
|
||||
sym_lineno += 1; }
|
||||
|
||||
/* gdb needs a null N_SO at the end of each file for scattered loading. */
|
||||
|
||||
#undef DBX_OUTPUT_MAIN_SOURCE_FILE_END
|
||||
#define DBX_OUTPUT_MAIN_SOURCE_FILE_END(FILE, FILENAME) \
|
||||
text_section (); \
|
||||
fputs ("\t.SPACE $TEXT$\n\t.NSUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY\n", FILE); \
|
||||
fprintf (FILE, \
|
||||
"\t.stabs \"\",%d,0,0,L$text_end0000\nL$text_end0000:\n", N_SO)
|
||||
|
||||
/* On hpux10, the linker will give an error if we have a reference
|
||||
in the read-only data section to a symbol defined in a shared
|
||||
library. Therefore, expressions that might require a reloc can
|
||||
not be placed in the read-only data section. */
|
||||
#define SELECT_SECTION(EXP,RELOC) \
|
||||
if (TREE_CODE (EXP) == VAR_DECL \
|
||||
&& TREE_READONLY (EXP) \
|
||||
&& !TREE_THIS_VOLATILE (EXP) \
|
||||
&& DECL_INITIAL (EXP) \
|
||||
&& (DECL_INITIAL (EXP) == error_mark_node \
|
||||
|| TREE_CONSTANT (DECL_INITIAL (EXP))) \
|
||||
&& !RELOC) \
|
||||
readonly_data_section (); \
|
||||
else if (TREE_CODE_CLASS (TREE_CODE (EXP)) == 'c' \
|
||||
&& !(TREE_CODE (EXP) == STRING_CST && flag_writable_strings) \
|
||||
&& !RELOC) \
|
||||
readonly_data_section (); \
|
||||
else \
|
||||
data_section ();
|
||||
|
||||
/* HPUX has a program 'chatr' to list the dependencies of dynamically
|
||||
linked executables and shared libraries. */
|
||||
#define LDD_SUFFIX "chatr"
|
||||
/* Look for lines like "dynamic /usr/lib/X11R5/libX11.sl"
|
||||
or "static /usr/lib/X11R5/libX11.sl".
|
||||
|
||||
HPUX 10.20 also has lines like "static branch prediction ..."
|
||||
so we filter that out explicitly.
|
||||
|
||||
We also try to bound our search for libraries with marker
|
||||
lines. What a pain. */
|
||||
#define PARSE_LDD_OUTPUT(PTR) \
|
||||
do { \
|
||||
static int in_shlib_list = 0; \
|
||||
while (*PTR == ' ') PTR++; \
|
||||
if (strncmp (PTR, "shared library list:", \
|
||||
sizeof ("shared library list:") - 1) == 0) \
|
||||
{ \
|
||||
PTR = 0; \
|
||||
in_shlib_list = 1; \
|
||||
} \
|
||||
else if (strncmp (PTR, "shared library binding:", \
|
||||
sizeof ("shared library binding:") - 1) == 0)\
|
||||
{ \
|
||||
PTR = 0; \
|
||||
in_shlib_list = 0; \
|
||||
} \
|
||||
else if (strncmp (PTR, "static branch prediction disabled", \
|
||||
sizeof ("static branch prediction disabled") - 1) == 0)\
|
||||
{ \
|
||||
PTR = 0; \
|
||||
in_shlib_list = 0; \
|
||||
} \
|
||||
else if (in_shlib_list \
|
||||
&& strncmp (PTR, "dynamic", sizeof ("dynamic") - 1) == 0) \
|
||||
{ \
|
||||
PTR += sizeof ("dynamic") - 1; \
|
||||
while (*p == ' ') PTR++; \
|
||||
} \
|
||||
else if (in_shlib_list \
|
||||
&& strncmp (PTR, "static", sizeof ("static") - 1) == 0) \
|
||||
{ \
|
||||
PTR += sizeof ("static") - 1; \
|
||||
while (*p == ' ') PTR++; \
|
||||
} \
|
||||
else \
|
||||
PTR = 0; \
|
||||
} while (0)
|
||||
|
||||
/* Output the label for a function definition. */
|
||||
#ifndef HP_FP_ARG_DESCRIPTOR_REVERSED
|
||||
#define ASM_DOUBLE_ARG_DESCRIPTORS(FILE, ARG0, ARG1) \
|
||||
do { fprintf (FILE, ",ARGW%d=FR", (ARG0)); \
|
||||
fprintf (FILE, ",ARGW%d=FU", (ARG1));} while (0)
|
||||
#define DFMODE_RETURN_STRING ",RTNVAL=FU"
|
||||
#define SFMODE_RETURN_STRING ",RTNVAL=FR"
|
||||
#else
|
||||
#define ASM_DOUBLE_ARG_DESCRIPTORS(FILE, ARG0, ARG1) \
|
||||
do { fprintf (FILE, ",ARGW%d=FU", (ARG0)); \
|
||||
fprintf (FILE, ",ARGW%d=FR", (ARG1));} while (0)
|
||||
#define DFMODE_RETURN_STRING ",RTNVAL=FR"
|
||||
#define SFMODE_RETURN_STRING ",RTNVAL=FU"
|
||||
#endif
|
||||
|
||||
|
||||
/* Define this macro if references to a symbol must be treated
|
||||
differently depending on something about the variable or
|
||||
function named by the symbol (such as what section it is in).
|
||||
|
||||
The macro definition, if any, is executed immediately after the
|
||||
rtl for DECL or other node is created.
|
||||
The value of the rtl will be a `mem' whose address is a
|
||||
`symbol_ref'.
|
||||
|
||||
The usual thing for this macro to do is to a flag in the
|
||||
`symbol_ref' (such as `SYMBOL_REF_FLAG') or to store a modified
|
||||
name string in the `symbol_ref' (if one bit is not enough
|
||||
information).
|
||||
|
||||
On the HP-PA we use this to indicate if a symbol is in text or
|
||||
data space. Also, function labels need special treatment. */
|
||||
|
||||
#define TEXT_SPACE_P(DECL)\
|
||||
(TREE_CODE (DECL) == FUNCTION_DECL \
|
||||
|| (TREE_CODE (DECL) == VAR_DECL \
|
||||
&& TREE_READONLY (DECL) && ! TREE_SIDE_EFFECTS (DECL) \
|
||||
&& (! DECL_INITIAL (DECL) || ! reloc_needed (DECL_INITIAL (DECL))) \
|
||||
&& !flag_pic) \
|
||||
|| (TREE_CODE_CLASS (TREE_CODE (DECL)) == 'c' \
|
||||
&& !(TREE_CODE (DECL) == STRING_CST && flag_writable_strings)))
|
||||
|
||||
#define FUNCTION_NAME_P(NAME) \
|
||||
(*(NAME) == '@' || (*(NAME) == '*' && *((NAME) + 1) == '@'))
|
||||
|
||||
#define ENCODE_SECTION_INFO(DECL)\
|
||||
do \
|
||||
{ if (TEXT_SPACE_P (DECL)) \
|
||||
{ rtx _rtl; \
|
||||
if (TREE_CODE (DECL) == FUNCTION_DECL \
|
||||
|| TREE_CODE (DECL) == VAR_DECL) \
|
||||
_rtl = DECL_RTL (DECL); \
|
||||
else \
|
||||
_rtl = TREE_CST_RTL (DECL); \
|
||||
SYMBOL_REF_FLAG (XEXP (_rtl, 0)) = 1; \
|
||||
if (TREE_CODE (DECL) == FUNCTION_DECL) \
|
||||
hppa_encode_label (XEXP (DECL_RTL (DECL), 0), 0);\
|
||||
} \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
/* Store the user-specified part of SYMBOL_NAME in VAR.
|
||||
This is sort of inverse to ENCODE_SECTION_INFO. */
|
||||
|
||||
#define STRIP_NAME_ENCODING(VAR,SYMBOL_NAME) \
|
||||
(VAR) = ((SYMBOL_NAME) + ((SYMBOL_NAME)[0] == '*' ? \
|
||||
1 + (SYMBOL_NAME)[1] == '@'\
|
||||
: (SYMBOL_NAME)[0] == '@'))
|
||||
|
||||
/* NAME refers to the function's name. If we are placing each function into
|
||||
its own section, we need to switch to the section for this function. Note
|
||||
that the section name will have a "." prefix. */
|
||||
#define ASM_OUTPUT_FUNCTION_PREFIX(FILE, NAME) \
|
||||
{ \
|
||||
char *name; \
|
||||
STRIP_NAME_ENCODING (name, NAME); \
|
||||
if (TARGET_GAS && in_section == in_text) \
|
||||
fputs ("\t.NSUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY\n", FILE); \
|
||||
else if (TARGET_GAS) \
|
||||
fprintf (FILE, \
|
||||
"\t.SUBSPA .%s\n", name); \
|
||||
}
|
||||
|
||||
#define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL) \
|
||||
do { tree fntype = TREE_TYPE (TREE_TYPE (DECL)); \
|
||||
tree tree_type = TREE_TYPE (DECL); \
|
||||
tree parm; \
|
||||
int i; \
|
||||
if (TREE_PUBLIC (DECL) || TARGET_GAS) \
|
||||
{ extern int current_function_varargs; \
|
||||
if (TREE_PUBLIC (DECL)) \
|
||||
{ \
|
||||
fputs ("\t.EXPORT ", FILE); \
|
||||
assemble_name (FILE, NAME); \
|
||||
fputs (",ENTRY,PRIV_LEV=3", FILE); \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
fputs ("\t.PARAM ", FILE); \
|
||||
assemble_name (FILE, NAME); \
|
||||
} \
|
||||
for (parm = DECL_ARGUMENTS (DECL), i = 0; parm && i < 4; \
|
||||
parm = TREE_CHAIN (parm)) \
|
||||
{ \
|
||||
if (TYPE_MODE (DECL_ARG_TYPE (parm)) == SFmode \
|
||||
&& ! TARGET_SOFT_FLOAT) \
|
||||
fprintf (FILE, ",ARGW%d=FR", i++); \
|
||||
else if (TYPE_MODE (DECL_ARG_TYPE (parm)) == DFmode \
|
||||
&& ! TARGET_SOFT_FLOAT) \
|
||||
{ \
|
||||
if (i <= 2) \
|
||||
{ \
|
||||
if (i == 1) i++; \
|
||||
ASM_DOUBLE_ARG_DESCRIPTORS (FILE, i++, i++); \
|
||||
} \
|
||||
else \
|
||||
break; \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
int arg_size = \
|
||||
FUNCTION_ARG_SIZE (TYPE_MODE (DECL_ARG_TYPE (parm)),\
|
||||
DECL_ARG_TYPE (parm)); \
|
||||
/* Passing structs by invisible reference uses \
|
||||
one general register. */ \
|
||||
if (arg_size > 2 \
|
||||
|| TREE_ADDRESSABLE (DECL_ARG_TYPE (parm))) \
|
||||
arg_size = 1; \
|
||||
if (arg_size == 2 && i <= 2) \
|
||||
{ \
|
||||
if (i == 1) i++; \
|
||||
fprintf (FILE, ",ARGW%d=GR", i++); \
|
||||
fprintf (FILE, ",ARGW%d=GR", i++); \
|
||||
} \
|
||||
else if (arg_size == 1) \
|
||||
fprintf (FILE, ",ARGW%d=GR", i++); \
|
||||
else \
|
||||
i += arg_size; \
|
||||
} \
|
||||
} \
|
||||
/* anonymous args */ \
|
||||
if ((TYPE_ARG_TYPES (tree_type) != 0 \
|
||||
&& (TREE_VALUE (tree_last (TYPE_ARG_TYPES (tree_type)))\
|
||||
!= void_type_node)) \
|
||||
|| current_function_varargs) \
|
||||
{ \
|
||||
for (; i < 4; i++) \
|
||||
fprintf (FILE, ",ARGW%d=GR", i); \
|
||||
} \
|
||||
if (TYPE_MODE (fntype) == DFmode && ! TARGET_SOFT_FLOAT) \
|
||||
fputs (DFMODE_RETURN_STRING, FILE); \
|
||||
else if (TYPE_MODE (fntype) == SFmode && ! TARGET_SOFT_FLOAT) \
|
||||
fputs (SFMODE_RETURN_STRING, FILE); \
|
||||
else if (fntype != void_type_node) \
|
||||
fputs (",RTNVAL=GR", FILE); \
|
||||
fputs ("\n", FILE); \
|
||||
}} while (0)
|
||||
|
||||
/* Output at beginning of assembler file. */
|
||||
|
||||
#define ASM_FILE_START(FILE) \
|
||||
do { 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)
|
||||
|
||||
/* Output before code. */
|
||||
|
||||
/* Supposedly the assembler rejects the command if there is no tab! */
|
||||
#define TEXT_SECTION_ASM_OP "\t.SPACE $TEXT$\n\t.SUBSPA $CODE$\n"
|
||||
|
||||
/* Output before read-only data. */
|
||||
|
||||
/* Supposedly the assembler rejects the command if there is no tab! */
|
||||
#define READONLY_DATA_ASM_OP "\t.SPACE $TEXT$\n\t.SUBSPA $LIT$\n"
|
||||
|
||||
#define READONLY_DATA_SECTION readonly_data
|
||||
|
||||
/* Output before writable data. */
|
||||
|
||||
/* Supposedly the assembler rejects the command if there is no tab! */
|
||||
#define DATA_SECTION_ASM_OP "\t.SPACE $PRIVATE$\n\t.SUBSPA $DATA$\n"
|
||||
|
||||
/* Output before uninitialized data. */
|
||||
|
||||
#define BSS_SECTION_ASM_OP "\t.SPACE $PRIVATE$\n\t.SUBSPA $BSS$\n"
|
||||
|
||||
/* Define the .bss section for ASM_OUTPUT_LOCAL to use. */
|
||||
|
||||
#ifndef CTORS_SECTION_FUNCTION
|
||||
#define EXTRA_SECTIONS in_readonly_data
|
||||
#define CTORS_SECTION_FUNCTION
|
||||
#define DTORS_SECTION_FUNCTION
|
||||
#else
|
||||
#define EXTRA_SECTIONS in_readonly_data, in_ctors, in_dtors
|
||||
#endif
|
||||
|
||||
/* Switch into a generic section.
|
||||
This is currently only used to support section attributes.
|
||||
|
||||
We make the section read-only and executable for a function decl,
|
||||
read-only for a const data decl, and writable for a non-const data decl. */
|
||||
#define ASM_OUTPUT_SECTION_NAME(FILE, DECL, NAME, RELOC) \
|
||||
if (DECL && TREE_CODE (DECL) == FUNCTION_DECL) \
|
||||
{ \
|
||||
fputs ("\t.SPACE $TEXT$\n", FILE); \
|
||||
fprintf (FILE, \
|
||||
"\t.SUBSPA %s%s%s,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY,SORT=24\n",\
|
||||
TARGET_GAS ? "" : "$", NAME, TARGET_GAS ? "" : "$"); \
|
||||
} \
|
||||
else if (DECL && DECL_READONLY_SECTION (DECL, RELOC)) \
|
||||
{ \
|
||||
fputs ("\t.SPACE $TEXT$\n", FILE); \
|
||||
fprintf (FILE, \
|
||||
"\t.SUBSPA %s%s%s,QUAD=0,ALIGN=8,ACCESS=44,SORT=16\n", \
|
||||
TARGET_GAS ? "" : "$", NAME, TARGET_GAS ? "" : "$"); \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
fputs ("\t.SPACE $PRIVATE$\n", FILE); \
|
||||
fprintf (FILE, \
|
||||
"\t.SUBSPA %s%s%s,QUAD=1,ALIGN=8,ACCESS=31,SORT=16\n", \
|
||||
TARGET_GAS ? "" : "$", NAME, TARGET_GAS ? "" : "$"); \
|
||||
}
|
||||
|
||||
/* FIXME: HPUX ld generates incorrect GOT entries for "T" fixups
|
||||
which reference data within the $TEXT$ space (for example constant
|
||||
strings in the $LIT$ subspace).
|
||||
|
||||
The assemblers (GAS and HP as) both have problems with handling
|
||||
the difference of two symbols which is the other correct way to
|
||||
reference constant data during PIC code generation.
|
||||
|
||||
So, there's no way to reference constant data which is in the
|
||||
$TEXT$ space during PIC generation. Instead place all constant
|
||||
data into the $PRIVATE$ subspace (this reduces sharing, but it
|
||||
works correctly). */
|
||||
|
||||
#define EXTRA_SECTION_FUNCTIONS \
|
||||
void \
|
||||
readonly_data () \
|
||||
{ \
|
||||
if (in_section != in_readonly_data) \
|
||||
{ \
|
||||
if (flag_pic) \
|
||||
fprintf (asm_out_file, "%s\n", DATA_SECTION_ASM_OP); \
|
||||
else \
|
||||
fprintf (asm_out_file, "%s\n", READONLY_DATA_ASM_OP); \
|
||||
in_section = in_readonly_data; \
|
||||
} \
|
||||
} \
|
||||
CTORS_SECTION_FUNCTION \
|
||||
DTORS_SECTION_FUNCTION
|
||||
|
||||
/* This is how to output a command to make the user-level label named NAME
|
||||
defined for reference from other files.
|
||||
|
||||
We call assemble_name, which in turn sets TREE_SYMBOL_REFERENCED. This
|
||||
macro will restore the original value of TREE_SYMBOL_REFERENCED to avoid
|
||||
placing useless function definitions in the output file. */
|
||||
|
||||
#define ASM_OUTPUT_EXTERNAL(FILE, DECL, NAME) \
|
||||
do { int save_referenced; \
|
||||
save_referenced = TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (DECL)); \
|
||||
fputs ("\t.IMPORT ", FILE); \
|
||||
assemble_name (FILE, NAME); \
|
||||
if (FUNCTION_NAME_P (NAME)) \
|
||||
fputs (",CODE\n", FILE); \
|
||||
else \
|
||||
fputs (",DATA\n", FILE); \
|
||||
TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (DECL)) = save_referenced; \
|
||||
} while (0)
|
||||
|
||||
/* The bogus HP assembler requires ALL external references to be
|
||||
"imported", even library calls. They look a bit different, so
|
||||
here's this macro.
|
||||
|
||||
Also note not all libcall names are passed to ENCODE_SECTION_INFO
|
||||
(__main for example). To make sure all libcall names have section
|
||||
info recorded in them, we do it here. */
|
||||
|
||||
#define ASM_OUTPUT_EXTERNAL_LIBCALL(FILE, RTL) \
|
||||
do { fputs ("\t.IMPORT ", FILE); \
|
||||
if (!function_label_operand (RTL, VOIDmode)) \
|
||||
hppa_encode_label (RTL, 1); \
|
||||
assemble_name (FILE, XSTR ((RTL), 0)); \
|
||||
fputs (",CODE\n", FILE); \
|
||||
} while (0)
|
||||
|
||||
#define ASM_GLOBALIZE_LABEL(FILE, NAME) \
|
||||
do { \
|
||||
/* We only handle DATA objects here, functions are globalized in \
|
||||
ASM_DECLARE_FUNCTION_NAME. */ \
|
||||
if (! FUNCTION_NAME_P (NAME)) \
|
||||
{ \
|
||||
fputs ("\t.EXPORT ", FILE); \
|
||||
assemble_name (FILE, NAME); \
|
||||
fputs (",DATA\n", FILE); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#define ASM_FILE_END(FILE) output_deferred_plabels (FILE)
|
||||
|
||||
/* This is how to output an assembler line defining an `int' constant.
|
||||
|
||||
This is made more complicated by the fact that functions must be
|
||||
prefixed by a P% as well as code label references for the exception
|
||||
table -- otherwise the linker chokes. */
|
||||
|
||||
#define ASM_OUTPUT_INT(FILE,VALUE) \
|
||||
{ fputs ("\t.word ", FILE); \
|
||||
if (function_label_operand (VALUE, VOIDmode)) \
|
||||
fputs ("P%", FILE); \
|
||||
output_addr_const (FILE, (VALUE)); \
|
||||
fputs ("\n", FILE);}
|
||||
|
||||
|
||||
/* We want __gcc_plt_call to appear in every program built by
|
||||
gcc, so we make a reference to it out of __main.
|
||||
We use the asm statement to fool the optimizer into not
|
||||
removing the dead (but important) initialization of
|
||||
REFERENCE. */
|
||||
|
||||
#define DO_GLOBAL_DTORS_BODY \
|
||||
do { \
|
||||
extern void __gcc_plt_call (); \
|
||||
void (*reference)() = &__gcc_plt_call; \
|
||||
func_ptr *p; \
|
||||
__asm__ ("" : : "r" (reference)); \
|
||||
for (p = __DTOR_LIST__ + 1; *p; ) \
|
||||
(*p++) (); \
|
||||
} while (0)
|
223
gcc/configure
vendored
223
gcc/configure
vendored
|
@ -3263,33 +3263,37 @@ for machine in $build $host $target; do
|
|||
tmake_file=pa/t-openbsd
|
||||
;;
|
||||
hppa1.1-*-pro*)
|
||||
tm_file="pa/pa-pro.h ${tm_file} pa/pa-pro-end.h libgloss.h"
|
||||
target_cpu_default="(MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT)"
|
||||
tm_file="${tm_file} elfos.h pa/elf.h pa/pa-pro-end.h libgloss.h"
|
||||
xm_file=pa/xm-papro.h
|
||||
tmake_file=pa/t-pro
|
||||
;;
|
||||
hppa1.1-*-osf*)
|
||||
target_cpu_default="MASK_PA_11"
|
||||
tm_file="${tm_file} pa/pa-osf.h"
|
||||
tm_file="${tm_file} pa/som.h pa/pa-osf.h"
|
||||
use_collect2=yes
|
||||
;;
|
||||
hppa1.1-*-rtems*)
|
||||
tm_file="pa/pa-pro.h ${tm_file} pa/pa-pro-end.h libgloss.h pa/rtems.h"
|
||||
target_cpu_default="(MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT)"
|
||||
tm_file="${tm_file} elfos.h pa/elf.h pa/pa-pro-end.h libgloss.h pa/rtems.h"
|
||||
xm_file=pa/xm-papro.h
|
||||
tmake_file=pa/t-pro
|
||||
;;
|
||||
hppa1.0-*-osf*)
|
||||
tm_file="${tm_file} pa/pa-osf.h"
|
||||
tm_file="${tm_file} pa/som.h pa/pa-osf.h"
|
||||
use_collect2=yes
|
||||
;;
|
||||
hppa1.1-*-bsd*)
|
||||
tm_file="${tm_file} pa/som.h"
|
||||
target_cpu_default="MASK_PA_11"
|
||||
use_collect2=yes
|
||||
;;
|
||||
hppa1.0-*-bsd*)
|
||||
tm_file="${tm_file} pa/som.h"
|
||||
use_collect2=yes
|
||||
;;
|
||||
hppa1.0-*-hpux7*)
|
||||
tm_file="pa/pa-oldas.h ${tm_file} pa/pa-hpux7.h"
|
||||
tm_file="pa/pa-oldas.h ${tm_file} pa/som.h pa/pa-hpux7.h"
|
||||
xm_file=pa/xm-pahpux.h
|
||||
xmake_file=pa/x-pa-hpux
|
||||
if test x$gas = xyes
|
||||
|
@ -3300,7 +3304,7 @@ for machine in $build $host $target; do
|
|||
use_collect2=yes
|
||||
;;
|
||||
hppa1.0-*-hpux8.0[0-2]*)
|
||||
tm_file="${tm_file} pa/pa-hpux.h"
|
||||
tm_file="${tm_file} pa/som.h pa/pa-hpux.h"
|
||||
xm_file=pa/xm-pahpux.h
|
||||
xmake_file=pa/x-pa-hpux
|
||||
if test x$gas = xyes
|
||||
|
@ -3314,7 +3318,7 @@ for machine in $build $host $target; do
|
|||
;;
|
||||
hppa1.1-*-hpux8.0[0-2]*)
|
||||
target_cpu_default="MASK_PA_11"
|
||||
tm_file="${tm_file} pa/pa-hpux.h"
|
||||
tm_file="${tm_file} pa/som.h pa/pa-hpux.h"
|
||||
xm_file=pa/xm-pahpux.h
|
||||
xmake_file=pa/x-pa-hpux
|
||||
if test x$gas = xyes
|
||||
|
@ -3328,7 +3332,7 @@ for machine in $build $host $target; do
|
|||
;;
|
||||
hppa1.1-*-hpux8*)
|
||||
target_cpu_default="MASK_PA_11"
|
||||
tm_file="${tm_file} pa/pa-hpux.h"
|
||||
tm_file="${tm_file} pa/som.h pa/pa-hpux.h"
|
||||
xm_file=pa/xm-pahpux.h
|
||||
xmake_file=pa/x-pa-hpux
|
||||
if test x$gas = xyes
|
||||
|
@ -3339,7 +3343,7 @@ for machine in $build $host $target; do
|
|||
use_collect2=yes
|
||||
;;
|
||||
hppa1.0-*-hpux8*)
|
||||
tm_file="${tm_file} pa/pa-hpux.h"
|
||||
tm_file="${tm_file} pa/som.h pa/pa-hpux.h"
|
||||
xm_file=pa/xm-pahpux.h
|
||||
xmake_file=pa/x-pa-hpux
|
||||
if test x$gas = xyes
|
||||
|
@ -3351,7 +3355,7 @@ for machine in $build $host $target; do
|
|||
;;
|
||||
hppa1.1-*-hpux10* | hppa2*-*-hpux10*)
|
||||
target_cpu_default="MASK_PA_11"
|
||||
tm_file="${tm_file} pa/pa-hpux.h pa/pa-hpux10.h"
|
||||
tm_file="${tm_file} pa/som.h pa/pa-hpux.h pa/pa-hpux10.h"
|
||||
xm_file=pa/xm-pahpux.h
|
||||
xmake_file=pa/x-pa-hpux
|
||||
tmake_file=pa/t-pa
|
||||
|
@ -3370,7 +3374,7 @@ for machine in $build $host $target; do
|
|||
use_collect2=yes
|
||||
;;
|
||||
hppa1.0-*-hpux10*)
|
||||
tm_file="${tm_file} pa/pa-hpux.h pa/pa-hpux10.h"
|
||||
tm_file="${tm_file} pa/som.h pa/pa-hpux.h pa/pa-hpux10.h"
|
||||
xm_file=pa/xm-pahpux.h
|
||||
xmake_file=pa/x-pa-hpux
|
||||
tmake_file=pa/t-pa
|
||||
|
@ -3390,7 +3394,7 @@ for machine in $build $host $target; do
|
|||
;;
|
||||
hppa1.1-*-hpux11* | hppa2*-*-hpux11*)
|
||||
target_cpu_default=1
|
||||
tm_file="${tm_file} pa/pa-hpux.h pa/pa-hpux11.h"
|
||||
tm_file="${tm_file} pa/som.h pa/pa-hpux.h pa/pa-hpux11.h"
|
||||
xm_file=pa/xm-pahpux.h
|
||||
xmake_file=pa/x-pa-hpux
|
||||
tmake_file=pa/t-pa
|
||||
|
@ -3409,7 +3413,7 @@ for machine in $build $host $target; do
|
|||
use_collect2=yes
|
||||
;;
|
||||
hppa1.0-*-hpux11*)
|
||||
tm_file="${tm_file} pa/pa-hpux.h pa/pa-hpux11.h"
|
||||
tm_file="${tm_file} pa/som.h pa/pa-hpux.h pa/pa-hpux11.h"
|
||||
xm_file=pa/xm-pahpux.h
|
||||
xmake_file=pa/x-pa-hpux
|
||||
if [ x$gas = xyes ]
|
||||
|
@ -3428,7 +3432,7 @@ for machine in $build $host $target; do
|
|||
;;
|
||||
hppa1.1-*-hpux* | hppa2*-*-hpux*)
|
||||
target_cpu_default="MASK_PA_11"
|
||||
tm_file="${tm_file} pa/pa-hpux.h pa/pa-hpux9.h"
|
||||
tm_file="${tm_file} pa/som.h pa/pa-hpux.h pa/pa-hpux9.h"
|
||||
xm_file=pa/xm-pahpux.h
|
||||
xmake_file=pa/x-pa-hpux
|
||||
if test x$gas = xyes
|
||||
|
@ -3439,7 +3443,7 @@ for machine in $build $host $target; do
|
|||
use_collect2=yes
|
||||
;;
|
||||
hppa1.0-*-hpux*)
|
||||
tm_file="${tm_file} pa/pa-hpux.h pa/pa-hpux9.h"
|
||||
tm_file="${tm_file} pa/som.h pa/pa-hpux.h pa/pa-hpux9.h"
|
||||
xm_file=pa/xm-pahpux.h
|
||||
xmake_file=pa/x-pa-hpux
|
||||
if test x$gas = xyes
|
||||
|
@ -3451,7 +3455,7 @@ for machine in $build $host $target; do
|
|||
;;
|
||||
hppa1.1-*-hiux* | hppa2*-*-hiux*)
|
||||
target_cpu_default="MASK_PA_11"
|
||||
tm_file="${tm_file} pa/pa-hpux.h pa/pa-hiux.h"
|
||||
tm_file="${tm_file} pa/som.h pa/pa-hpux.h pa/pa-hiux.h"
|
||||
xm_file=pa/xm-pahpux.h
|
||||
xmake_file=pa/x-pa-hpux
|
||||
if test x$gas = xyes
|
||||
|
@ -3462,7 +3466,7 @@ for machine in $build $host $target; do
|
|||
use_collect2=yes
|
||||
;;
|
||||
hppa1.0-*-hiux*)
|
||||
tm_file="${tm_file} pa/pa-hpux.h pa/pa-hiux.h"
|
||||
tm_file="${tm_file} pa/som.h pa/pa-hpux.h pa/pa-hiux.h"
|
||||
xm_file=pa/xm-pahpux.h
|
||||
xmake_file=pa/x-pa-hpux
|
||||
if test x$gas = xyes
|
||||
|
@ -3473,6 +3477,7 @@ for machine in $build $host $target; do
|
|||
use_collect2=yes
|
||||
;;
|
||||
hppa*-*-lites*)
|
||||
tm_file="${tm_file} elfos.h pa/elf.h"
|
||||
target_cpu_default="MASK_PA_11"
|
||||
use_collect2=yes
|
||||
;;
|
||||
|
@ -6082,7 +6087,7 @@ fi
|
|||
|
||||
|
||||
echo $ac_n "checking for strerror in -lcposix""... $ac_c" 1>&6
|
||||
echo "configure:6086: checking for strerror in -lcposix" >&5
|
||||
echo "configure:6091: checking for strerror in -lcposix" >&5
|
||||
ac_lib_var=`echo cposix'_'strerror | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
|
@ -6090,7 +6095,7 @@ else
|
|||
ac_save_LIBS="$LIBS"
|
||||
LIBS="-lcposix $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 6094 "configure"
|
||||
#line 6099 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
|
@ -6101,7 +6106,7 @@ int main() {
|
|||
strerror()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:6105: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:6110: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||
else
|
||||
|
@ -6124,12 +6129,12 @@ fi
|
|||
|
||||
|
||||
echo $ac_n "checking for working const""... $ac_c" 1>&6
|
||||
echo "configure:6128: checking for working const" >&5
|
||||
echo "configure:6133: checking for working const" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 6133 "configure"
|
||||
#line 6138 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
int main() {
|
||||
|
@ -6178,7 +6183,7 @@ ccp = (char const *const *) p;
|
|||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:6182: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:6187: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
ac_cv_c_const=yes
|
||||
else
|
||||
|
@ -6199,21 +6204,21 @@ EOF
|
|||
fi
|
||||
|
||||
echo $ac_n "checking for inline""... $ac_c" 1>&6
|
||||
echo "configure:6203: checking for inline" >&5
|
||||
echo "configure:6208: checking for inline" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
ac_cv_c_inline=no
|
||||
for ac_kw in inline __inline__ __inline; do
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 6210 "configure"
|
||||
#line 6215 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
int main() {
|
||||
} $ac_kw foo() {
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:6217: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:6222: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
ac_cv_c_inline=$ac_kw; break
|
||||
else
|
||||
|
@ -6239,12 +6244,12 @@ EOF
|
|||
esac
|
||||
|
||||
echo $ac_n "checking for off_t""... $ac_c" 1>&6
|
||||
echo "configure:6243: checking for off_t" >&5
|
||||
echo "configure:6248: checking for off_t" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 6248 "configure"
|
||||
#line 6253 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <sys/types.h>
|
||||
#if STDC_HEADERS
|
||||
|
@ -6272,12 +6277,12 @@ EOF
|
|||
fi
|
||||
|
||||
echo $ac_n "checking for size_t""... $ac_c" 1>&6
|
||||
echo "configure:6276: checking for size_t" >&5
|
||||
echo "configure:6281: checking for size_t" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 6281 "configure"
|
||||
#line 6286 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <sys/types.h>
|
||||
#if STDC_HEADERS
|
||||
|
@ -6307,19 +6312,19 @@ fi
|
|||
# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
|
||||
# for constant arguments. Useless!
|
||||
echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
|
||||
echo "configure:6311: checking for working alloca.h" >&5
|
||||
echo "configure:6316: checking for working alloca.h" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 6316 "configure"
|
||||
#line 6321 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <alloca.h>
|
||||
int main() {
|
||||
char *p = alloca(2 * sizeof(int));
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:6323: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:6328: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
ac_cv_header_alloca_h=yes
|
||||
else
|
||||
|
@ -6340,12 +6345,12 @@ EOF
|
|||
fi
|
||||
|
||||
echo $ac_n "checking for alloca""... $ac_c" 1>&6
|
||||
echo "configure:6344: checking for alloca" >&5
|
||||
echo "configure:6349: checking for alloca" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 6349 "configure"
|
||||
#line 6354 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#ifdef __GNUC__
|
||||
|
@ -6373,7 +6378,7 @@ int main() {
|
|||
char *p = (char *) alloca(1);
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:6377: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:6382: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
ac_cv_func_alloca_works=yes
|
||||
else
|
||||
|
@ -6405,12 +6410,12 @@ EOF
|
|||
|
||||
|
||||
echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
|
||||
echo "configure:6409: checking whether alloca needs Cray hooks" >&5
|
||||
echo "configure:6414: checking whether alloca needs Cray hooks" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 6414 "configure"
|
||||
#line 6419 "configure"
|
||||
#include "confdefs.h"
|
||||
#if defined(CRAY) && ! defined(CRAY2)
|
||||
webecray
|
||||
|
@ -6435,12 +6440,12 @@ echo "$ac_t""$ac_cv_os_cray" 1>&6
|
|||
if test $ac_cv_os_cray = yes; then
|
||||
for ac_func in _getb67 GETB67 getb67; do
|
||||
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
|
||||
echo "configure:6439: checking for $ac_func" >&5
|
||||
echo "configure:6444: checking for $ac_func" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 6444 "configure"
|
||||
#line 6449 "configure"
|
||||
#include "confdefs.h"
|
||||
/* System header to define __stub macros and hopefully few prototypes,
|
||||
which can conflict with char $ac_func(); below. */
|
||||
|
@ -6463,7 +6468,7 @@ $ac_func();
|
|||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:6467: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:6472: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_func_$ac_func=yes"
|
||||
else
|
||||
|
@ -6490,7 +6495,7 @@ done
|
|||
fi
|
||||
|
||||
echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
|
||||
echo "configure:6494: checking stack direction for C alloca" >&5
|
||||
echo "configure:6499: checking stack direction for C alloca" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -6498,7 +6503,7 @@ else
|
|||
ac_cv_c_stack_direction=0
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 6502 "configure"
|
||||
#line 6507 "configure"
|
||||
#include "confdefs.h"
|
||||
find_stack_direction ()
|
||||
{
|
||||
|
@ -6517,7 +6522,7 @@ main ()
|
|||
exit (find_stack_direction() < 0);
|
||||
}
|
||||
EOF
|
||||
if { (eval echo configure:6521: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
|
||||
if { (eval echo configure:6526: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
|
||||
then
|
||||
ac_cv_c_stack_direction=1
|
||||
else
|
||||
|
@ -6542,17 +6547,17 @@ for ac_hdr in unistd.h
|
|||
do
|
||||
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
|
||||
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
|
||||
echo "configure:6546: checking for $ac_hdr" >&5
|
||||
echo "configure:6551: checking for $ac_hdr" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 6551 "configure"
|
||||
#line 6556 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <$ac_hdr>
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:6556: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:6561: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
rm -rf conftest*
|
||||
|
@ -6581,12 +6586,12 @@ done
|
|||
for ac_func in getpagesize
|
||||
do
|
||||
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
|
||||
echo "configure:6585: checking for $ac_func" >&5
|
||||
echo "configure:6590: checking for $ac_func" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 6590 "configure"
|
||||
#line 6595 "configure"
|
||||
#include "confdefs.h"
|
||||
/* System header to define __stub macros and hopefully few prototypes,
|
||||
which can conflict with char $ac_func(); below. */
|
||||
|
@ -6609,7 +6614,7 @@ $ac_func();
|
|||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:6613: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:6618: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_func_$ac_func=yes"
|
||||
else
|
||||
|
@ -6634,7 +6639,7 @@ fi
|
|||
done
|
||||
|
||||
echo $ac_n "checking for working mmap""... $ac_c" 1>&6
|
||||
echo "configure:6638: checking for working mmap" >&5
|
||||
echo "configure:6643: checking for working mmap" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -6642,7 +6647,7 @@ else
|
|||
ac_cv_func_mmap_fixed_mapped=no
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 6646 "configure"
|
||||
#line 6651 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
/* Thanks to Mike Haertel and Jim Avera for this test.
|
||||
|
@ -6782,7 +6787,7 @@ main()
|
|||
}
|
||||
|
||||
EOF
|
||||
if { (eval echo configure:6786: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
|
||||
if { (eval echo configure:6791: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
|
||||
then
|
||||
ac_cv_func_mmap_fixed_mapped=yes
|
||||
else
|
||||
|
@ -6810,17 +6815,17 @@ unistd.h sys/param.h
|
|||
do
|
||||
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
|
||||
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
|
||||
echo "configure:6814: checking for $ac_hdr" >&5
|
||||
echo "configure:6819: checking for $ac_hdr" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 6819 "configure"
|
||||
#line 6824 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <$ac_hdr>
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:6824: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:6829: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
rm -rf conftest*
|
||||
|
@ -6850,12 +6855,12 @@ done
|
|||
strdup __argz_count __argz_stringify __argz_next
|
||||
do
|
||||
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
|
||||
echo "configure:6854: checking for $ac_func" >&5
|
||||
echo "configure:6859: checking for $ac_func" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 6859 "configure"
|
||||
#line 6864 "configure"
|
||||
#include "confdefs.h"
|
||||
/* System header to define __stub macros and hopefully few prototypes,
|
||||
which can conflict with char $ac_func(); below. */
|
||||
|
@ -6878,7 +6883,7 @@ $ac_func();
|
|||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:6882: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:6887: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_func_$ac_func=yes"
|
||||
else
|
||||
|
@ -6907,12 +6912,12 @@ done
|
|||
for ac_func in stpcpy
|
||||
do
|
||||
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
|
||||
echo "configure:6911: checking for $ac_func" >&5
|
||||
echo "configure:6916: checking for $ac_func" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 6916 "configure"
|
||||
#line 6921 "configure"
|
||||
#include "confdefs.h"
|
||||
/* System header to define __stub macros and hopefully few prototypes,
|
||||
which can conflict with char $ac_func(); below. */
|
||||
|
@ -6935,7 +6940,7 @@ $ac_func();
|
|||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:6939: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:6944: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_func_$ac_func=yes"
|
||||
else
|
||||
|
@ -6969,19 +6974,19 @@ EOF
|
|||
|
||||
if test $ac_cv_header_locale_h = yes; then
|
||||
echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6
|
||||
echo "configure:6973: checking for LC_MESSAGES" >&5
|
||||
echo "configure:6978: checking for LC_MESSAGES" >&5
|
||||
if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 6978 "configure"
|
||||
#line 6983 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <locale.h>
|
||||
int main() {
|
||||
return LC_MESSAGES
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:6985: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:6990: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
am_cv_val_LC_MESSAGES=yes
|
||||
else
|
||||
|
@ -7002,7 +7007,7 @@ EOF
|
|||
fi
|
||||
fi
|
||||
echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6
|
||||
echo "configure:7006: checking whether NLS is requested" >&5
|
||||
echo "configure:7011: checking whether NLS is requested" >&5
|
||||
# Check whether --enable-nls or --disable-nls was given.
|
||||
if test "${enable_nls+set}" = set; then
|
||||
enableval="$enable_nls"
|
||||
|
@ -7022,7 +7027,7 @@ fi
|
|||
EOF
|
||||
|
||||
echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6
|
||||
echo "configure:7026: checking whether included gettext is requested" >&5
|
||||
echo "configure:7031: checking whether included gettext is requested" >&5
|
||||
# Check whether --with-included-gettext or --without-included-gettext was given.
|
||||
if test "${with_included_gettext+set}" = set; then
|
||||
withval="$with_included_gettext"
|
||||
|
@ -7041,17 +7046,17 @@ fi
|
|||
|
||||
ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'`
|
||||
echo $ac_n "checking for libintl.h""... $ac_c" 1>&6
|
||||
echo "configure:7045: checking for libintl.h" >&5
|
||||
echo "configure:7050: checking for libintl.h" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 7050 "configure"
|
||||
#line 7055 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <libintl.h>
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:7055: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:7060: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
rm -rf conftest*
|
||||
|
@ -7068,19 +7073,19 @@ fi
|
|||
if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
|
||||
echo "$ac_t""yes" 1>&6
|
||||
echo $ac_n "checking for gettext in libc""... $ac_c" 1>&6
|
||||
echo "configure:7072: checking for gettext in libc" >&5
|
||||
echo "configure:7077: checking for gettext in libc" >&5
|
||||
if eval "test \"`echo '$''{'gt_cv_func_gettext_libc'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 7077 "configure"
|
||||
#line 7082 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <libintl.h>
|
||||
int main() {
|
||||
return (int) gettext ("")
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:7084: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:7089: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
gt_cv_func_gettext_libc=yes
|
||||
else
|
||||
|
@ -7096,7 +7101,7 @@ echo "$ac_t""$gt_cv_func_gettext_libc" 1>&6
|
|||
|
||||
if test "$gt_cv_func_gettext_libc" != "yes"; then
|
||||
echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6
|
||||
echo "configure:7100: checking for bindtextdomain in -lintl" >&5
|
||||
echo "configure:7105: checking for bindtextdomain in -lintl" >&5
|
||||
ac_lib_var=`echo intl'_'bindtextdomain | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
|
@ -7104,7 +7109,7 @@ else
|
|||
ac_save_LIBS="$LIBS"
|
||||
LIBS="-lintl $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 7108 "configure"
|
||||
#line 7113 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
|
@ -7115,7 +7120,7 @@ int main() {
|
|||
bindtextdomain()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:7119: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:7124: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||
else
|
||||
|
@ -7131,12 +7136,12 @@ fi
|
|||
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
|
||||
echo "$ac_t""yes" 1>&6
|
||||
echo $ac_n "checking for gettext in libintl""... $ac_c" 1>&6
|
||||
echo "configure:7135: checking for gettext in libintl" >&5
|
||||
echo "configure:7140: checking for gettext in libintl" >&5
|
||||
if eval "test \"`echo '$''{'gt_cv_func_gettext_libintl'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
echo $ac_n "checking for gettext in -lintl""... $ac_c" 1>&6
|
||||
echo "configure:7140: checking for gettext in -lintl" >&5
|
||||
echo "configure:7145: checking for gettext in -lintl" >&5
|
||||
ac_lib_var=`echo intl'_'gettext | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
|
@ -7144,7 +7149,7 @@ else
|
|||
ac_save_LIBS="$LIBS"
|
||||
LIBS="-lintl $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 7148 "configure"
|
||||
#line 7153 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
|
@ -7155,7 +7160,7 @@ int main() {
|
|||
gettext()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:7159: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:7164: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||
else
|
||||
|
@ -7194,7 +7199,7 @@ EOF
|
|||
# Extract the first word of "msgfmt", so it can be a program name with args.
|
||||
set dummy msgfmt; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:7198: checking for $ac_word" >&5
|
||||
echo "configure:7203: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -7228,12 +7233,12 @@ fi
|
|||
for ac_func in dcgettext
|
||||
do
|
||||
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
|
||||
echo "configure:7232: checking for $ac_func" >&5
|
||||
echo "configure:7237: checking for $ac_func" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 7237 "configure"
|
||||
#line 7242 "configure"
|
||||
#include "confdefs.h"
|
||||
/* System header to define __stub macros and hopefully few prototypes,
|
||||
which can conflict with char $ac_func(); below. */
|
||||
|
@ -7256,7 +7261,7 @@ $ac_func();
|
|||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:7260: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:7265: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_func_$ac_func=yes"
|
||||
else
|
||||
|
@ -7283,7 +7288,7 @@ done
|
|||
# Extract the first word of "gmsgfmt", so it can be a program name with args.
|
||||
set dummy gmsgfmt; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:7287: checking for $ac_word" >&5
|
||||
echo "configure:7292: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -7319,7 +7324,7 @@ fi
|
|||
# Extract the first word of "xgettext", so it can be a program name with args.
|
||||
set dummy xgettext; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:7323: checking for $ac_word" >&5
|
||||
echo "configure:7328: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -7351,7 +7356,7 @@ else
|
|||
fi
|
||||
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 7355 "configure"
|
||||
#line 7360 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
int main() {
|
||||
|
@ -7359,7 +7364,7 @@ extern int _nl_msg_cat_cntr;
|
|||
return _nl_msg_cat_cntr
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:7363: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:7368: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
CATOBJEXT=.gmo
|
||||
DATADIRNAME=share
|
||||
|
@ -7382,7 +7387,7 @@ fi
|
|||
|
||||
if test "$CATOBJEXT" = "NONE"; then
|
||||
echo $ac_n "checking whether catgets can be used""... $ac_c" 1>&6
|
||||
echo "configure:7386: checking whether catgets can be used" >&5
|
||||
echo "configure:7391: checking whether catgets can be used" >&5
|
||||
# Check whether --with-catgets or --without-catgets was given.
|
||||
if test "${with_catgets+set}" = set; then
|
||||
withval="$with_catgets"
|
||||
|
@ -7395,7 +7400,7 @@ fi
|
|||
|
||||
if test "$nls_cv_use_catgets" = "yes"; then
|
||||
echo $ac_n "checking for main in -li""... $ac_c" 1>&6
|
||||
echo "configure:7399: checking for main in -li" >&5
|
||||
echo "configure:7404: checking for main in -li" >&5
|
||||
ac_lib_var=`echo i'_'main | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
|
@ -7403,14 +7408,14 @@ else
|
|||
ac_save_LIBS="$LIBS"
|
||||
LIBS="-li $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 7407 "configure"
|
||||
#line 7412 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
int main() {
|
||||
main()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:7414: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:7419: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||
else
|
||||
|
@ -7438,12 +7443,12 @@ else
|
|||
fi
|
||||
|
||||
echo $ac_n "checking for catgets""... $ac_c" 1>&6
|
||||
echo "configure:7442: checking for catgets" >&5
|
||||
echo "configure:7447: checking for catgets" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_func_catgets'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 7447 "configure"
|
||||
#line 7452 "configure"
|
||||
#include "confdefs.h"
|
||||
/* System header to define __stub macros and hopefully few prototypes,
|
||||
which can conflict with char catgets(); below. */
|
||||
|
@ -7466,7 +7471,7 @@ catgets();
|
|||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:7470: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:7475: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_func_catgets=yes"
|
||||
else
|
||||
|
@ -7488,7 +7493,7 @@ EOF
|
|||
# Extract the first word of "gencat", so it can be a program name with args.
|
||||
set dummy gencat; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:7492: checking for $ac_word" >&5
|
||||
echo "configure:7497: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_GENCAT'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -7524,7 +7529,7 @@ fi
|
|||
# Extract the first word of "gmsgfmt", so it can be a program name with args.
|
||||
set dummy gmsgfmt; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:7528: checking for $ac_word" >&5
|
||||
echo "configure:7533: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -7561,7 +7566,7 @@ fi
|
|||
# Extract the first word of "msgfmt", so it can be a program name with args.
|
||||
set dummy msgfmt; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:7565: checking for $ac_word" >&5
|
||||
echo "configure:7570: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -7596,7 +7601,7 @@ fi
|
|||
# Extract the first word of "xgettext", so it can be a program name with args.
|
||||
set dummy xgettext; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:7600: checking for $ac_word" >&5
|
||||
echo "configure:7605: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -7654,7 +7659,7 @@ fi
|
|||
# Extract the first word of "msgfmt", so it can be a program name with args.
|
||||
set dummy msgfmt; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:7658: checking for $ac_word" >&5
|
||||
echo "configure:7663: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -7688,7 +7693,7 @@ fi
|
|||
# Extract the first word of "gmsgfmt", so it can be a program name with args.
|
||||
set dummy gmsgfmt; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:7692: checking for $ac_word" >&5
|
||||
echo "configure:7697: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -7724,7 +7729,7 @@ fi
|
|||
# Extract the first word of "xgettext", so it can be a program name with args.
|
||||
set dummy xgettext; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:7728: checking for $ac_word" >&5
|
||||
echo "configure:7733: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -7817,7 +7822,7 @@ fi
|
|||
LINGUAS=
|
||||
else
|
||||
echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6
|
||||
echo "configure:7821: checking for catalogs to be installed" >&5
|
||||
echo "configure:7826: checking for catalogs to be installed" >&5
|
||||
NEW_LINGUAS=
|
||||
for lang in ${LINGUAS=$ALL_LINGUAS}; do
|
||||
case "$ALL_LINGUAS" in
|
||||
|
@ -7845,17 +7850,17 @@ echo "configure:7821: checking for catalogs to be installed" >&5
|
|||
if test "$CATOBJEXT" = ".cat"; then
|
||||
ac_safe=`echo "linux/version.h" | sed 'y%./+-%__p_%'`
|
||||
echo $ac_n "checking for linux/version.h""... $ac_c" 1>&6
|
||||
echo "configure:7849: checking for linux/version.h" >&5
|
||||
echo "configure:7854: checking for linux/version.h" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 7854 "configure"
|
||||
#line 7859 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <linux/version.h>
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:7859: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:7864: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
rm -rf conftest*
|
||||
|
@ -8089,7 +8094,7 @@ fi
|
|||
|
||||
# Figure out what assembler alignment features are present.
|
||||
echo $ac_n "checking assembler alignment features""... $ac_c" 1>&6
|
||||
echo "configure:8093: checking assembler alignment features" >&5
|
||||
echo "configure:8098: checking assembler alignment features" >&5
|
||||
gcc_cv_as=
|
||||
gcc_cv_as_alignment_features=
|
||||
gcc_cv_as_gas_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/gas
|
||||
|
@ -8210,7 +8215,7 @@ fi
|
|||
echo "$ac_t""$gcc_cv_as_alignment_features" 1>&6
|
||||
|
||||
echo $ac_n "checking assembler subsection support""... $ac_c" 1>&6
|
||||
echo "configure:8214: checking assembler subsection support" >&5
|
||||
echo "configure:8219: checking assembler subsection support" >&5
|
||||
gcc_cv_as_subsections=
|
||||
if test x$gcc_cv_as != x; then
|
||||
# Check if we have .subsection
|
||||
|
@ -8250,7 +8255,7 @@ fi
|
|||
echo "$ac_t""$gcc_cv_as_subsections" 1>&6
|
||||
|
||||
echo $ac_n "checking assembler instructions""... $ac_c" 1>&6
|
||||
echo "configure:8254: checking assembler instructions" >&5
|
||||
echo "configure:8259: checking assembler instructions" >&5
|
||||
gcc_cv_as_instructions=
|
||||
if test x$gcc_cv_as != x; then
|
||||
set "filds fists" "filds mem; fists mem"
|
||||
|
|
|
@ -836,33 +836,37 @@ changequote([,])dnl
|
|||
tmake_file=pa/t-openbsd
|
||||
;;
|
||||
hppa1.1-*-pro*)
|
||||
tm_file="pa/pa-pro.h ${tm_file} pa/pa-pro-end.h libgloss.h"
|
||||
target_cpu_default="(MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT)"
|
||||
tm_file="${tm_file} elfos.h pa/elf.h pa/pa-pro-end.h libgloss.h"
|
||||
xm_file=pa/xm-papro.h
|
||||
tmake_file=pa/t-pro
|
||||
;;
|
||||
hppa1.1-*-osf*)
|
||||
target_cpu_default="MASK_PA_11"
|
||||
tm_file="${tm_file} pa/pa-osf.h"
|
||||
tm_file="${tm_file} pa/som.h pa/pa-osf.h"
|
||||
use_collect2=yes
|
||||
;;
|
||||
hppa1.1-*-rtems*)
|
||||
tm_file="pa/pa-pro.h ${tm_file} pa/pa-pro-end.h libgloss.h pa/rtems.h"
|
||||
target_cpu_default="(MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT)"
|
||||
tm_file="${tm_file} elfos.h pa/elf.h pa/pa-pro-end.h libgloss.h pa/rtems.h"
|
||||
xm_file=pa/xm-papro.h
|
||||
tmake_file=pa/t-pro
|
||||
;;
|
||||
hppa1.0-*-osf*)
|
||||
tm_file="${tm_file} pa/pa-osf.h"
|
||||
tm_file="${tm_file} pa/som.h pa/pa-osf.h"
|
||||
use_collect2=yes
|
||||
;;
|
||||
hppa1.1-*-bsd*)
|
||||
tm_file="${tm_file} pa/som.h"
|
||||
target_cpu_default="MASK_PA_11"
|
||||
use_collect2=yes
|
||||
;;
|
||||
hppa1.0-*-bsd*)
|
||||
tm_file="${tm_file} pa/som.h"
|
||||
use_collect2=yes
|
||||
;;
|
||||
hppa1.0-*-hpux7*)
|
||||
tm_file="pa/pa-oldas.h ${tm_file} pa/pa-hpux7.h"
|
||||
tm_file="pa/pa-oldas.h ${tm_file} pa/som.h pa/pa-hpux7.h"
|
||||
xm_file=pa/xm-pahpux.h
|
||||
xmake_file=pa/x-pa-hpux
|
||||
if test x$gas = xyes
|
||||
|
@ -875,7 +879,7 @@ changequote([,])dnl
|
|||
changequote(,)dnl
|
||||
hppa1.0-*-hpux8.0[0-2]*)
|
||||
changequote([,])dnl
|
||||
tm_file="${tm_file} pa/pa-hpux.h"
|
||||
tm_file="${tm_file} pa/som.h pa/pa-hpux.h"
|
||||
xm_file=pa/xm-pahpux.h
|
||||
xmake_file=pa/x-pa-hpux
|
||||
if test x$gas = xyes
|
||||
|
@ -891,7 +895,7 @@ changequote(,)dnl
|
|||
hppa1.1-*-hpux8.0[0-2]*)
|
||||
changequote([,])dnl
|
||||
target_cpu_default="MASK_PA_11"
|
||||
tm_file="${tm_file} pa/pa-hpux.h"
|
||||
tm_file="${tm_file} pa/som.h pa/pa-hpux.h"
|
||||
xm_file=pa/xm-pahpux.h
|
||||
xmake_file=pa/x-pa-hpux
|
||||
if test x$gas = xyes
|
||||
|
@ -905,7 +909,7 @@ changequote([,])dnl
|
|||
;;
|
||||
hppa1.1-*-hpux8*)
|
||||
target_cpu_default="MASK_PA_11"
|
||||
tm_file="${tm_file} pa/pa-hpux.h"
|
||||
tm_file="${tm_file} pa/som.h pa/pa-hpux.h"
|
||||
xm_file=pa/xm-pahpux.h
|
||||
xmake_file=pa/x-pa-hpux
|
||||
if test x$gas = xyes
|
||||
|
@ -916,7 +920,7 @@ changequote([,])dnl
|
|||
use_collect2=yes
|
||||
;;
|
||||
hppa1.0-*-hpux8*)
|
||||
tm_file="${tm_file} pa/pa-hpux.h"
|
||||
tm_file="${tm_file} pa/som.h pa/pa-hpux.h"
|
||||
xm_file=pa/xm-pahpux.h
|
||||
xmake_file=pa/x-pa-hpux
|
||||
if test x$gas = xyes
|
||||
|
@ -928,7 +932,7 @@ changequote([,])dnl
|
|||
;;
|
||||
hppa1.1-*-hpux10* | hppa2*-*-hpux10*)
|
||||
target_cpu_default="MASK_PA_11"
|
||||
tm_file="${tm_file} pa/pa-hpux.h pa/pa-hpux10.h"
|
||||
tm_file="${tm_file} pa/som.h pa/pa-hpux.h pa/pa-hpux10.h"
|
||||
xm_file=pa/xm-pahpux.h
|
||||
xmake_file=pa/x-pa-hpux
|
||||
tmake_file=pa/t-pa
|
||||
|
@ -947,7 +951,7 @@ changequote([,])dnl
|
|||
use_collect2=yes
|
||||
;;
|
||||
hppa1.0-*-hpux10*)
|
||||
tm_file="${tm_file} pa/pa-hpux.h pa/pa-hpux10.h"
|
||||
tm_file="${tm_file} pa/som.h pa/pa-hpux.h pa/pa-hpux10.h"
|
||||
xm_file=pa/xm-pahpux.h
|
||||
xmake_file=pa/x-pa-hpux
|
||||
tmake_file=pa/t-pa
|
||||
|
@ -967,7 +971,7 @@ changequote([,])dnl
|
|||
;;
|
||||
hppa1.1-*-hpux11* | hppa2*-*-hpux11*)
|
||||
target_cpu_default=1
|
||||
tm_file="${tm_file} pa/pa-hpux.h pa/pa-hpux11.h"
|
||||
tm_file="${tm_file} pa/som.h pa/pa-hpux.h pa/pa-hpux11.h"
|
||||
xm_file=pa/xm-pahpux.h
|
||||
xmake_file=pa/x-pa-hpux
|
||||
tmake_file=pa/t-pa
|
||||
|
@ -986,7 +990,7 @@ changequote([,])dnl
|
|||
use_collect2=yes
|
||||
;;
|
||||
hppa1.0-*-hpux11*)
|
||||
tm_file="${tm_file} pa/pa-hpux.h pa/pa-hpux11.h"
|
||||
tm_file="${tm_file} pa/som.h pa/pa-hpux.h pa/pa-hpux11.h"
|
||||
xm_file=pa/xm-pahpux.h
|
||||
xmake_file=pa/x-pa-hpux
|
||||
if [[ x$gas = xyes ]]
|
||||
|
@ -1005,7 +1009,7 @@ changequote([,])dnl
|
|||
;;
|
||||
hppa1.1-*-hpux* | hppa2*-*-hpux*)
|
||||
target_cpu_default="MASK_PA_11"
|
||||
tm_file="${tm_file} pa/pa-hpux.h pa/pa-hpux9.h"
|
||||
tm_file="${tm_file} pa/som.h pa/pa-hpux.h pa/pa-hpux9.h"
|
||||
xm_file=pa/xm-pahpux.h
|
||||
xmake_file=pa/x-pa-hpux
|
||||
if test x$gas = xyes
|
||||
|
@ -1016,7 +1020,7 @@ changequote([,])dnl
|
|||
use_collect2=yes
|
||||
;;
|
||||
hppa1.0-*-hpux*)
|
||||
tm_file="${tm_file} pa/pa-hpux.h pa/pa-hpux9.h"
|
||||
tm_file="${tm_file} pa/som.h pa/pa-hpux.h pa/pa-hpux9.h"
|
||||
xm_file=pa/xm-pahpux.h
|
||||
xmake_file=pa/x-pa-hpux
|
||||
if test x$gas = xyes
|
||||
|
@ -1028,7 +1032,7 @@ changequote([,])dnl
|
|||
;;
|
||||
hppa1.1-*-hiux* | hppa2*-*-hiux*)
|
||||
target_cpu_default="MASK_PA_11"
|
||||
tm_file="${tm_file} pa/pa-hpux.h pa/pa-hiux.h"
|
||||
tm_file="${tm_file} pa/som.h pa/pa-hpux.h pa/pa-hiux.h"
|
||||
xm_file=pa/xm-pahpux.h
|
||||
xmake_file=pa/x-pa-hpux
|
||||
if test x$gas = xyes
|
||||
|
@ -1039,7 +1043,7 @@ changequote([,])dnl
|
|||
use_collect2=yes
|
||||
;;
|
||||
hppa1.0-*-hiux*)
|
||||
tm_file="${tm_file} pa/pa-hpux.h pa/pa-hiux.h"
|
||||
tm_file="${tm_file} pa/som.h pa/pa-hpux.h pa/pa-hiux.h"
|
||||
xm_file=pa/xm-pahpux.h
|
||||
xmake_file=pa/x-pa-hpux
|
||||
if test x$gas = xyes
|
||||
|
@ -1050,6 +1054,7 @@ changequote([,])dnl
|
|||
use_collect2=yes
|
||||
;;
|
||||
hppa*-*-lites*)
|
||||
tm_file="${tm_file} elfos.h pa/elf.h"
|
||||
target_cpu_default="MASK_PA_11"
|
||||
use_collect2=yes
|
||||
;;
|
||||
|
|
Loading…
Add table
Reference in a new issue