Fix PR 22567: set SAL .section in minsym_found
PR 22567 is that breakpoint location can't correct gdbarch from SAL,
because its fields .section and .symtab is NULL. We use to have code
setting .section, but was removed by 4024cf2
- if (msymbol_is_text (msymbol))
+ CORE_ADDR func_addr;
+ if (msymbol_is_function (objfile, msymbol, &func_addr))
{
- sal = find_pc_sect_line (MSYMBOL_VALUE_ADDRESS (objfile, msymbol),
- (struct obj_section *) 0, 0);
- sal.section = MSYMBOL_OBJ_SECTION (objfile, msymbol);
this patch adds this back by moving it to the common place at the bottom
of the function.
gdb:
2017-12-08 Yao Qi <yao.qi@linaro.org>
PR breakpionts/22567
* linespec.c (minsym_found): Set sal.section.
This commit is contained in:
parent
336ef6d22a
commit
6b05c8bd43
2 changed files with 7 additions and 1 deletions
|
@ -1,3 +1,8 @@
|
|||
2017-12-08 Yao Qi <yao.qi@linaro.org>
|
||||
|
||||
PR breakpionts/22567
|
||||
* linespec.c (minsym_found): Set sal.section.
|
||||
|
||||
2017-12-08 Andreas Arnez <arnez@linux.vnet.ibm.com>
|
||||
|
||||
* configure.tgt (s390*-*-linux*): Add symfile-mem.o.
|
||||
|
|
|
@ -4365,9 +4365,10 @@ minsym_found (struct linespec_state *self, struct objfile *objfile,
|
|||
sal.objfile = objfile;
|
||||
sal.pc = MSYMBOL_VALUE_ADDRESS (objfile, msymbol);
|
||||
sal.pspace = current_program_space;
|
||||
sal.section = MSYMBOL_OBJ_SECTION (objfile, msymbol);
|
||||
}
|
||||
|
||||
sal.section = MSYMBOL_OBJ_SECTION (objfile, msymbol);
|
||||
|
||||
if (maybe_add_address (self->addr_set, objfile->pspace, sal.pc))
|
||||
add_sal_to_sals (self, result, &sal, MSYMBOL_NATURAL_NAME (msymbol), 0);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue