<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - problem with lld and wildcard characters in version scripts"
   href="https://bugs.llvm.org/show_bug.cgi?id=40176">40176</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>problem with lld and wildcard characters in version scripts
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>lld
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>FreeBSD
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>enhancement
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>ELF
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>tijl@coosemans.org
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org, peter.smith@linaro.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>% 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
<a href="mailto:__cxa_finalize@FBSD_1.0">__cxa_finalize@FBSD_1.0</a> (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.</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>