[patch ld]: Testsuite fix of vers-script-3 and vers-script-4 tests
Kai Tietz
ktietz70@googlemail.com
Tue Feb 15 15:30:00 GMT 2011
2011/2/15 Kai Tietz <ktietz70@googlemail.com>:
> Hello,
>
> ChangeLog
>
> 2011-02-15 Kai Tietz
>
> * ld-pe/vers-script-3.ver: Add _Z* to global and use
> wildcard for personality symbols.
> * ld-pe/vers-script-4.ver: Likewise.
>
> Tested for x86_64-w64-mingw32 and i686-w64-mingw32. Ok for apply?
>
> Regards,
> Kai
>
Ok, I withdraw recent patch. It is just fixing the symptoms but not
the underlying issue.
For 32-bit COFF the real issue is in pe-dll.c file in function
process_def_file_and_drectve. Here the underscore of a symbol is
stripped, and the same time it is done in bfd_demangle, which is used
by bfd_find_version_for_sym. By this in 32-bit case with leading
underscores, they were stripped twice.
ChangeLog
2011-02-15 Kai Tietz
* pe-dll.c (process_def_file_and_drectve): Don't strip
leading underscore from symbol by calling bfd_find_version_for_sym.
Tested for x86_64-w64-mingw32, i686-pc-cygwin, and i686-w64-mingw32.
Ok for apply?
Regards,
Kai
-------------- next part --------------
Index: pe-dll.c
===================================================================
RCS file: /cvs/src/src/ld/pe-dll.c,v
retrieving revision 1.133
diff -u -3 -r1.133 pe-dll.c
--- pe-dll.c 27 Jun 2010 04:07:54 -0000 1.133
+++ pe-dll.c 15 Feb 2011 15:23:17 -0000
@@ -720,9 +720,8 @@
if (lang_elf_version_info && would_export)
{
bfd_boolean hide = 0;
- char ofs = pe_details->underscored && symbols[j]->name[0] == '_';
(void) bfd_find_version_for_sym (lang_elf_version_info,
- symbols[j]->name + ofs, &hide);
+ symbols[j]->name, &hide);
would_export = !hide;
}
if (would_export)
More information about the Binutils
mailing list