[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