Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[lldb][ELF] Return address class map changes from symbol table parsing methods #91585

Merged
merged 2 commits into from
May 10, 2024

Commits on May 9, 2024

  1. [lldb][ELF] Return address class map from symbol table parsing methods

    Instead of updating the member of the ObjectFileELF instance.
    This means that if one object file asks another to parse the symbol table,
    that first object's address class map is not left empty, which would
    break Arm and MIPS targets that need this information.
    
    This will fix the code added in
    llvm#90622 which broke
    the test `Expr/TestStringLiteralExpr.test` on 32 bit Arm Linux.
    
    This happened because we had the program file, then asked for a better
    object file, which returned the same program file again. This creates
    a second ObjectFileELF for the same file, so when we tell the second
    instance to parse the symbol table it actually calls into the first
    instance, leaving the address class map of the second instance empty.
    
    Which caused us to put an Arm breakpoint instuction at a Thumb
    return address and broke the ability to call mmap.
    DavidSpickett committed May 9, 2024
    Configuration menu
    Copy the full SHA
    34c5ac8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d165a1a View commit details
    Browse the repository at this point in the history