Hi there, I've created a bug on llvm: http://www.llvm.org/bugs/show_bug.cgi?id=9582 Basically, ARM, Thumb and data mapping symbols should have been exported in the ELF file, so the linker can work correctly. I can do the change and create some test cases, but I haven't been paying much attention to recent MC developments. Is ArmAsmPrinter the place to change for that, or is there an MC equivalent that would be a better fit? thanks, --renato
On Mar 29, 2011, at 8:44 AM, Renato Golin wrote:> Hi there, > > I've created a bug on llvm: > > http://www.llvm.org/bugs/show_bug.cgi?id=9582 > > Basically, ARM, Thumb and data mapping symbols should have been > exported in the ELF file, so the linker can work correctly. > > I can do the change and create some test cases, but I haven't been > paying much attention to recent MC developments. Is ArmAsmPrinter the > place to change for that, or is there an MC equivalent that would be a > better fit?The increasingly misnamed ARMAsmPrinter.cpp is the MC lowering pass. There is no non-MC based printer anymore, so you'll only have to change one place. In particular, have a look at ARMAsmPrinter::EmitInstruction(). There's a big switch statement there for instructions that need any sorts of special handling. From the sounds of things, you'll be interested in the ARM::*_JT (jump table branch) instructions and ARM::CONSTPOOL_ENTRY. These mapping symbols sound very similar to special-purpose assembler directives. Off the cuff, it makes sense to me to do something similar to the MCStreamer::EmitAssemblerFlag() routine. -Jim
On 29 Mar 2011 18:04, "Jim Grosbach" <grosbach at apple.com> wrote:> In particular, have a look at ARMAsmPrinter::EmitInstruction(). There's abig switch statement there for instructions that need any sorts of special handling. From the sounds of things, you'll be interested in the ARM::*_JT (jump table branch) instructions and ARM::CONSTPOOL_ENTRY.>Ok, pretty much what I was thinking... ;) Thanks! Renato -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110329/c95ae241/attachment.html>
Possibly Parallel Threads
- [LLVMdev] ARM mapping symbols
- [LLVMdev] Questions on ARMInstrInfo.td and MC/ARM/ELF
- [LLVMdev] Questions on ARMInstrInfo.td and MC/ARM/ELF
- [LLVMdev] [llvm-commits] [patch] ARM/MC/ELF add new stub for movt/movw in ARMFixupKinds
- [LLVMdev] Help needed about code & data mixing when emit object files