[llvm-bugs] [Bug 40176] New: problem with lld and wildcard characters in version scripts

via llvm-bugs llvm-bugs at lists.llvm.org
Fri Dec 28 08:56:03 PST 2018


https://bugs.llvm.org/show_bug.cgi?id=40176

            Bug ID: 40176
           Summary: problem with lld and wildcard characters in version
                    scripts
           Product: lld
           Version: unspecified
          Hardware: PC
                OS: FreeBSD
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: ELF
          Assignee: unassignedbugs at nondot.org
          Reporter: tijl at coosemans.org
                CC: llvm-bugs at lists.llvm.org, peter.smith at linaro.org

% cat test.c
void
foo( void ) {
}

void
bar( void ) {
}
% cat test.ver
FOO {
        foo*;
};

BAR {
        *;
};
% clang60 -shared test.c -o libtest.so -s -Wl,--version-script=test.ver
% readelf -s libtest.so
Symbol table (.dynsym) contains 7 entries:
   Num:    Value          Size Type    Bind   Vis      Ndx Name
     0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND 
     1: 0000000000000000     0 NOTYPE  WEAK   DEFAULT  UND _Jv_RegisterClasses
     2: 0000000000000000     0 FUNC    WEAK   DEFAULT  UND
__cxa_finalize at FBSD_1.0 (4)
     3: 00000000000010dc     0 FUNC    GLOBAL DEFAULT   14 _fini@@BAR (3)
     4: 00000000000010cc     0 FUNC    GLOBAL DEFAULT   13 _init@@BAR (3)
     5: 0000000000001090     6 FUNC    GLOBAL DEFAULT   12 bar@@BAR (3)
     6: 0000000000001080     6 FUNC    GLOBAL DEFAULT   12 foo@@BAR (3)

Note foo@@BAR instead of foo@@FOO.  It's correct when compiling with
-fuse-ld=bfd.

This affects building Qt5.  Many symbols should have a Qt_5_PRIVATE_API version
label but have a Qt5 label instead.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20181228/d3c0cd9b/attachment.html>


More information about the llvm-bugs mailing list