From: Richard P. <ri...@ne...> - 2016-03-12 08:30:13
|
Checking out 0.7.1, I notice in general that the tags output under the Solaris elfdump format maintain the 'DT_' prefix, as follows: elftoolchain: > Dynamic Section: .dynamic > index tag value > [0] DT_NEEDED 0x7e66 libcrypto.so.1.0.0 > [1] DT_NEEDED 0x7e79 liblzma.so.5 > [2] DT_NEEDED 0x7e86 libmd.so.1 > [3] DT_NEEDED 0x7dbb libpthread.so.1 > [4] DT_NEEDED 0x7e91 librt.so.1 > [5] DT_NEEDED 0x7e9c libbz2.so.0 > [6] DT_NEEDED 0x7ea8 libz.so.1 > [7] DT_NEEDED 0x7de6 libc.so.1 > [8] DT_INIT 0x80010 > [9] DT_FINI 0x80040 > [10] DT_SONAME 0x7eb2 libarchive.so.13 > [11] DT_RUNPATH 0x7ec3 /opt/pbulk32/gcc49/i486-sun-solaris2.11/lib/.:/opt/pbulk32/gcc49/lib/.:/opt/local/lib > [12] DT_RPATH 0x7ec3 /opt/pbulk32/gcc49/i486-sun-solaris2.11/lib/.:/opt/pbulk32/gcc49/lib/.:/opt/local/lib > [13] DT_HASH 0xc9c > [14] DT_STRTAB 0x7e3c > [15] DT_STRSZ 0x8119 > [16] DT_SYMTAB 0x55cc > [17] DT_SYMENT 0x10 > [18] <unknown: 0x60000011> > [19] <unknown: 0x60000012> > [20] <unknown: 0x60000013> > [21] <unknown: 0x60000014> > [22] <unknown: 0x60000015> > [23] DT_SUNW_CHECKSUM > [24] DT_VERNEED 0xff58 > [25] DT_VERNEEDNUM 0x2 > [26] DT_RELCOUNT > [27] DT_PLTRELSZ 0xe60 > [28] DT_PLTREL 0x11 > [29] DT_JMPREL 0x12348 > [30] DT_REL 0x11878 > [31] DT_RELSZ 0x1930 > [32] DT_RELENT 0x8 > [33] DT_SYMINFO (DT_ADDRRNGHI) > [34] DT_SYMINSZ > [35] DT_SYMINENT (DT_VALRNGHI) > [36] DT_FLAGS > [37] DT_FLAGS_1 > [38] <unknown: 0x60000019> > [39] <unknown: 0x6000001b> > [40] DT_PLTGOT 0xa0fc8 > [41] DT_NULL > [42] DT_NULL > [43] DT_NULL > [44] DT_NULL > [45] DT_NULL > [46] DT_NULL > [47] DT_NULL > [48] DT_NULL > [49] DT_NULL > [50] DT_NULL > [51] DT_NULL SunOS: > Dynamic Section: .dynamic > index tag value > [0] NEEDED 0x7e66 libcrypto.so.1.0.0 > [1] NEEDED 0x7e79 liblzma.so.5 > [2] NEEDED 0x7e86 libmd.so.1 > [3] NEEDED 0x7dbb libpthread.so.1 > [4] NEEDED 0x7e91 librt.so.1 > [5] NEEDED 0x7e9c libbz2.so.0 > [6] NEEDED 0x7ea8 libz.so.1 > [7] NEEDED 0x7de6 libc.so.1 > [8] INIT 0x80010 > [9] FINI 0x80040 > [10] SONAME 0x7eb2 libarchive.so.13 > [11] RUNPATH 0x7ec3 /opt/pbulk32/gcc49/i486-sun-solaris2.11/lib/.:/opt/pbulk32/gcc49/lib/.:/opt/local/lib > [12] RPATH 0x7ec3 /opt/pbulk32/gcc49/i486-sun-solaris2.11/lib/.:/opt/pbulk32/gcc49/lib/.:/opt/local/lib > [13] HASH 0xc9c > [14] STRTAB 0x7e3c > [15] STRSZ 0x8119 > [16] SYMTAB 0x55cc > [17] SYMENT 0x10 > [18] SUNW_SYMTAB 0x20dc > [19] SUNW_SYMSZ 0x5d60 > [20] SUNW_SORTENT 0x4 > [21] SUNW_SYMSORT 0x10578 > [22] SUNW_SYMSORTSZ 0x1300 > [23] CHECKSUM 0x21cf > [24] VERNEED 0xff58 > [25] VERNEEDNUM 0x2 > [26] RELCOUNT 0x111 > [27] PLTRELSZ 0xe60 > [28] PLTREL 0x11 > [29] JMPREL 0x12348 > [30] REL 0x11878 > [31] RELSZ 0x1930 > [32] RELENT 0x8 > [33] SYMINFO 0x280 > [34] SYMINSZ 0xa1c > [35] SYMINENT 0x4 > [36] FLAGS 0 0 > [37] FLAGS_1 0 0 > [38] SUNW_STRPAD 0x200 > [39] SUNW_LDMACH 0x3e EM_AMD64 > [40] PLTGOT 0xa0fc8 > [41-51] NULL 0 Is there any particular reason this needs to be different, or would a patch to align more closely with the Solaris format be okay? It could be noticed that there are actually at least four issues above: 1. tag formatting, 'DT_' prefix not suppressed 2. some missing SUNW_ tags not formatted 3. some missing output information (NB: DT_RUNPATH is already submitted, but look at DT_CHECKSUM, DT_RELCOUNT, DT_SYM* and DT_FLAGS*) 4. DT_NULL output format compression using a range ([41-50]) cheers -- Richard PALO |