readelf.py: adapt section mapping output for .tbss sections (#289)
authorAndreas Ziegler <andreas.ziegler@fau.de>
Sat, 7 Mar 2020 14:05:42 +0000 (15:05 +0100)
committerGitHub <noreply@github.com>
Sat, 7 Mar 2020 14:05:42 +0000 (06:05 -0800)
commitc8ccce86380ff85a06efbd57d3f7de2961435f2a
tree11846c3189ffae9415b3d8348e7e12f6e88f82f9
parentf0572414228eac3b3d6a22652b859bffd9308df9
readelf.py: adapt section mapping output for .tbss sections (#289)

* readelf.py: adapt section mapping output for .tbss sections

GNU readelf does not show the .tbss section as part of the
loaded data segment when listing the section to segment
mappings, using the ELF_TBSS_SPECIAL macro in
include/elf/internal.h to skip printing the section name.

Implement the same logic in readelf.py.

* test: add test file for .tbss output in readelf.py

This test file includes a .tbss section which is not output
by GNU readelf as part of the loaded data segment when
listing the section to segment mappings.

The source code for tls.elf is simply:

  __thread int i;

  int main(){}

The file was compiled using the following command line:

$ gcc -o tls.elf -m32 tls.c
scripts/readelf.py
test/testfiles_for_readelf/tls.elf [new file with mode: 0755]