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

            Bug ID: 40591
           Summary: Symbolizer should ignore undefined symbols
           Product: tools
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: llvm-symbolizer
          Assignee: unassignedb...@nondot.org
          Reporter: jh7370.2...@my.bristol.ac.uk
                CC: llvm-bugs@lists.llvm.org

llvm-symbolizer currently treats undefined symbols as symbols at address 0 and
so if 0 is specified as an input address, it will find that symbol, even if
there is a defined symbol at that location. I wrote a lit test to reproduce
this issue:

# symbolize-undef-syms.s
# REQUIRES: x86-registered-target

# RUN: llvm-mc --filetype=obj --triple=x86_64-pc-linux %s -o %t.o -g
# RUN: llvm-symbolizer --obj=%t.o 0 | FileCheck %s --implicit-check-not=bar

# CHECK:      foo
# CHECK-NEXT: symbolize-undef-syms.s:14:0

.type bar,@function
.type foo,@function
.global foo
foo:
    call bar

This test will fail because bar was picked instead of foo. It would be good to
never pick bar, even if there is no defined symbol, since bar cannot represent
that address.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to