pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
authorJohn David Anglin <dave@hiauly1.hia.nrc.ca>
Mon, 21 Jan 2002 21:22:19 +0000 (21:22 +0000)
committerJohn David Anglin <danglin@gcc.gnu.org>
Mon, 21 Jan 2002 21:22:19 +0000 (21:22 +0000)
* 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
gcc/config/pa/pa64-hpux.h

index 64640a5f9f5b391898ae357ff7d6993df1b19662..d65aaf811b10e8f8ff6af7b646a4da58675635a8 100644 (file)
@@ -1,3 +1,12 @@
+2002-01-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * 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  <Franz.Sirl-kernel@lauterbach.com>
 
        * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
index 6445c9aa27ea18ac2d0a783531895f8b5e917d83..c4a6b27df8bf39ac22a6851f14b6022d74739b1a 100644 (file)
@@ -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