Android/ARM: fixing exception-handling

Dan Olson via digitalmars-d-ldc digitalmars-d-ldc at puremagic.com
Tue Jul 28 07:20:47 PDT 2015


"Joakim" <dlang at joakim.fea.st> writes:
> I spent some more time looking into this and it appears that an ARM
> optimization pass in llvm is the real issue, not inlining.  It turns
> out that enabling the EH_personality debug output in ldc.eh and
> turning off inlining happened to generate ARM code that worked
> earlier, but I can get it to work without those two hacks by turning
> off one call to an ARM optimization pass in llvm instead.

Good puzzle solving.

There might be clues in the clang source code on how to set everything
up to make that optimization pass work.  Clang does a lot of interesting
stuff, like coercing args and changing alignment that I don't think is
done in LDC.


More information about the digitalmars-d-ldc mailing list