[llvm] [lld] [clang] [SHT_LLVM_BB_ADDR_MAP] Allow basic-block-sections and labels be used together by decoupling the handling of the two features. (PR #74128)
Aiden Grossman via cfe-commits
cfe-commits at lists.llvm.org
Thu Feb 1 12:00:43 PST 2024
================
@@ -73,68 +83,89 @@ FileHeader:
Sections:
- Name: .text.foo
Type: SHT_PROGBITS
- Address: [[FOO_ADDR]]
+ Address: 0x4000
Flags: [SHF_ALLOC, SHF_EXECINSTR]
- Content: '503b0505200000907d02ebf5c3'
+ Content: '503b0505300000907d08ebf50f8dee1f0000c3'
- Name: .text.bar
Type: SHT_PROGBITS
- Address: [[BAR_ADDR]]
+ Address: 0x5000
Flags: [SHF_ALLOC, SHF_EXECINSTR]
Content: '5089d0740231f6e8f4ffffffc3'
+ - Name: .text.split
+ Type: SHT_PROGBITS
+ Address: 0x6000
+ Flags: [SHF_ALLOC, SHF_EXECINSTR]
+ Content: 'c3'
- Name: .data
Type: SHT_PROGBITS
Flags: [SHF_ALLOC, SHF_WRITE]
- Address: 0x6000
+ Address: 0x7000
- Name: .llvm_bb_addr_map.foo
Type: SHT_LLVM_BB_ADDR_MAP
Link: .text.foo
Entries:
- Version: 2
- Address: [[FOO_ADDR]]
- BBEntries:
- - ID: 3
- AddressOffset: 0x0
- Size: 0x1
- Metadata: 0x1
- - ID: 1
- AddressOffset: 0x0
- Size: 0x6
- Metadata: 0x0
- - ID: 2
- AddressOffset: 0x1
- Size: 0x4
- Metadata: 0x0
- - ID: 5
- AddressOffset: 0x0
- Size: 0x1
- Metadata: 0x2
+ Feature: 0x8
+ BBRanges:
+ - BaseAddress: 0x4000
+ BBEntries:
+ - ID: 3
+ AddressOffset: 0x0
----------------
boomanaiden154 wrote:
Makes sense. The test case was passing, so everything was getting decoded correctly. For some reason never made the connection that the address offset was relative.
https://github.com/llvm/llvm-project/pull/74128
More information about the cfe-commits
mailing list