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



------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785111&iu=/4140
_______________________________________________
Elftoolchain-developers mailing list
Elftoolchain-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/elftoolchain-developers

Reply via email to