diff options
Diffstat (limited to 'gcc/config')
-rw-r--r-- | gcc/config/ia64/hpux.h | 11 |
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 |