aboutsummaryrefslogtreecommitdiff
path: root/elfcpp
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2021-12-10 13:34:22 -0800
committerH.J. Lu <hjl.tools@gmail.com>2021-12-10 17:52:40 -0800
commit40eb8b92a1c795cda00bf931ab9cdd74da434d54 (patch)
tree9ad9fcd12f538e4c0fe271fb31f516391dc13e9b /elfcpp
parent1563e7179a7e7f06ae9b44725f191163ccf0975c (diff)
downloadgdb-40eb8b92a1c795cda00bf931ab9cdd74da434d54.zip
gdb-40eb8b92a1c795cda00bf931ab9cdd74da434d54.tar.gz
gdb-40eb8b92a1c795cda00bf931ab9cdd74da434d54.tar.bz2
Don't return the main file as the separate debug info
On Fedora 35, $ readelf -d /usr/bin/npc caused readelf to run out of stack since load_separate_debug_info returned the input main file as the separate debug info: (gdb) bt #0 load_separate_debug_info ( main_filename=main_filename@entry=0x510f50 "/export/home/hjl/.cache/debuginfod_client/dcc33c51c49e7dafc178fdb5cf8bd8946f965295/debuginfo", xlink=xlink@entry=0x4e5180 <debug_displays+4480>, parse_func=parse_func@entry=0x431550 <parse_gnu_debuglink>, check_func=check_func@entry=0x432ae0 <check_gnu_debuglink>, func_data=func_data@entry=0x7fffffffdb60, file=file@entry=0x51d430) at /export/gnu/import/git/sources/binutils-gdb/binutils/dwarf.c:11057 #1 0x000000000043328d in check_for_and_load_links (file=0x51d430, filename=0x510f50 "/export/home/hjl/.cache/debuginfod_client/dcc33c51c49e7dafc178fdb5cf8bd8946f965295/debuginfo") at /export/gnu/import/git/sources/binutils-gdb/binutils/dwarf.c:11381 #2 0x00000000004332ae in check_for_and_load_links (file=0x51b070, filename=0x518dd0 "/export/home/hjl/.cache/debuginfod_client/dcc33c51c49e7dafc178fdb5cf8bd8946f965295/debuginfo") Return NULL if the separate debug info is the same as the input main file to avoid infinite recursion. PR binutils/28679 * dwarf.c (load_separate_debug_info): Don't return the input main file.
Diffstat (limited to 'elfcpp')
0 files changed, 0 insertions, 0 deletions