Commit 0d381b47 by Jeffrey A Law Committed by Jeff Law

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
parent c7a159aa
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.
......
/* 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 ""
/* 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
......
......@@ -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
;;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment