This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: [PING] Windows PECOFF weak symbol fixes for *-mingw32 and *-cygwin
Hi Aaron,
Thanks for taking the time to complete a detailed review. I've
addressed your comments below, and attached a revised patch.
Thanks very much.
> 2004-11-05 Aaron W. LaFramboise <aaron98wiridge9@aaronwl.com>
>
> bfd
> * coff-i386.c (coff_i386_reloc): Fix weak symbols.
> * cofflink.c (_bfd_coff_link_input_bfd): Don't process
> C_NT_WEAK aux entries.
> (_bfd_coff_generic_relocate_section): Handle undefined
> aliases.
>
>binutils
> * doc/binutils.texi (nm): Update.
>
>gas
> * symbols.c (any_external_name): Define.
> (resolve_symbol_value): Do not convert weak symbols.
> (S_SET_EXTERNAL): Support any_external_name.
> (S_SET_NAME): Qualify parameter const.
> (symbol_equated_reloc_p): Don't equate weaks when relocating.
> * symbols.h (S_SET_NAME): Qualfiy parameter const.
> * tc.h (any_external_name): Declare.
> * config/obj-coff.c ("coff/pe.h"): Include for BFD
> assemblers also.
> (weak_is_altname): Declare and define.
> (weak_name2altname): Same.
> (weak_altname2name): Same.
> (weak_uniquify): Same.
> (weak_altprefix): Define.
> (obj_coff_weak): Change .weak syntax and handling.
> (coff_frob_symbol): Fix PE weak symbol alternates.
> * config/obj-coff.h (USE_UNIQUE): Define.
> * config/tc-i386.c (md_apply_fix3): Assume weak symbols
> are in another segment.
> (tc_gen_reloc): Remove broken addend hack.
> doc/as.texinfo: Update.
>
>include
> coff/pe.h (IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY): Define.
> (IMAGE_WEAK_EXTERN_SEARCH_LIBRARY): Same.
> (IMAGE_WEAK_EXTERN_SEARCH_ALIAS): Same.
>
>ld
> * testsuite/ld-scripts/weak.exp: Enable test on PE,
> XFAIL non-i386 PE.
> * testsuite/ld-undefined/weak-undef.exp: Enable test on PE,
> XFAIL non-i386 PE.
> * testsuite/lib/ld-lib.exp (is_pecoff_format): New.
Approved and applied.
Cheers
Nick