This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH][gdb] Fix gdb.dwarf2/varval.exp with -fPIE/-pie


>>>>> "Tom" == Tom de Vries <tdevries@suse.de> writes:

Thanks for the patch.

Tom> +      CORE_ADDR baseaddr
Tom> +	= ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile));
Tom> +      struct gdbarch *gdbarch = get_objfile_arch (objfile);
 
Tom>        for (const auto &cand_off
Tom>  	     : dwarf2_per_objfile->abstract_to_concrete[die->sect_off])
Tom> @@ -23220,6 +23223,8 @@ dwarf2_fetch_die_loc_sect_off (sect_offset sect_off,
 
Tom>  	  CORE_ADDR pc_low, pc_high;
Tom>  	  get_scope_pc_bounds (cand->parent, &pc_low, &pc_high, cu);
Tom> +	  pc_low = gdbarch_adjust_dwarf2_addr (gdbarch, pc_low + baseaddr);
Tom> +	  pc_high = gdbarch_adjust_dwarf2_addr (gdbarch, pc_high + baseaddr);
Tom>  	  if (pc_low == ((CORE_ADDR) -1)

I think this test has to precede the offsetting.

Tom


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]