https://sourceware.org/bugzilla/show_bug.cgi?id=22269

--- Comment #3 from H.J. Lu <hjl.tools at gmail dot com> ---
elfxx-x86.h has

/* Is a undefined weak symbol which is resolved to 0.  Reference to an
   undefined weak symbol is resolved to 0 when building executable if
   it isn't dynamic and
   1. Has non-GOT/non-PLT relocations in text section.  Or
   2. Has no GOT/PLT relocation.
   Local undefined weak symbol is always resolved to 0.
 */
#define UNDEFINED_WEAK_RESOLVED_TO_ZERO(INFO, EH) \
  ((EH)->elf.root.type == bfd_link_hash_undefweak                \
   && (SYMBOL_REFERENCES_LOCAL_P ((INFO), &(EH)->elf)            \
       || (bfd_link_executable (INFO)                            \
           && (!(EH)->has_got_reloc                              \
               || (EH)->has_non_got_reloc))))

It may be useful for other targets.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils

Reply via email to