aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorSteve Ellcey <sje@cup.hp.com>2002-09-26 21:34:46 +0000
committerSteve Ellcey <sje@gcc.gnu.org>2002-09-26 21:34:46 +0000
commit68bb91b1e084c648b88eb221dc0cfbf18d74dd8a (patch)
tree6f8a3fa0ba565cf8174d28ff4bead8b04606729f /gcc
parent5429802d9fe409152fe497ca866d32106a33e62c (diff)
downloadgcc-68bb91b1e084c648b88eb221dc0cfbf18d74dd8a.zip
gcc-68bb91b1e084c648b88eb221dc0cfbf18d74dd8a.tar.gz
gcc-68bb91b1e084c648b88eb221dc0cfbf18d74dd8a.tar.bz2
* config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
From-SVN: r57551
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/ia64/hpux.h11
2 files changed, 15 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 65370cd..74d76b0 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
2002-09-26 Steve Ellcey <sje@cup.hp.com>
+ * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
+
+2002-09-26 Steve Ellcey <sje@cup.hp.com>
+
* config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
2002-09-26 Igor Shevlyakov <igor@microunity.com>
diff --git a/gcc/config/ia64/hpux.h b/gcc/config/ia64/hpux.h
index fb73c65..1b0f653 100644
--- a/gcc/config/ia64/hpux.h
+++ b/gcc/config/ia64/hpux.h
@@ -115,6 +115,17 @@ do { \
structure handling, this macro simply ensures that single field
structures are always treated like structures. */
+/* ASM_OUTPUT_EXTERNAL_LIBCALL defaults to just a globalize_label call,
+ but that doesn't put out the @function type information which causes
+ shared library problems. */
+
+#undef ASM_OUTPUT_EXTERNAL_LIBCALL
+#define ASM_OUTPUT_EXTERNAL_LIBCALL(FILE, FUN) \
+do { \
+ (*targetm.asm_out.globalize_label) (FILE, XSTR (FUN, 0)); \
+ ASM_OUTPUT_TYPE_DIRECTIVE (FILE, XSTR (FUN, 0), "function"); \
+} while (0)
+
#define MEMBER_TYPE_FORCES_BLK(FIELD, MODE) 1
/* Override the setting of FUNCTION_ARG_REG_LITTLE_ENDIAN in