[webkit-dev] LLInt alignment problem on ARM
Oliver Hunt
oliver at apple.com
Thu Sep 26 09:24:16 PDT 2013
I believe that there’s a mnemonic that forces alignment that we could (arguably should?) be using before these labels.
IIRC it’s something like .align N — if we aren’t doing this already we could make the lint assembler backend emit a .align 16 prior to each global symbol.
—Oliver
On Sep 26, 2013, at 1:09 AM, Gabor Rapcsanyi <rgabor at inf.u-szeged.hu> wrote:
> Hello!
>
> I'm fighting with a strange LLInt alignment problem on ARM. As I see we put the LLInt code into .rodata section instead of .text.
> Is there a specific reason why we are doing this? If there is not I would put them to the .text section.
>
> Here is the objdump:
>
> ./Source/JavaScriptCore/.obj/release-shared/llint/LowLevelInterpreter.o: file format elf32-littlearm
>
> Disassembly of section .rodata:
>
> 00000000 <_ZStL19piecewise_construct>:
> 0: 00000000 andeq r0, r0, r0
>
> 00000004 <_ZStL13allocator_arg>:
> 4: 00000000 andeq r0, r0, r0
>
> 00000008 <_ZStL6ignore>:
> ...
>
> 00000009 <llint_begin>:
> 9: e30b3eef movw r3, #48879 ; 0xbeef
> d: e34b3bad movt r3, #48045 ; 0xbbad
> 11: e5830000 str r0, [r3]
> 15: e3a00000 mov r0, #0
> 19: e12fff30 blx r0
>
> 0000001d <llint_program_prologue>:
> 1d: e1a0200e mov r2, lr
> 21: e5852010 str r2, [r5, #16]
> 25: e5951008 ldr r1, [r5, #8]
> ...
>
>
> The problem is that these traditional instructions are lying on odd adresses in the .rodata section.
>
> Regards,
> Gabor
>
> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev
More information about the webkit-dev
mailing list