[llvm-bugs] [Bug 26745] New: internalize can't deal with .symver renaming symbols

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Feb 25 18:37:10 PST 2016


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

            Bug ID: 26745
           Summary: internalize can't deal with .symver renaming symbols
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Interprocedural Optimizations
          Assignee: unassignedbugs at nondot.org
          Reporter: richard-llvm at metafoo.co.uk
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

Simple testcase:

  void foo() {}
  __asm__(".symver foo,bar@@VER");

Run through clang and then opt -internalize -internalize-public-api-list=bar,
the 'foo' function is deleted but the .symver is retained.

Either the .symver should be deleted as well, or the symbol should be kept
alive (because the versioned symbol 'bar' is part of the declared public API).
Removing one but not the other breaks the IR and results in:

  fatal error: error in backend: A @@ version cannot be undefined

-- 
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/20160226/808a19ff/attachment-0001.html>


More information about the llvm-bugs mailing list