Displaying 1 result from an estimated 1 matches for "handleassemblerflag".
2013 Nov 21
0
[LLVMdev] ARM integrated assembler generates incorrect nop opcode when switching from arm to thumb mode
...happen when compiling assembly code with align directives.
The ARMAsmBackend class is responsible for emitting these nops. It keeps
track of whether it should emit arm or thumb nop. The first problem is that
MCElfStreamer does not pass on the `.code 16` directive to the ARMAsmBackend
class (using handleAssemblerFlag). In the example above we start assembling
in arm mode (because of the -triple) and so the ARMAsmBackend always thinks
we are in arm mode and it emits the wrong opcode.
We actually can assemble this example correctly for darwin because the
MCMachOStreamer does pass on the directives. It looks like...