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: unassignedb...@nondot.org Reporter: richard-l...@metafoo.co.uk CC: llvm-bugs@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.
_______________________________________________ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs