From 1d5e9508f0607c7109280f76261e617f9851566b Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Sat, 7 Sep 2024 02:15:18 +0200 Subject: [PATCH] readelf: Fix printing of .gdb_index symbol table offset. We were printing the addr_off instead of the sym_off. And the testcases all expected the address offset instead of the symbol table offset. * src/readelf.c (print_gdb_index_section): Print sym_off as Symbol table offset. * tests/run-readelf-gdb_index.sh: Fix up all symbol table offsets that were the same as the address offset. Signed-off-by: Mark Wielaard --- src/readelf.c | 2 +- tests/run-readelf-gdb_index.sh | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/readelf.c b/src/readelf.c index 48035264b..8d96443da 100644 --- a/src/readelf.c +++ b/src/readelf.c @@ -11699,7 +11699,7 @@ print_gdb_index_section (Dwfl_Module *dwflmod, Ebl *ebl, printf (_("\n Symbol table at offset %#" PRIx32 " contains %zu slots:\n"), - addr_off, sym_nr); + sym_off, sym_nr); n = 0; while (dataend - readp >= 8 && n < sym_nr) diff --git a/tests/run-readelf-gdb_index.sh b/tests/run-readelf-gdb_index.sh index cd437f523..8efc2e805 100755 --- a/tests/run-readelf-gdb_index.sh +++ b/tests/run-readelf-gdb_index.sh @@ -86,7 +86,7 @@ GDB section [33] '.gdb_index' at offset 0xe76 contains 8383 bytes : [ 0] 0x000000000040049c
..0x00000000004004d1 , CU index: 0 [ 1] 0x00000000004004d4 ..0x000000000040050b , CU index: 1 - Symbol table at offset 0x50 contains 1024 slots: + Symbol table at offset 0x78 contains 1024 slots: [ 123] symbol: global, CUs: 1 [ 489] symbol: main, CUs: 0 [ 518] symbol: char, CUs: 0 @@ -117,7 +117,7 @@ GDB section [33] '.gdb_index' at offset 0xe76 contains 8399 bytes : [ 0] 0x000000000040049c
..0x00000000004004d1 , CU index: 0 [ 1] 0x00000000004004d4 ..0x000000000040050b , CU index: 1 - Symbol table at offset 0x50 contains 1024 slots: + Symbol table at offset 0x78 contains 1024 slots: [ 123] symbol: global, CUs: 1 (var:G) [ 489] symbol: main, CUs: 0 (func:G) [ 518] symbol: char, CUs: 0 (type:S) @@ -150,7 +150,7 @@ GDB section [33] '.gdb_index' at offset 0x38e1 contains 8415 bytes : [ 0] 0x0000000000401106
..0x000000000040113b , CU index: 1 [ 1] 0x000000000040113c ..0x0000000000401173 , CU index: 2 - Symbol table at offset 0x54 contains 1024 slots: + Symbol table at offset 0x7c contains 1024 slots: [ 123] symbol: global, CUs: 1 (var:G), 0T (var:G) [ 489] symbol: main, CUs: 1 (func:G) [ 518] symbol: char, CUs: 0 (type:S) @@ -204,7 +204,7 @@ GDB section [35] '.gdb_index' at offset 0x37d9 contains 8395 bytes : Address list at offset 0x2c contains 1 entries: [ 0] 0x0000000000401166 ..0x00000000004013f0 , CU index: 0 - Symbol table at offset 0x2c contains 1024 slots: + Symbol table at offset 0x40 contains 1024 slots: [ 61] symbol: small_stride, CUs: 0 (type:S) [ 71] symbol: integer(kind=8), CUs: 0 (type:S) [ 161] symbol: character(kind=1), CUs: 0 (type:S) -- 2.47.3