aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJohn David Anglin <dave@hiauly1.hia.nrc.ca>2002-01-21 21:22:19 +0000
committerJohn David Anglin <danglin@gcc.gnu.org>2002-01-21 21:22:19 +0000
commit85e79f96ed113455e0b36a7d8ca3259ed33307a6 (patch)
tree8738a4d78c6a04f889eaac008ce2d96588e7d974 /gcc
parent38abadee50ae391278e56188923c17a4495a7b49 (diff)
downloadgcc-85e79f96ed113455e0b36a7d8ca3259ed33307a6.zip
gcc-85e79f96ed113455e0b36a7d8ca3259ed33307a6.tar.gz
gcc-85e79f96ed113455e0b36a7d8ca3259ed33307a6.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/config/pa/pa64-hpux.h34
2 files changed, 37 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 64640a5..d65aaf8 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/config/pa/pa64-hpux.h b/gcc/config/pa/pa64-hpux.h
index 6445c9a..c4a6b27 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