Maxim Uvarov wrote on 2010-05-11 10:47 : > This patch is required in case if you are using new toolchains. I'm on Debian/stable (binutils 2.18, gcc 4.3.2), so I applied your patches to the latest -git checkout: First, compilation fails with: cc1: warnings being treated as errors kexec/arch/ppc/kexec-ppc.c: In function ?get_base_ranges?: kexec/arch/ppc/kexec-ppc.c:258: error: value computed is not used make: *** [kexec/arch/ppc/kexec-ppc.o] Error 1 Somehow a "-" hyphen made it into one of the functions: > --- a/kexec/arch/ppc/kexec-ppc.c > +++ b/kexec/arch/ppc/kexec-ppc.c [...] > if (local_memory_ranges >= max_memory_ranges) { > - fclose(file); > - break; > + if (realloc_memory_ranges() < 0){ > + - fclose(file); Removing this, gets me further, until: purgatory/arch/ppc/crt.o: In function `__lshrdi3': (.text+0xf0): multiple definition of `__lshrdi3' purgatory/arch/ppc/misc.o:(.text+0x50): first defined here collect2: ld returned 1 exit status make: *** [purgatory/purgatory.ro] Error 1 And has been defined in purgatory/arch/ppc/crt.S and ./purgatory/arch/ppc/misc.S. Removing it from e.g. crt.S makes it compile, I have not tested it yet, though :-) Thanks, Christian. PS: Where is -Werror defined? I could not find it anywhere in the kexec source (execpt in arch/mips)... -- make bzImage, not war