<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 - Add diagnostics if some/many addresses cannot be symbolized"
   href="https://bugs.llvm.org/show_bug.cgi?id=45696">45696</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Add diagnostics if some/many addresses cannot be symbolized
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>tools
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>trunk
          </td>
        </tr>

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

        <tr>
          <th>OS</th>
          <td>Windows NT
          </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>llvm-symbolizer
          </td>
        </tr>

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

        <tr>
          <th>Reporter</th>
          <td>jh7370.2008@my.bristol.ac.uk
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>llvm-symbolizer currently prints the following sort of output if an address
cannot be symbolized.

C:\Work\TempWork> llvm-symbolizer 0x12345234534 -e test.elf
??
??:0:0

There could be many different reasons why such a situation might happen,
including, but not limited to:
1) No debug information in the input file.
2) Users are specifying a runtime address for an ASLR executable, and should be
using --adjust-vma.
3) The user is trying to symbolize a relocatable object (e.g. ET_REL) and not
an executable (e.g. ET_EXEC).
4) The address is simply wrong.

We could probably report useful diagnostics to help users identify some of
these situations. 1) and 3) should be particularly easy to see and I don't see
a reason not to print a warning in these cases. 2) is slightly trickier, as it
may be difficult to distinguish it from 4) for which there probably is no
benefit it warning. One option might be to report a warning if e.g. more than
75% of input addresses are unknown, and to suggest trying --adjust-vma.</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>