[webkit-dev] LLInt alignment problem on ARM

Gabor Rapcsanyi rgabor at inf.u-szeged.hu
Thu Sep 26 01:09:50 PDT 2013


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



More information about the webkit-dev mailing list