summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/WebAssembly
diff options
context:
space:
mode:
authorPavel Labath <pavel@labath.sk>2019-01-09 16:50:45 +0000
committerPavel Labath <pavel@labath.sk>2019-01-09 16:50:45 +0000
commitf55aea737f9ff8c5b3ec387edc0210335744f5c7 (patch)
tree8b7be344d637bbd5b9d1acafe5b98176ca5c3fb6 /llvm/test/CodeGen/WebAssembly
parent4939165d7ccdddb84344d450f4c225a5599686a6 (diff)
downloadbcm5719-llvm-f55aea737f9ff8c5b3ec387edc0210335744f5c7.tar.gz
bcm5719-llvm-f55aea737f9ff8c5b3ec387edc0210335744f5c7.zip
ELF: create "container" sections from PT_LOAD segments
Summary: This is the result of the discussion in D55356, where it was suggested as a solution to representing the addresses that logically belong to a module in memory, but are not a part of any of its sections. The ELF PT_LOAD segments are similar to the MachO "load commands", except that the relationship between them and the object file sections is a bit weaker. While in the MachO case, the sections belonging to a specific segment are placed directly inside it in the object file logical structur, in the ELF case, the sections and segments form two separate hierarchies. This means that it is in theory possible to create an elf file where only a part of a section would belong to some segment (and another part to a different one). However, I am not aware of any tool which would produce such a file (and most tools will have problems ingesting them), so this means it is still possible to follow the MachO model and make sections children of the PT_LOAD segments. In case we run into (corrupt?) files with overlapping sections, I have added code (and tests) which adjusts the sizes and/or drops the offending sections in order to present a reasonable image to the upper layers of LLDB. This is mostly done for completeness, as I don't anticipate running into this situation in the real world. However, if we do run into it, and the current behavior is not suitable for some reason, we can implement this logic differently. Reviewers: clayborg, jankratochvil, krytarowski, joerg, espindola Subscribers: emaste, arichardson, lldb-commits Differential Revision: https://reviews.llvm.org/D55998 llvm-svn: 350742
Diffstat (limited to 'llvm/test/CodeGen/WebAssembly')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud