Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: security/polkit not working with evbarm-current



On Jun 29, 2016, at 2:51 AM, Edgar Fuß wrote:

> This is strange (or so I think).
> 
>> -	ldr r7, =.Lpoly1305_init_constants_neon
>> +	adr r7, .Lpoly1305_init_constants_neon
> My ARM knowledge is a bit dated (from Acorn 310 and ARM 2 times), but I 
> guess still nowadays neither of the two instructions is a real assembler 
> instruction. Both should assemble to something like
> 	ADD R7, R15, <offset of .Lpoly1305_init_constants_neon to PC+8>
> (assuming the offset is in a suitable range).
> So could you find out what instructions the assembler generates for the 
> two variants? I'm afraid it may be the assembler's fault that one variant 
> doesn't work.
> Or am I completely wrong with today's ARMs?
> 
> 


Here's the example I tried. Apparently this assembler doesn't optimize away the literal.

mipi$ cat tryme.S 
.syntax unified
.fpu neon
.arm

.text

.p2align 2
.Lmyconstants:
.long 0x3ffff03
.long 0x3ffc0ff
.long 0x3f03fff
.long 0x00fffff

        .align  2
        .global oink
oink:
        ldr     r0, =.Lmyconstants
        bx      lr

        .align 2
        .global quack
quack:
        adr     r0, .Lmyconstants
        bx      lr
mipi$ objdump -d tryme.o

tryme.o:     file format elf32-littlearm


Disassembly of section .text:

00000000 <oink-0x10>:
   0:   03ffff03        .word   0x03ffff03
   4:   03ffc0ff        .word   0x03ffc0ff
   8:   03f03fff        .word   0x03f03fff
   c:   000fffff        .word   0x000fffff

00000010 <oink>:
  10:   e59f0008        ldr     r0, [pc, #8]    ; 20 <quack+0x8>
  14:   e12fff1e        bx      lr

00000018 <quack>:
  18:   e24f0020        sub     r0, pc, #32
  1c:   e12fff1e        bx      lr
  20:   00000000        .word   0x00000000



Home | Main Index | Thread Index | Old Index