This is an archive of the discontinued LLVM Phabricator instance.

[lldb] [ObjectFile/ELF] Fix negated seg ids on 32-bit arches
ClosedPublic

Authored by mgorny on Feb 3 2020, 11:37 AM.

Details

Summary

Scale segment identifier up to user_id_t before negating it. This fixes
the identifers being wrongly e.g. 0x00000000fffffffe instead of
0xfffffffffffffffe. Fix suggested by Pavel Labath.

This fixes 5 tests failing on i386 (PR #44748):

lldb-shell :: ObjectFile/ELF/PT_LOAD-overlap-PT_INTERP.yaml
lldb-shell :: ObjectFile/ELF/PT_LOAD-overlap-PT_TLS.yaml
lldb-shell :: ObjectFile/ELF/PT_LOAD-overlap-section.yaml
lldb-shell :: ObjectFile/ELF/PT_LOAD.yaml
lldb-shell :: ObjectFile/ELF/PT_TLS-overlap-PT_LOAD.yaml

Diff Detail

Event Timeline

mgorny created this revision.Feb 3 2020, 11:37 AM
labath accepted this revision.Feb 3 2020, 5:18 PM
This revision is now accepted and ready to land.Feb 3 2020, 5:18 PM
This revision was automatically updated to reflect the committed changes.
Herald added a project: Restricted Project. · View Herald TranscriptFeb 3 2020, 8:51 PM