Does someone still keep eye on MC ARM EHABI?

Dear all,

AFAIK, ARM EHABI is not ready for both asm and obj emitter.
Some people including me what to implement them.

My question is, to avoid duplicate effort,
does someone take charge of this part? or
does anyone is already implementing this currently?

BTW, any suggestion on this effort? I’m very appreciated!

Thanks in advance!

Some attempts were made in the past, but none too successful.

There is a basic implementation at:

lib/CodeGen/AsmPrinter/ARMException.cpp

should guide you through asm and obj emissions.

The best course of action now is to try what it does and go commando on it.

ARMException follows the DwarfException, which follows the Itanium ABI:

http://refspecs.linuxfoundation.org/abi-eh-1.22.html

And ARM's EHABI can be found here:

which also follows the Itanium ABI, but LLVM's implementation still
doesn't work with it, which is (I believe) due to bad jump table
generation.

Check the bug in bugzilla for more information:

http://llvm.org/bugs/show_bug.cgi?id=7187

Hello

My question is, to avoid duplicate effort,
does someone take charge of this part? or
does anyone is already implementing this currently?

BTW, any suggestion on this effort? I'm very appreciated!

There are several directions here:

1. Binary emission. Right now MC layer is text-only and depends on assembler
2. Correctness issues. It's believed that unwinding information
emitted is more of less correct (though no extensible verification was
maid, iirc)
3. Figure out what's wrong with EH data emission. Some clue is in PR7187

Dear Renato and Anton,

Big thanks to your help. Those references are very helpful!

BTW,
After I applying this patch from Logan Chien, I pass some examples on ARM assembly emission. It seems good to me.
http://llvm.org/bugs/show_bug.cgi?id=7187#attach_9161
For object file emission, The first thing is making MC generate correct .ARM.exidx and .ARM.extab. I will keep tracing that.

Thanks!

2012/10/22 Anton Korobeynikov <anton@korobeynikov.info>

After I applying this patch from Logan Chien, I pass some examples on ARM
assembly emission. It seems good to me.
http://llvm.org/bugs/show_bug.cgi?id=7187#attach_9161

Right. I have some uncommitted changes as well, so I'm planning to
"merge" my changes with Logan's. Most probably this will happen
sometime around dev meeting time.