Re: Compiling a 32bit kernel fails

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

 





Hi JDA,


On 2014-07-24 15:19, John David Anglin wrote:
On 24-Jul-14, at 7:39 AM, Guy Martin wrote:
Is the fix to modify the LDCW macro or fix gcc ?


There's not enough info to tell.  In general, arguments in an asm
can't overlap in register usage with
registers listed in the clobber list.  Because r1 may be needed to
reload an argument, the error can
occur as a result of optimization, etc.  In that case, the macro would
 need fixing.

It would be helpful to see preprocessed source and full compile command.


This is the command being ran :

gcc -Wp,-MD,kernel/.signal.o.d -nostdinc -isystem /usr/lib/gcc/hppa2.0-unknown-linux-gnu/4.8.3/include -I/usr/src/linux-3.15.6-phoenix/arch/parisc/include -Iarch/parisc/include/generated -Iinclude -I/usr/src/linux-3.15.6-phoenix/arch/parisc/include/uapi -Iarch/parisc/include/generated/uapi -I/usr/src/linux-3.15.6-phoenix/include/uapi -Iinclude/generated/uapi -include /usr/src/linux-3.15.6-phoenix/include/linux/kconfig.h -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -pipe -mno-space-regs -mfast-indirect-calls -mdisable-fpregs -ffunction-sections -march=2.0 -mschedule=8000 -Wframe-larger-than=1024 -fno-stack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -DCC_HAVE_ASM_GOTO -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(signal)" -D"KBUILD_MODNAME=KBUILD_STR(signal)" -c -o kernel/signal.o kernel/signal.c

The preprocessed sources are here :
http://bpaste.net/show/498190/

The full config here :
http://bpaste.net/show/498196/


The error is still this :

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)



I tried to play a bit with the __ldcw macro but I still couldn't get it to compile.


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




[Index of Archives]     [Linux SoC]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux