Hi, I'm taking a look at docs. On dwarf-2.0.0.pdf I see at "7.20 Address Range Table"
*This header is followed by a series of tuples.Each tuple consists of an address and a length, each in the size appropriate for an address on thetarget architecture. The first tuple following the header in each set begins at an offset that is amultiple of the size of a single tuple (that is, twice the size of an address). The header is padded, if necessary, to the appropriate boundary. Each set of tuples is terminated by a 0 for the address and 0 for the length.* on Dwarf3.pdf is identical. I've some HEX data on my file (elf version 2): The ".debug_aranges" section 0x0007482F --------------------------------------------------- 00074820 1c |."....S.........| 00074830 00 00 00 02 00 63 02 00 00 04 00 00 00 00 00 30 |.....c.........0| 00074840 54 01 80 ec 02 00 00 00 00 00 00 00 00 00 00 1c |T...............| 00074850 00 00 00 02 00 94 0d 00 00 04 00 00 00 00 00 1c |................| 00074860 57 01 80 82 03 00 00 00 00 00 00 00 00 00 00 1c |W...............| Exploding the data at the first address range I see this: 00:: 1c 00 00 00 1. 0x0000001c (28) length 04:: 02 00 63 02 00 00 04 00 2. 0x0002 3. 0x00000263 (611) 4 0x04 (4) 5. 0x00 (0) 0c:: 00 00 00 00 (I suppose this is padding padding) 10:: 30 54 01 80 ec 02 00 00 6. 0x80015430 0x000002ec 18:: 00 00 00 00 00 00 00 00 <- termination (28th byte) a. If I understood well what is written, after field 5, there are four bytes of padding, am I correct? b. About the "appropriate bound", just for confirmation, the address must stay at 0xHHHHHHH0 or 0xHHHHHHH8 respect to the relative address. Is this correct? In this case (4 bytes address) the alignment is (2x4): 0xHHHHHHH0 or 0xHHHHHHH8 If we were in (8 bytes address) the allowed alignment would be (2x8) 0xHHHHHHH0 the padding would disappear? Thank you in advance, C.
-- Dwarf-discuss mailing list Dwarf-discuss@lists.dwarfstd.org https://lists.dwarfstd.org/mailman/listinfo/dwarf-discuss