diff options
author | Ulrich Weigand <ulrich.weigand@de.ibm.com> | 2014-02-04 18:40:16 +0100 |
---|---|---|
committer | Ulrich Weigand <ulrich.weigand@de.ibm.com> | 2014-02-04 18:40:16 +0100 |
commit | d4094b6a8883ae481c7644c5a210254efe92e9ad (patch) | |
tree | f90a336f9a968fe20137397c9710eee20c1599a5 /gdb/ChangeLog | |
parent | cd453cd072004d26ede355b850b3831acffaeddd (diff) | |
download | fsf-binutils-gdb-d4094b6a8883ae481c7644c5a210254efe92e9ad.zip fsf-binutils-gdb-d4094b6a8883ae481c7644c5a210254efe92e9ad.tar.gz fsf-binutils-gdb-d4094b6a8883ae481c7644c5a210254efe92e9ad.tar.bz2 |
PowerPC64 ELFv2 ABI: no function descriptors
This implements the most significant difference with the ELFv2 ABI:
we no longer use function descriptors. The patch consists mostly
of switching off code to deal with descriptors :-)
In addition, when calling an inferior function, we no longer need
to provide its TOC in r2. Instead, ELFv2 code expects to be called
with r12 pointing to the code address itself.
gdb/ChangeLog:
* ppc-linux-tdep.c (ppc_linux_init_abi): Only call
set_gdbarch_convert_from_func_ptr_addr and
set_gdbarch_elf_make_msymbol_special for ELFv1.
* ppc-sysv-tdep.c (ppc64_sysv_abi_push_param): Only handle
function descriptors on ELFv1.
(ppc64_sysv_abi_push_dummy_call): Likewise. On ELFv2,
set up r12 at function entry.
Diffstat (limited to 'gdb/ChangeLog')
-rw-r--r-- | gdb/ChangeLog | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index ba7ddd9..795e23f 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,15 @@ 2014-02-04 Ulrich Weigand <uweigand@de.ibm.com> + * ppc-linux-tdep.c (ppc_linux_init_abi): Only call + set_gdbarch_convert_from_func_ptr_addr and + set_gdbarch_elf_make_msymbol_special for ELFv1. + * ppc-sysv-tdep.c (ppc64_sysv_abi_push_param): Only handle + function descriptors on ELFv1. + (ppc64_sysv_abi_push_dummy_call): Likewise. On ELFv2, + set up r12 at function entry. + +2014-02-04 Ulrich Weigand <uweigand@de.ibm.com> + * ppc-tdep.h (enum powerpc_elf_abi): New data type. (struct gdbarch_tdep): New member elf_abi. |