This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [rfc] Simplify ppc64_sysv_abi_adjust_breakpoint_address
- From: "Ulrich Weigand" <uweigand at de dot ibm dot com>
- To: luisgpm at linux dot vnet dot ibm dot com
- Cc: drow at false dot org (Daniel Jacobowitz), gdb-patches at sourceware dot org
- Date: Thu, 9 Oct 2008 19:51:56 +0200 (CEST)
- Subject: Re: [rfc] Simplify ppc64_sysv_abi_adjust_breakpoint_address
Luis Machado wrote:
> It seems we have a situation in which
> "ppc64_sysv_abi_adjust_breakpoint_address" is still required, in a way.
>
> Before removing this function, GDB was smart enough to know that the
> entry point of a 64-bit PPC binary is, in reality, a function
> descriptor, thus grabbing the correct breakpoint location from within
> that address and setting it correctly.
>
> After removing this function, GDB no longer knows that a specific
> address is a function descriptor, and places a breakpoint at a data
> section. The binary's code tries to fetch the correct address from the
> function descriptor's address and ends up fetching the breakpoint
> instruction, which makes no sense.
>
> So, i see two ways:
>
> 1 - Make GDB smart again, being able to determine if the address is of a
> function descriptor or not, basically the way i was before this patch.
>
> 2 - Assume the user knows what he's doing and that he knows where to
> place a breakpoint when using the address of a function descriptor.
I'm not sure exactly what situation you're refering to ... is this
about
break *0x.....
where the address that was manually specified refers to a function
descriptor instead of the function code?
In that case, I'd tend to consider this user error -- if you use
hard-coded addresses, you should know what you're doing on the
platform.
If this is about something else, could you show a command line
that does the wrong thing for you?
Bye,
Ulrich
--
Dr. Ulrich Weigand
GNU Toolchain for Linux on System z and Cell BE
Ulrich.Weigand@de.ibm.com