I've been trying to compile a 3.15.6 kernel but I did not managed to do
so with either gcc 4.7.3 or 4.8.3.
This is the error I get :
In file included from
/usr/src/linux-3.15.6-phoenix/arch/parisc/include/asm/spinlock.h:5:0,
from
/usr/src/linux-3.15.6-phoenix/arch/parisc/include/asm/atomic.h:20,
from include/linux/atomic.h:4,
from
/usr/src/linux-3.15.6-phoenix/arch/parisc/include/asm/bitops.h:11,
from include/linux/bitops.h:33,
from include/linux/kernel.h:10,
from
/usr/src/linux-3.15.6-phoenix/arch/parisc/include/asm/bug.h:4,
from include/linux/bug.h:4,
from include/linux/thread_info.h:11,
from include/asm-generic/preempt.h:4,
from arch/parisc/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:18,
from include/linux/spinlock.h:50,
from include/linux/mmzone.h:7,
from include/linux/gfp.h:5,
from include/linux/slab.h:14,
from kernel/signal.c:13:
kernel/signal.c: In function ‘get_signal_to_deliver’:
/usr/src/linux-3.15.6-phoenix/arch/parisc/include/asm/ldcw.h:39:2:
error: can’t find a register in class ‘R1_REGS’ while reloading ‘asm’
__asm__ __volatile__(__LDCW " 0(%2),%0" \
^
/usr/src/linux-3.15.6-phoenix/arch/parisc/include/asm/spinlock.h:26:9:
note: in expansion of macro ‘__ldcw’
while (__ldcw(a) == 0)
^
/usr/src/linux-3.15.6-phoenix/arch/parisc/include/asm/ldcw.h:39:2:
error: ‘asm’ operand has impossible constraints
__asm__ __volatile__(__LDCW " 0(%2),%0" \
^
/usr/src/linux-3.15.6-phoenix/arch/parisc/include/asm/spinlock.h:26:9:
note: in expansion of macro ‘__ldcw’
while (__ldcw(a) == 0)
^
As far as I can tell, it looks familiar :
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60925
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=35193
Is the fix to modify the LDCW macro or fix gcc ?
Guy
--
To unsubscribe from this list: send the line "unsubscribe linux-parisc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html