Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
L llvm-project
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 31
    • Issues 31
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 14
    • Merge requests 14
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Metrics
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI/CD
    • Code Review
    • Repository
    • Value Stream
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Morello
  • llvm-project
  • Merge requests
  • !172

Open
Created Mar 30, 2022 by Diana Picus@rovkaDeveloper
  • Report abuse
Report abuse

[Morello][lldb] Fix 'image list'

  • Overview 7
  • Commits 4
  • Pipelines 12
  • Changes 13

This is the first patch in a series to fix lldb's support for shared objects in purecap mode.

It makes sure that lldb-server correctly reads and sends the list of loaded shared objects, and also that lldb handles it correctly*. It adds a new method to Process/NativeProcessProtocol for getting the size of a pointer, and makes other fixes along related code paths. This is a bit of a hacky way to go, because the existing method, GetAddressByteSize, has too many uses for me to audit in one go. Ideally we should clean up all the uses and teach GetAddressByteSize about capabilities. We should also make sure we check if we're in hybrid or purecap and act accordingly.

Note that this doesn't fix shared library support in general. Other basic things, such as breaking in a function from a shared object, will be fixed in future patches.

  • It's a bit strange that both lldb and lldb-server need to be fixed. Ideally, only lldb-server would read the list of shared objects, and lldb would trust it. Unfortunately, it seems that lldb-server does not send the main-lm node in its library-list-svr4 packet, so lldb decides to read process memory directly to get some of the same info. This should probably be investigated and fixed upstream.
Assignee
Assign to
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Source branch: lldb/image-list