search for: emitdatamappingsymbol

Displaying 4 results from an estimated 4 matches for "emitdatamappingsymbol".

2012 Oct 17
2
[LLVMdev] R_ARM_ABS32 disassembly with integrated-as
On 17 October 2012 15:05, Greg Fitzgerald <garious at gmail.com> wrote: > + virtual void EmitMappingSymbol(bool IsData); I'd use an enum, or have multiple internal implementations... EmitDataMappingSymbol -> { nop on base class, on ARM, prints "$d" } EmitCodeMappingSymbol -> { nop on base class, calling either EmitThumbMappingSymbol or EmitARMMappingSymbol (private) on ARM } > +void MCELFStreamer::EmitMappingSymbol(bool IsData) { > + // FIXME: The following is specific to th...
2012 Oct 17
0
[LLVMdev] R_ARM_ABS32 disassembly with integrated-as
...2012 at 7:22 AM, Renato Golin <rengolin at systemcall.org>wrote: > On 17 October 2012 15:05, Greg Fitzgerald <garious at gmail.com> wrote: > > + virtual void EmitMappingSymbol(bool IsData); > > I'd use an enum, or have multiple internal implementations... > > EmitDataMappingSymbol -> { nop on base class, on ARM, prints "$d" } > EmitCodeMappingSymbol -> { nop on base class, calling either > EmitThumbMappingSymbol or EmitARMMappingSymbol (private) on ARM } > > > > +void MCELFStreamer::EmitMappingSymbol(bool IsData) { > > + // FIXME: The...
2012 Oct 17
0
[LLVMdev] R_ARM_ABS32 disassembly with integrated-as
Hi Jim, The diff below is not intended to be a patch, but a starting point. It is the shortest path (I hope) to getting LLVM to emit ARM mapping symbols to the ELF without changing any shared interfaces. Could you have a look at the FIXME comments and offer some pointers on how to get this code out of MCELFStreamer? Thanks, Greg diff --git a/lib/MC/MCELFStreamer.cpp b/lib/MC/MCELFStreamer.cpp
2012 Oct 16
2
[LLVMdev] R_ARM_ABS32 disassembly with integrated-as
Attached is an example of how to reproduce the issue. It uses a C file that happens to has a bunch of switch statements which are encoded as jump tables, giving us data-in-code. Usage: To build object files with clang via the -integrated-as versus via GCC: $ export NDK_DIR=<my_ndk_dir> $ export LLVM_DIR=<my_llvm_bin_dir> $ make To test that the generated objects contain the same