From 68bb91b1e084c648b88eb221dc0cfbf18d74dd8a Mon Sep 17 00:00:00 2001 From: Steve Ellcey Date: Thu, 26 Sep 2002 21:34:46 +0000 Subject: [PATCH] * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New From-SVN: r57551 --- gcc/ChangeLog | 4 ++++ gcc/config/ia64/hpux.h | 11 +++++++++++ 2 files changed, 15 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 65370cdf651..74d76b050f4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2002-09-26 Steve Ellcey + + * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New + 2002-09-26 Steve Ellcey * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32. 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 -- 2.30.2