On Mon, 8 Jan 2024 at 13:15, Dirk Hohndel <[email protected]> wrote:
> >
> > So then you can - manually - use that relocation information to show
> > what the disassembly should have been.
>
> see below
Lovely. It doesn't even do the C++ demangling without using '-C'. Whatever.
> 5d60: 34000068 cbz w8, 0x5d6c <QMLManager::~QMLManager()+0x34>
> 5d64: 9103e260 add x0, x19, #248
> 5d68: 94000000 bl 0x5d68 <QMLManager::~QMLManager()+0x30>
> 0000000000005d68: ARM64_RELOC_BRANCH26
> __ZN11QFileDevice5closeEv
> 5d6c: 90000008 adrp x8, 0x5000 <QMLManager::~QMLManager()+0x34>
> 0000000000005d6c: ARM64_RELOC_PAGE21
> __ZN10QMLManager10m_instanceE
> 5d70: f900011f str xzr, [x8]
> 0000000000005d70: ARM64_RELOC_PAGEOFF12
> __ZN10QMLManager10m_instanceE
> 5d74: 91044260 add x0, x19, #272
> 5d78: 94000000 bl 0x5d78 <QMLManager::~QMLManager()+0x40>
> 0000000000005d78: ARM64_RELOC_BRANCH26 __ZN8IosShareD1Ev
Ok, so this is the call that then blows up.
I assume the demangled name is "IosShare", but you can verify that with
objdump -drC
which presumably gives _amost_ usable disassembly.
And yeah, don't ask me why the objdump defaults are that
incomprehensible, and why - even with "please do relocations and
demangling" it ends up doing it with that ugly two-line format.
Linus
_______________________________________________
subsurface mailing list
[email protected]
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface