[webkit-dev] LLInt alignment problem on ARM
Michael Saboff
msaboff at apple.com
Thu Sep 26 10:16:39 PDT 2013
I’m wondering if the alignment is the traditional ARM vs Thumb 2. The movw after lint_begin with hex 0xe30b3eef is a Thumb 2 instruction.
- Michael
On Sep 26, 2013, at 9:24 AM, Oliver Hunt <oliver at apple.com> wrote:
> 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
>
> _______________________________________________
> 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