bc02cd7 bfd: new functions for getting strings out of a strtab

Authored and Committed by Nick Alcock 4 years ago
    bfd: new functions for getting strings out of a strtab
    
    The CTF linking process wants to deduplicate the CTF strtab against the
    ELF strtab, for which it needs to know the number of strings in the
    strtab and it needs to be able to extract them one by one.
    
    The BFD strtab functions only support returning the
    size-or-section-length of the strtab (with _bfd_elf_strtab_size)
    and returning the offset (but not string!) and decrementing the refcount
    at the same time.
    
    So add new functions _bfd_elf_strtab_len (that just returns the length
    in strings of the strtab, never the section size) and bfd_elf_strtab_str
    (which returns the string at a given strtab index, and its offset,
    without touching the refcount).
    
    It is probably a mistake to use _bfd_elf_strtab_str in particular before
    _bfd_elf_strtab_finalize is called, and will not produce useful output
    if you do so.
    
    bfd/
    	* elf-strtab.c (_bfd_elf_strtab_len): New.
    	(_bfd_elf_strtab_str): Likewise.
    	* bfd-elf.h: Declare them.
    
        
file modified
+6 -0
file modified
+4 -0
file modified
+19 -0