From 85e79f96ed113455e0b36a7d8ca3259ed33307a6 Mon Sep 17 00:00:00 2001 From: John David Anglin Date: Mon, 21 Jan 2002 21:22:19 +0000 Subject: [PATCH] pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin". * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin". (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/". (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/". (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections. (ENDFILE_SPEC): Undefine. (STARTFILE_SPEC): Redefine for PA. From-SVN: r49054 --- gcc/ChangeLog | 9 +++++++++ gcc/config/pa/pa64-hpux.h | 34 ++++++++++++++++++++++++++++------ 2 files changed, 37 insertions(+), 6 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 64640a5f9f5..d65aaf811b1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2002-01-21 John David Anglin + + * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin". + (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/". + (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/". + (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections. + (ENDFILE_SPEC): Undefine. + (STARTFILE_SPEC): Redefine for PA. + 2002-01-21 Franz Sirl * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC. diff --git a/gcc/config/pa/pa64-hpux.h b/gcc/config/pa/pa64-hpux.h index 6445c9aa27e..c4a6b27df8b 100644 --- a/gcc/config/pa/pa64-hpux.h +++ b/gcc/config/pa/pa64-hpux.h @@ -1,6 +1,6 @@ /* Definitions of target machine for GNU compiler, for HPs running HPUX using the 64bit runtime model. - Copyright (C) 1999, 2000 Free Software Foundation, Inc. + Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of GNU CC. @@ -41,15 +41,21 @@ Boston, MA 02111-1307, USA. */ #ifndef CROSS_COMPILE #undef MD_EXEC_PREFIX -#define MD_EXEC_PREFIX "/opt/langtools/bin" +#define MD_EXEC_PREFIX "/usr/ccs/bin" #endif -/* Under hpux11 the normal location of the various *crt*.o files is the - /usr/ccs/lib directory. */ +/* Under hpux11 the normal location of the various pa20_64 *crt*.o files + is the /usr/ccs/lib/pa20_64 directory. Some files may also be in the + /opt/langtools/lib/pa20_64 directory. */ #ifndef CROSS_COMPILE #undef MD_STARTFILE_PREFIX -#define MD_STARTFILE_PREFIX "/opt/langtools/lib/pa20_64/" +#define MD_STARTFILE_PREFIX "/usr/ccs/lib/pa20_64/" +#endif + +#ifndef CROSS_COMPILE +#undef MD_STARTFILE_PREFIX_1 +#define MD_STARTFILE_PREFIX_1 "/opt/langtools/lib/pa20_64/" #endif /* hpux11 has the new HP assembler. It's still lousy, but it's a whole lot @@ -107,10 +113,26 @@ do { \ The definitions say how to change sections to the .init and .fini sections. This is the same for all known svr4 assemblers. */ -/* ??? For the time being, we aren't using init sections. */ +/* For the time being, we aren't using init sections. `P' relocations + are currently used for function references. However, P relocations are + treated as data references and data references are bound by dld.sl + immediately at program startup. This causes an abort due to undefined + weak symbols in crtbegin.o (e.g., __register_frame_info). Possibly + Q relocations might avoid this problem but the GNU assembler doesn't + support them. */ #if 0 #define INIT_SECTION_ASM_OP "\t.section\t.init" #define FINI_SECTION_ASM_OP "\t.section\t.fini" +#else +#define EH_FRAME_IN_DATA_SECTION 1 + +#undef ENDFILE_SPEC +#define ENDFILE_SPEC "" + +#undef STARTFILE_SPEC +#define STARTFILE_SPEC "%{!shared: \ + %{!symbolic: \ + %{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}}}" #endif /* A default list of other sections which we might be "in" at any given