[REGRESSION] uml: signal.c build errors

From: Matthew Leach
Date: Tue Oct 23 2012 - 19:18:42 EST


Hi,

When building UML against 3.7-rc2 I encounter the following build error:

# make ARCH=uml
scripts/kconfig/conf --silentoldconfig arch/x86/um/Kconfig
CHK include/generated/uapi/linux/version.h
UPD include/generated/uapi/linux/version.h
WRAP arch/um/include/generated/asm/clkdev.h
SYSHDR arch/x86/syscalls/../include/generated/uapi/asm/unistd_32.h
SYSHDR arch/x86/syscalls/../include/generated/uapi/asm/unistd_64.h
SYSHDR arch/x86/syscalls/../include/generated/uapi/asm/unistd_x32.h

...

CC arch/um/os-Linux/signal.o
arch/um/os-Linux/signal.c:18:8: error: conflicting types for âsig_infoâ
In file included from arch/um/os-Linux/signal.c:12:0:
/home/matthew/Development/linux/arch/um/include/shared/as-layout.h:64:15: note: previous declaration of âsig_infoâ was here
arch/um/os-Linux/signal.c:19:2: warning: initialization from incompatible pointer type [enabled by default]
arch/um/os-Linux/signal.c:19:2: warning: (near initialization for âsig_info[5]â) [enabled by default]
arch/um/os-Linux/signal.c:20:2: warning: initialization from incompatible pointer type [enabled by default]
arch/um/os-Linux/signal.c:20:2: warning: (near initialization for âsig_info[8]â) [enabled by default]
arch/um/os-Linux/signal.c:21:2: warning: initialization from incompatible pointer type [enabled by default]
arch/um/os-Linux/signal.c:21:2: warning: (near initialization for âsig_info[4]â) [enabled by default]
arch/um/os-Linux/signal.c:22:2: warning: initialization from incompatible pointer type [enabled by default]
arch/um/os-Linux/signal.c:22:2: warning: (near initialization for âsig_info[28]â) [enabled by default]
arch/um/os-Linux/signal.c:23:2: warning: initialization from incompatible pointer type [enabled by default]
arch/um/os-Linux/signal.c:23:2: warning: (near initialization for âsig_info[7]â) [enabled by default]
arch/um/os-Linux/signal.c:24:2: warning: initialization from incompatible pointer type [enabled by default]
arch/um/os-Linux/signal.c:24:2: warning: (near initialization for âsig_info[11]â) [enabled by default]
arch/um/os-Linux/signal.c:25:2: warning: initialization from incompatible pointer type [enabled by default]
arch/um/os-Linux/signal.c:25:2: warning: (near initialization for âsig_info[29]â) [enabled by default]
arch/um/os-Linux/signal.c:26:2: warning: initialization from incompatible pointer type [enabled by default]
arch/um/os-Linux/signal.c:26:2: warning: (near initialization for âsig_info[26]â) [enabled by default]
arch/um/os-Linux/signal.c:133:1: warning: initialization from incompatible pointer type [enabled by default]
arch/um/os-Linux/signal.c:133:1: warning: (near initialization for âhandlers[26]â) [enabled by default]
make[1]: *** [arch/um/os-Linux/signal.o] Error 1
make: *** [arch/um/os-Linux] Error 2

I have tracked this down to [1] where, indeed, the type of sig_info is
different; the second parameter in signal.c is 'siginfo_t' where as in
as-layout.h the second parameter's type is declared as 'struct siginfo'.

[1]: d3c1cfcdb43e023ab1b1c7a555cd9e929026500a

Matt
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/