https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80498
--- Comment #6 from jonne <gcc at zutt dot org> ---
I installed gdb with homebrew. I think it was compiled with debugging symbols,
because of:
$ otool -Iv /usr/local/opt/gdb/bin/gdb | head -5
/usr/local/opt/gdb/bin/gdb:
Indirect symbols for (__TEXT,__stubs) 452 entries
address index name
0x00000001002d05e6 15149 _iconv
0x00000001002d05ec 15150 _iconv_close
$ dsymutil -s /usr/local/opt/gdb/bin/gdb | head
----------------------------------------------------------------------
Symbol table for: '/usr/local/opt/gdb/bin/gdb' (x86_64)
----------------------------------------------------------------------
Index n_strx n_type n_sect n_desc n_value
======== -------- ------------------ ------ ------ ----------------
[ 0] 00038668 0e ( SECT ) 01 0000 0000000100003365
'__ZL22amd64_get_insn_detailsPhP10amd64_insn'
[ 1] 00038694 0e ( SECT ) 01 0000 000000010000371f
'__ZL11amd64_ret_pPK10amd64_insn'
[ 2] 000386b4 0e ( SECT ) 01 0000 000000010000374d
'__ZL12amd64_call_pPK10amd64_insn'
[ 3] 000386d5 0e ( SECT ) 01 0000 000000010000378a
'__ZL21amd64_supply_fpregsetPK6regsetP8regcacheiPKvm'
[ 4] 00038709 0e ( SECT ) 01 0000 00000001000037fd
'__ZL22amd64_collect_fpregsetPK6regsetPK8regcacheiPvm'
(gdb) bt
#0 0x00007fffc8342bc9 in ?? ()
#1 0x00007fff5fbfd540 in ?? ()
#2 0x0000000100479300 in ?? ()
#3 0x00007fff5fbfc4f0 in ?? ()
#4 0x000000010016b551 in ?? ()
#5 0x00007fff00000000 in ?? ()
#6 0x0000000100000001 in ?? ()
#7 0x00007fff5fbfc560 in ?? ()
#8 0x000000005fbfc550 in ?? ()
#9 0x0000000100076970 in std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >
std::__cxx11::regex_traits<char>::lookup_collatename<char const*>(char const*,
char const*) const::__collatenames ()
#10 0x00000001015ae000 in ?? ()
#11 0x00007fff5fbfc4e0 in ?? ()
#12 0x000000000000000c in ?? ()
#13 0x0000000100478e9b in ?? ()
#14 0x0000000100046fbb in _GLOBAL__sub_I_00099_1_m.cpp ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(gdb) frame 9
#9 0x0000000100076970 in std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >
std::__cxx11::regex_traits<char>::lookup_collatename<char const*>(char const*,
char const*) const::__collatenames ()
(gdb) display/i $pc1: x/i $pc
A syntax error in expression, near `: x/i $pc'.
(gdb) display/i $pc1
2: x/i $pc1
<error: Value can't be converted to integer.>
(gdb) x/i $pc
=> 0x100076970
<_ZZNKSt7__cxx1112regex_traitsIcE18lookup_collatenameIPKcEENS_12basic_stringIcSt11char_traitsIcESaIcEEET_SA_E14__collatenames+1680>:
adc %ah,(%rdx)
(gdb) frame 8
#8 0x000000005fbfc550 in ?? ()
(gdb) display/i $pc1
3: x/i $pc1
<error: Value can't be converted to integer.>
(gdb) display/i $pc
4: x/i $pc
=> 0x5fbfc550: <error: Cannot access memory at address 0x5fbfc550>
(gdb) x/i $pc1
Value can't be converted to integer.
(gdb) x/i $pc
=> 0x5fbfc550: Cannot access memory at address 0x5fbfc550
Here's a fragment shown by 'layout asm' after 'frame 9'
>│0x100076970
<_ZZNKSt7__cxx1112regex_traitsIcE18lookup_collatenameIPKcEENS_12basic_stringIcSt11char_traitsIcESaIcEEET_SA_E14__collatenames+1680>
adc %ah,(%rdx)
│
│0x100076972
<_ZZNKSt7__cxx1112regex_traitsIcE18lookup_collatenameIPKcEENS_12basic_stringIcSt11char_traitsIcESaIcEEET_SA_E14__collatenames+1682>
add $0x100,%eax
│
│0x100076977
<_ZZNKSt7__cxx1112regex_traitsIcE18lookup_collatenameIPKcEENS_12basic_stringIcSt11char_traitsIcESaIcEEET_SA_E14__collatenames+1687>
add %cl,0x0(%rdx)
│
│0x10007697a
<_ZZNKSt7__cxx1112regex_traitsIcE18lookup_collatenameIPKcEENS_12basic_stringIcSt11char_traitsIcESaIcEEET_SA_E14__collatenames+1690>
add %al,(%rax)
│
│0x10007697c
<_ZZNKSt7__cxx1112regex_traitsIcE18lookup_collatenameIPKcEENS_12basic_stringIcSt11char_traitsIcESaIcEEET_SA_E14__collatenames+1692>
sbb %eax,(%rax)
│
│0x10007697e
<_ZZNKSt7__cxx1112regex_traitsIcE18lookup_collatenameIPKcEENS_12basic_stringIcSt11char_traitsIcESaIcEEET_SA_E14__collatenames+1694>
add %al,(%rax)
│
│0x100076980
<_ZZNKSt7__cxx1112regex_traitsIcE18lookup_collatenameIPKcEENS_12basic_stringIcSt11char_traitsIcESaIcEEET_SA_E14__collatenames+1696>
push %rax
│
│0x100076981
<_ZZNKSt7__cxx1112regex_traitsIcE18lookup_collatenameIPKcEENS_12basic_stringIcSt11char_traitsIcESaIcEEET_SA_E14__collatenames+1697>
and 0x100(%rip),%al # 0x100076a87
<_ZZNKSt7__cxx1112regex_traitsIcE18lookup_collaten│
│0x100076987
<_ZZNKSt7__cxx1112regex_traitsIcE18lookup_collatenameIPKcEENS_12basic_stringIcSt11char_traitsIcESaIcEEET_SA_E14__collatenames+1703>
add %cl,0x0(%rdi)
│
│0x10007698a
<_ZZNKSt7__cxx1112regex_traitsIcE18lookup_collatenameIPKcEENS_12basic_stringIcSt11char_traitsIcESaIcEEET_SA_E14__collatenames+1706>
add %al,(%rax)
│
│0x10007698c
<_ZZNKSt7__cxx1112regex_traitsIcE18lookup_collatenameIPKcEENS_12basic_stringIcSt11char_traitsIcESaIcEEET_SA_E14__collatenames+1708>
and (%rax),%eax
│
│0x10007698e
<_ZZNKSt7__cxx1112regex_traitsIcE18lookup_collatenameIPKcEENS_12basic_stringIcSt11char_traitsIcESaIcEEET_SA_E14__collatenames+1710>
add %al,(%rax)
│
│0x100076990
<_ZZNKSt7__cxx1112regex_traitsIcE18lookup_collatenameIPKcEENS_12basic_stringIcSt11char_traitsIcESaIcEEET_SA_E14__collatenames+1712>
add %al,(%rax)
│
│0x100076992
<_ZZNKSt7__cxx1112regex_traitsIcE18lookup_collatenameIPKcEENS_12basic_stringIcSt11char_traitsIcESaIcEEET_SA_E14__collatenames+1714>
add %al,(%rax)
│
│0x100076994
<_ZZNKSt7__cxx1112regex_traitsIcE18lookup_collatenameIPKcEENS_12basic_stringIcSt11char_traitsIcESaIcEEET_SA_E14__collatenames+1716>
add %al,(%rax)
│
│0x100076996
<_ZZNKSt7__cxx1112regex_traitsIcE18lookup_collatenameIPKcEENS_12basic_stringIcSt11char_traitsIcESaIcEEET_SA_E14__collatenames+1718>
add %al,(%rax)
│
│0x100076998
<_ZZNKSt7__cxx1112regex_traitsIcE18lookup_collatenameIPKcEENS_12basic_stringIcSt11char_traitsIcESaIcEEET_SA_E14__collatenames+1720>
add %al,(%rax)
│
│0x10007699a
<_ZZNKSt7__cxx1112regex_traitsIcE18lookup_collatenameIPKcEENS_12basic_stringIcSt11char_traitsIcESaIcEEET_SA_E14__collatenames+1722>
add %al,(%rax)
│
│0x10007699c
<_ZZNKSt7__cxx1112regex_traitsIcE18lookup_collatenameIPKcEENS_12basic_stringIcSt11char_traitsIcESaIcEEET_SA_E14__collatenames+1724>
add %al,(%rax)
│
│0x10007699e
<_ZZNKSt7__cxx1112regex_traitsIcE18lookup_collatenameIPKcEENS_12basic_stringIcSt11char_traitsIcESaIcEEET_SA_E14__collatenames+1726>
add %al,(%rax)
│
│0x1000769a0
<_ZZNKSt7__cxx1112regex_traitsIcE18lookup_collatenameIPKcEENS_12basic_stringIcSt11char_traitsIcESaIcEEET_SA_E14__collatenames+1728>
loopne 0x10007694c
<_ZZNKSt7__cxx1112regex_traitsIcE18lookup_collatenameIPKcEENS_12basic_strin│
Seems like frames 5 and 8 cannot be read:
(gdb) frame 0
#0 0x00007fffc8342bc9 in ?? ()
(gdb) frame 1
#1 0x00007fff5fbfd540 in ?? ()
(gdb) up
#2 0x0000000100479300 in ?? ()
(gdb) up
#3 0x00007fff5fbfc4f0 in ?? ()
(gdb) up
#4 0x000000010016b551 in ?? ()
(gdb) up
#5 0x00007fff00000000 in ?? ()
Cannot access memory at address 0x7fff00000000
(gdb) up
#6 0x0000000100000001 in ?? ()
(gdb) up
#7 0x00007fff5fbfc560 in ?? ()
(gdb) up
#8 0x000000005fbfc550 in ?? ()
Cannot access memory at address 0x5fbfc550
(gdb) up
#9 0x0000000100076970 in std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >
std::__cxx11::regex_traits<char>::lookup_collatename<char const*>(char const*,
char const*) const::__collatenames ()
Sorry, I'm not sure what I can show you exactly.