summaryrefslogtreecommitdiffstats
path: root/gcc/config
diff options
context:
space:
mode:
authorsje <sje@138bc75d-0d04-0410-961f-82ee72b054a4>2002-09-26 21:34:46 +0000
committersje <sje@138bc75d-0d04-0410-961f-82ee72b054a4>2002-09-26 21:34:46 +0000
commitb44dc256b9239df0b6fcd8fb4388609e0f7c77d3 (patch)
tree6f8a3fa0ba565cf8174d28ff4bead8b04606729f /gcc/config
parent4401b46022a05eb2cabc6f5f3f464c26786fa7de (diff)
downloadppe42-gcc-b44dc256b9239df0b6fcd8fb4388609e0f7c77d3.tar.gz
ppe42-gcc-b44dc256b9239df0b6fcd8fb4388609e0f7c77d3.zip
* config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@57551 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/ia64/hpux.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/config/ia64/hpux.h b/gcc/config/ia64/hpux.h
index fb73c654212..1b0f653f612 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
OpenPOWER on IntegriCloud