------- Comment #10 from rguenth at gcc dot gnu dot org  2010-05-29 11:47 
-------
Or rather, if you have

void __attribute__((naked)) foo (int i)
{
  asm("use i");
}

without any inputs refering to i that is invalid.  Like I see in the
attached preprocessed source:

static void __attribute__((naked)) __attribute__((no_instrument_function))
v4wb_copy_user_page(void *kto, const void *kfrom)
{
 asm("  stmfd   sp!, {r4, lr}                   @ 2\n   mov     r2, %0         
                @ 1\n   ldmia   r1!, {r3, r4, ip, lr}           @ 4\n1: mcr    
p15, 0, r0, c7, c6, 1           @ 1   invalidate D line\n       stmia   r0!,
{r3, r4, ip, lr}           @ 4\n   ldmia   r1!, {r3, r4, ip, lr}           @
4+1\n stmia   r0!, {r3, r4, ip, lr}           @ 4\n   ldmia   r1!, {r3, r4, ip,
lr}           @ 4\n   mcr     p15, 0, r0, c7, c6, 1           @ 1   invalidate
D line\n       stmia   r0!, {r3, r4, ip, lr}           @ 4\n   ldmia   r1!,
{r3, r4, ip, lr}           @ 4\n   subs    r2, r2, #1                      @
1\n   stmia   r0!, {r3, r4, ip, lr}           @ 4\n   ldmneia r1!, {r3, r4, ip,
lr}           @ 4\n   bne     1b                              @ 1\n   mcr    
p15, 0, r1, c7, c10, 4          @ 1   drain WB\n        ldmfd    sp!, {r4, pc} 
                @ 3"
# 46 "/home/kraj/work/linux-2.6.34/arch/arm/mm/copypage-v4wb.c"
 :
 : "I" (((1UL) << 12) / 64));
}

kto and kfrom are unused.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |INVALID


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44290

Reply via email to