RESOLVED FIXED 280170
[GTK][WPE] check-for-invalid-symbols-in-version-script wrongly matches hidden symbols
https://bugs.webkit.org/show_bug.cgi?id=280170
Summary [GTK][WPE] check-for-invalid-symbols-in-version-script wrongly matches hidde...
Adrian Perez
Reported 2024-09-23 00:59:55 PDT
The Tools/Scripts/check-for-invalid-symbols-in-version-script tool uses “objcopy -t -C” to gather the list of symbols in an ELF object, which lists all kind of symbols -- including hidden ones, e.g.: % objdump -t -C build-wpe/lib/libWPEWebKit-2.0.so.2 00000000017235d0 l F .text 0000000000000001 .hidden IPC::ArgumentCoder<WebCore::Font, void>::encodePlatformData(IPC::Encoder&, WebCore::Font const&) 00000000017235e0 l F .text 0000000000000008 .hidden IPC::ArgumentCoder<WebCore::Font, void>::decodePlatformData(IPC::Decoder&) ... 0000000001641ade l O .rodata.str1.1 000000000000003b .L__PRETTY_FUNCTION__.webkit_web_view_new ... 0000000001c249f0 g F .text 0000000000000060 webkit_web_view_new ... % The program does not do any attempt at parsing the output from objdump, and it just matches strings against its whole output text. Which means it will match all kinds of symbols, including hidden ones. The script is basically doing nothing useful, and it should be checking only the visible symbols from the ELF dynamic section. A much more convenient way of obtaining the list of such symbols would be using e.g. “nm -jUCD”.
Attachments
Adrian Perez
Comment 1 2024-09-23 01:04:24 PDT
EWS
Comment 2 2024-09-23 01:44:04 PDT
Committed 284063@main (dda1d973f908): <https://commits.webkit.org/284063@main> Reviewed commits have been landed. Closing PR #34073 and removing active labels.
Radar WebKit Bug Importer
Comment 3 2024-09-23 01:45:17 PDT
Note You need to log in before you can comment on or make changes to this bug.