[parisc-linux] 2.6.17-rc1-pa0 attempt to build for 64bit ;-)

Joel Soete soete.joel at tiscali.be
Tue Apr 4 06:31:48 MDT 2006


Matthew,

Very sorry but as I haven't any more access to cvs (i can just grab snapshot
;-( ), so I missed your patch.

Appologies,
    Joel

> Hello all, 
> 
> Try to build this new kernel for my 64bit n4k system, as for a500 config, I
> encountered:
> [snip]
>   hppa64-linux-gnu-gcc -Wp,-MD,arch/parisc/kernel/.signal.o.d  -nostdinc
> -isystem /usr/lib/gcc/hppa64-linux-gnu/4.0.3/include -D__KERNEL__ -Iinclude
> -Iinclude2 -I/usr/src/linux-2.6.17-rc1-pa0/include -include
> include/linux/autoconf.h -I/usr/src/linux-2.6.17-rc1-pa0/arch/parisc/kernel
> -Iarch/parisc/kernel -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs
> -fno-strict-aliasing -fno-common -O2 -fomit-frame-pointer -pipe
> -mno-space-regs -mfast-indirect-calls -mdisable-fpregs -ffunction-sections
> -march=2.0 -mschedule=8000 -Wdeclaration-after-statement -Wno-pointer-sign 
> -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(signal)" 
> -D"KBUILD_MODNAME=KBUILD_STR(signal)" -c -o arch/parisc/kernel/signal.o
> /usr/src/linux-2.6.17-rc1-pa0/arch/parisc/kernel/signal.c
> In file included from
> /usr/src/linux-2.6.17-rc1-pa0/arch/parisc/kernel/signal.c:39:
> /usr/src/linux-2.6.17-rc1-pa0/arch/parisc/kernel/signal32.h:52: error:
> redefinition of 'union compat_sigval'
> /usr/src/linux-2.6.17-rc1-pa0/arch/parisc/kernel/signal32.h:55: error:
> redefinition of typedef 'compat_sigval_t'
> /usr/src/linux-2.6.17-rc1-pa0/include/linux/compat.h:142: error: previous
> declaration of 'compat_sigval_t' was here
> make[2]: *** [arch/parisc/kernel/signal.o] Error 1
> make[1]: *** [arch/parisc/kernel] Error 2
> make: *** [vmlinux] Error 2
> 
> which I can easily (and safely?) fixed with:
> --- ./arch/parisc/kernel/signal32.h.Orig        2006-04-04 08:02:18.000000000
> +0200
> +++ ./arch/parisc/kernel/signal32.h     2006-04-04 13:58:14.000000000 +0200
> @@ -49,11 +49,6 @@
>          compat_sigset_t uc_sigmask;     /* mask last for extensibility */
>  };
>  
> -typedef union compat_sigval {
> -       compat_int_t sival_int;
> -       compat_uptr_t sival_ptr;
> -} compat_sigval_t;
> -
>  /* ELF32 signal handling */
>  
>  struct k_sigaction32 {
> ====<>====
> 
> Unfortuantely not enough because this type is define a third time so:
> [snip]
>   hppa64-linux-gnu-gcc -Wp,-MD,kernel/.signal.o.d  -nostdinc -isystem
> /usr/lib/gcc/hppa64-linux-gnu/4.0.3/include -D__KERNEL__ -Iinclude -Iinclude2
> -I/usr/src/linux-2.6.17-rc1-pa0/include -include include/linux/autoconf.h
> -I/usr/src/linux-2.6.17-rc1-pa0/kernel -Ikernel -Wall -Wundef
> -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -O2
> -fomit-frame-pointer -pipe -mno-space-regs -mfast-indirect-calls
> -mdisable-fpregs -ffunction-sections -march=2.0 -mschedule=8000
> -Wdeclaration-after-statement -Wno-pointer-sign  -D"KBUILD_STR(s)=#s"
> -D"KBUILD_BASENAME=KBUILD_STR(signal)"  -D"KBUILD_MODNAME=KBUILD_STR(signal)"
> -c -o kernel/signal.o /usr/src/linux-2.6.17-rc1-pa0/kernel/signal.c
> In file included from /usr/src/linux-2.6.17-rc1-pa0/kernel/signal.c:25:
> /usr/src/linux-2.6.17-rc1-pa0/include/linux/compat_siginfo.h:32: error:
> redefinition of 'union compat_sigval'
> /usr/src/linux-2.6.17-rc1-pa0/include/linux/compat_siginfo.h:35: error:
> redefinition of typedef 'compat_sigval_t'
> /usr/src/linux-2.6.17-rc1-pa0/include/linux/compat.h:142: error: previous
> declaration of 'compat_sigval_t' was here
> /usr/src/linux-2.6.17-rc1-pa0/include/linux/compat_siginfo.h:142: error:
> redefinition of 'struct compat_sigevent'
> /usr/src/linux-2.6.17-rc1-pa0/include/linux/compat_siginfo.h:155: error:
> redefinition of typedef 'compat_sigevent_t'
> /usr/src/linux-2.6.17-rc1-pa0/include/linux/compat.h:159: error: previous
> declaration of 'compat_sigevent_t' was here
> make[2]: *** [kernel/signal.o] Error 1
> make[1]: *** [kernel] Error 2
> make: *** [vmlinux] Error 2
> 
> As it affected upstream files I tried to figure out what said Linus tree (grab
> with git at
> <http://www.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git>) but
> there is no compat_siginfo.h?
> 
> so I made this test:
> --- ./include/linux/compat_siginfo.h.Orig       2006-04-04 08:29:30.000000000
> +0200
> +++ ./include/linux/compat_siginfo.h    2006-04-04 09:17:48.000000000 +0200
> @@ -28,12 +28,6 @@
>  #include <linux/compiler.h>
>  #include <asm/siginfo.h>
>  
> -/* compat view of sigval_t */
> -typedef union compat_sigval {
> -       compat_int_t sival_int;
> -       compat_uptr_t sival_ptr;
> -} compat_sigval_t;
> -
>  /*
>   * This is the size (including padding) of the part of the
>   * struct siginfo that is before the union.
> @@ -134,28 +128,6 @@
>  #define __ARCH_SIGEV_COMPAT_PREAMBLE_SIZE (sizeof(compat_int_t) * 2 +
> sizeof(compat_sigval_t))
>  #endif
>  
> -#define COMPAT_SIGEV_PAD_SIZE  ((SIGEV_MAX_SIZE/sizeof(int)) - 3)
> -
> -#ifndef HAVE_ARCH_COMPAT_SIGEVENT_T
> -
> -/* 32-bit view of sigevent_t */
> -typedef struct compat_sigevent {
> -       compat_sigval_t sigev_value;
> -       compat_int_t sigev_signo;
> -       compat_int_t sigev_notify;
> -       union {
> -               compat_int_t _pad[COMPAT_SIGEV_PAD_SIZE];
> -               compat_int_t _tid;
> -
> -               struct {
> -                       compat_uptr_t _function;
> -                       compat_uptr_t _attribute;  /* really pthread_attr_t */
> -               } _sigev_thread;
> -       } _sigev_un;
> -} compat_sigevent_t;
> -
> -#endif /* HAVE_ARCH_COMPAT_SIGEVENT_T */
> -
>  #ifndef HAVE_ARCH_COMPAT_COPY_SIGINFO
>  
>  #include <linux/string.h>
> ====<>====
> 
> It builds and boots fine on n4k (64bit smp kernel) and the same for b2k (32bit
> up kernel).
> 
> Hth,
>     Joel
> 
> -------------------------------------------------------
> NOTE! My email address is changing to ... @scarlet.be
> Please make the necessary changes in your address book. 
> 
> 
> 
> _______________________________________________
> parisc-linux mailing list
> parisc-linux at lists.parisc-linux.org
> http://lists.parisc-linux.org/mailman/listinfo/parisc-linux
> 
> 

-------------------------------------------------------
NOTE! My email address is changing to ... @scarlet.be
Please make the necessary changes in your address book. 






More information about the parisc-linux mailing list