diff options
author | Alan Modra <amodra@gmail.com> | 2013-11-11 14:14:40 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2013-11-15 10:32:06 +1030 |
commit | ef1bc9e72fd2f0310ac3113acc41e1c115e3ac79 (patch) | |
tree | 305ca622a59672db9f1bf12d59eda6b5dca974da /gold/powerpc.cc | |
parent | 993a449f1714480593eb0a2a6bd6e21d8f029168 (diff) | |
download | gdb-ef1bc9e72fd2f0310ac3113acc41e1c115e3ac79.zip gdb-ef1bc9e72fd2f0310ac3113acc41e1c115e3ac79.tar.gz gdb-ef1bc9e72fd2f0310ac3113acc41e1c115e3ac79.tar.bz2 |
PowerPC64 ELFv2 trampoline match
ELFv2 needs different plt call stubs to ELFv1, register usage differs
too. When I added these to ld I changed register usage in the ELFv1
stubs as well, simplifying the linker code and (perhaps) future
maintenance. All well and good, but this means gdb needs to cope with
more stub variants. This patch also handles skipping over addis/addi
setting up r2 in ELFv2 global entry code. We want breakpoints to be
set past this point to catch calls via the local entry point.
* ppc64-tdep.c (ppc64_plt_entry_point): Renamed from..
(ppc64_desc_entry_point): ..this. Update comments here and at
call points.
(ppc64_standard_linkage1, ppc64_standard_linkage2,
ppc64_standard_linkage3): Update comments.
(ppc64_standard_linkage4, ppc64_standard_linkage5,
(ppc64_standard_linkage6, ppc64_standard_linkage7): New insn
patterns.
(ppc64_standard_linkage4_target): New function.
(ppc64_skip_trampoline_code): Skip ELFv2 patterns too.
* rs6000-tdep.c (skip_prologue): Skip ELFv2 r2 setup. Correct
nop match. Fix comment wrap.
Diffstat (limited to 'gold/powerpc.cc')
0 files changed, 0 insertions, 0 deletions