------- 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