[llvm] r238915 - Re-commit r238838, r238844 with fix for host/target endian mismatch and windows buildbot.

Daniel Sanders Daniel.Sanders at imgtec.com
Wed Jun 3 14:13:16 PDT 2015


Ah, that makes sense. According to the usual memory manager, the OS X __register_frame has to be called for each FDE. The code to walk the FDE's and call __register_frame isn't endian-aware and will read the FDE length incorrectly.

Your fix in r238951 looks good to me.

________________________________________
From: Tim Northover [t.p.northover at gmail.com]
Sent: 03 June 2015 21:38
To: Daniel Sanders
Cc: llvm-commits
Subject: Re: [llvm] r238915 - Re-commit r238838, r238844 with fix for host/target endian mismatch and windows buildbot.

On 3 June 2015 at 13:25, Daniel Sanders <Daniel.Sanders at imgtec.com> wrote:
> I might be missing something but registration shouldn't be a problem so long as we don't try to execute the the foreign code.

Testing LLVM's relocation processing is good (as Lang pointed out to
me) and I think that's been preserved by my commit.

The problem came when we called the host OS's __register_frame or
whatever on the result. I think at that point it had a legitimate
expectation that we hadn't fed it nonsense (e.g. mismatched-endian
CIEs or even potentially non-DWARF frame info). It might have wanted
to parse the info and do some arcane preprocessing to speed up
handling, for example.

Cheers.

Tim.



More information about the llvm-commits mailing list