This is the mail archive of the
mailing list for the elfutils project.
Re: [patch] Resolve ppc64 func descriptors as .func (via .opd)
- From: Jan Kratochvil <jan dot kratochvil at redhat dot com>
- To: elfutils-devel at lists dot fedorahosted dot org
- Date: Tue, 11 Dec 2012 11:02:02 +0100
- Subject: Re: [patch] Resolve ppc64 func descriptors as .func (via .opd)
On Tue, 11 Dec 2012 10:33:06 +0100, Jan Kratochvil wrote:
> This is the disagreement, so goint to write down here a question to IBM ABI
> authority, we can agree upon the question and send it.
Are you fine with the mail below?
Subject: PowerPC64 ABI function descriptors question
asking here for the IBM ppc64 ABI, unrelated to binutils itself.
elfutils should get a resolver of ppc64 .opd:
[patch] Resolve ppc64 func descriptors as .func (via .opd)
So that the backtraces are readable on ppc64 such as:
# 0 0x10007fa8 __vmx__sigsetjmp_ent | # 0 0x10007fa8 .raise
# 1 0x10008370 - 1 __vmx__sigsetjmp_ent | # 1 0x10008370 - 1 .abort
# 2 0x10001344 - 1 (null) | # 2 0x10001344 - 1 .sigusr2
(the addresses in backtrace are entry points, not function descriptors)
I would not like to break / confuse ppc64 ABI naming so asking here.
FYI elfutils address -> name resolver (dwfl_module_addrsym) currently does not
/ cannot use DWARF, we talk only about ELF symbols.
Should the backtrace resolved names be dot-prefixed (".raise") or not ("raise")?
says they should be dot-prefixed - as they are ELF symbols.
But usually in GDB the backtrace is without dots
as DWARF symbols get used instead and DWARF does not use the dot prefix.
If elfutils had name -> address resolver (still without DWARF capability) which
address should be resolved for "raise"? Should be ".raise" also resolved?
It is clear that BFD currently uses:
raise for ELF function descriptor
.raise for ELF code entry point
raise for DWARF code entry point, overriding the ELF function descriptor