gdb-8.1.1 versus AIX
Well, there is some problem with something, I'll try to collect the details.
Testcase 1: Code:
/usr/local/src/gdb-8.1.1/gdb/gdb ~projects/devel/test/timegm_test64 Code:
--- gdb/dictionary.cold 2018-01-12 04:09:26.000000000 +0100 |
Then I decided to debug gdb-8.1.1 with gdb-8.0.1, but the output of 'backtrace' was quite disheartening:
Code:
(top-gdb) run Anyways, what is 'Storage class 111'? Might be related: https://stackoverflow.com/questions/...mbol-xxxxxxxxx |
There is an xcoffread.c:scan_xcoff_symtab that checks internal_syment.n_symbol for values that (most likely) come from /usr/include/storclass.h:
Code:
#define C_EXT 2 /* external symbol */ Code:
1146 if ((cs->c_sclass == C_EXT || cs->c_sclass == C_HIDEXT) Code:
1150 if (cs->c_sclass == C_EXT || cs->c_sclass == C_HIDEXT || |
The programming-language-codes are also defined in storclass.h:
Code:
#define TB_C 0 /* C */ |
Debugging the debugger
Code:
breakpoint at dictionary.c:709 Code:
enum language |
Code:
p dict |
Code:
struct dictionary_hashed |
'dict_create_hashed' was called with 'language=language_unknown=0'
that's called by buildsym.c:finish_block_internal Code:
#0 _Z18dict_create_hashedP7obstack8languagePK7pending (obstack=0x11044c7b0, language=language_unknown, Code:
365 { And now here is little problem: Code:
buildsym.c:165 static struct buildsym_compunit *buildsym_compunit; Code:
(gdb) print buildsym_compunit Code:
#1: Code:
strtold -- function: static long double strtold (...) from unistd.h |
These are the .function line from the Assembly:
Code:
.function .strtold,.strtold,16,044,FE..strtold-.strtold Code:
165f0: 2e 68 00 3c 62 75 69 6c 74 2d 69 6e 3e 00 2e 73 .h.<built-in>..s |
calling chain:
Code:
#0 dictionary.c:711:insert_symbol_hashed detecting the problem |
Symbols processed by read_xcoff_symtab:
Code:
$1 = 0x110473b45 "timegm_test.c" Code:
name="timegm_test.c" symnum=218 naux=0 sclass=103 C_FILE secnum=-2 type=2 value=692 0x2b4 |
Within dict_create_hashed:
Code:
(top-gdb) p language |
'buildsym.c:finish_block_internal' calls 'dict_create_hashed':
Code:
350 if (symbol) Code:
(gdb)p pbuildsym_compunit[0] Code:
static struct buildsym_compunit * Code:
Thread 2 hit Breakpoint 7, _ZL23start_buildsym_compunitP7objfilePKc8language (objfile=0x11044d610, comp_dir=0x0, Code:
buildsym.c:1060:start_symtab -> start_buildsym_compunit:772 |
All times are GMT -5. The time now is 05:48 PM. |