------- Comment #10 from danglin at gcc dot gnu dot org 2005-12-10 22:22 ------- GCC is generating incorrect assembler code for the target of weak references. For example, this is the declaration for "wf1":
extern ftype wf1; I.e., it is declared as a function. However, there is no .IMPORT emitted for wf1, or its aliases Wf1a, Wf1b or Wf1c. As a result, the assembler has no way of knowing whether the symbol is code or data. So, it ends up as a data symbol. 00000000 00000000 Data Unsat 0 ......S... 3 00000 wf1 This would seem to indicate that ASM_OUTPUT_EXTERNAL wasn't used for wf1. Failure to type assembler symbols correctly can often cause HP ld to dump core. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24827