[LLVMdev] ARM/MC/ELF questions on .ARM.attributes section

Jason Kim
2010-09-30T21:50:18Z

Hi everyone, while looking at the ARMAsmPrinter::EmitStartofAsm
function,  I realized that what looks like singular assembler
directives (.eabi_attribute) are in fact shorthand that needs to go in
to the .ARM.attributes section in the ELF file.

1. What is the preferred method in MC to jump back to a prior section
already defined? (Or is this not supported?)

2. It looks like the "correct" way to write out these blobs in ELF  is
to add a new virtual interface to MCElfStreamer to emit the ARM
specific chunks.
I'd prefer to add a new subclass of MCELFStreamer to do this, but, it
looks like the registration mechanism for streamer does not encourage
this.
The other possibility is to add in special case code to MCELFStreamer
directly, which seems messy too. I am guessing that the latter
approach is preferred. Is this the case?

3. For the existing GNU ARM toolchain, what are the supported blobs
that go into the ARM specific sections in the ELF file? (Renato, could
you possibly shed light on  this?) I'd like to figure this out before
I attempt to fill out ARM-specific changes to the MCELFStreamer

Thanks!

-jason