aboutsummaryrefslogtreecommitdiff
path: root/gdb/fbsd-nat.h
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2020-09-16 18:04:37 +0200
committerTom de Vries <tdevries@suse.de>2020-09-16 18:04:37 +0200
commit945ff6e213d206c79386f225626e887abad0e22d (patch)
tree316629ffa470d87ca22fbb5c0c6b3e1603228ca3 /gdb/fbsd-nat.h
parentbe7628ca507fe36b49c5a82b39db68b98c2ba1b4 (diff)
downloadgdb-945ff6e213d206c79386f225626e887abad0e22d.zip
gdb-945ff6e213d206c79386f225626e887abad0e22d.tar.gz
gdb-945ff6e213d206c79386f225626e887abad0e22d.tar.bz2
[gdb/testsuite] Fix gdb.dlang/watch-loc.exp on ppc64
On ppc64, we run into: ... /tmp/ccKXURmw.s: Assembler messages:^M /tmp/ccKXURmw.s:99: Error: can't resolve \ `_Dmain_end' {.text section} - `_Dmain' {.opd section}^M compiler exited with status 1 ... The unresolvable entity comes from the .debug_aranges section hardcoded in watch-loc.c: ... " .4byte _Dmain \n" // Address " .4byte _Dmain_end - _Dmain \n" // Length ... where _Dmain is the function label for function _Dmain, and _Dmain_end is a label after function _Dmain: ... int _Dmain (void) { asm ("_Dmain_label: .globl _Dmain_label"); return 0; } asm ("_Dmain_end: .globl _Dmain_end"); ... The problem is that the two labels are not in the same section, because _Dmain ends up in the .opd section, which "contains the official procedure descriptors. A pointer to a function shall reference a procedure descriptor in this section." Fix this by using function_range instead to get the length. Also, fix the address part to not use _Dmain, but instead use the function start as returned by function_range. Tested on x86_64-linux. gdb/testsuite/ChangeLog: 2020-09-16 Tom de Vries <tdevries@suse.de> PR testsuite/26617 * gdb.dlang/watch-loc.c: Only add .debug_aranges if WITH_DEBUG_SECTIONS is defined. (xstr, str): New macro. (.debug_aranges): Use DMAIN_START_0/1/2 and DMAIN_LENGTH to get start and size of _Dmain. * gdb.dlang/watch-loc.exp: Pass DMAIN_START_0/1/2 and DMAIN_LENGTH using additional_flags.
Diffstat (limited to 'gdb/fbsd-nat.h')
0 files changed, 0 insertions, 0 deletions