Displaying 4 results from an estimated 4 matches for "emitcodemappingsymbol".
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 the ARM. This should be moved
> + // to ARMAsmBackend.
Maybe MCARMELFS...
2012 Oct 17
0
[LLVMdev] R_ARM_ABS32 disassembly with integrated-as
...tober 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 the ARM. This should be moved
> > + // to ARM...
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