make -j1 HOSTCC=x86_64-pc-linux-gnu-gcc CROSS_COMPILE=x86_64-pc-linux-gnu- LDFLAGS= GCC_VER_MAJ=4 KVER=2.6.35-vs2.3.0.36.32-gentoo KDIR=/usr/src/linux kmod_build make -C /usr/src/linux M=/usr/local/tmp/portage/x11-drivers/ati-drivers-10.10/work/common/lib/modules/fglrx/build_mod/2.6.x modules make[1]: entrant dans le répertoire « /usr/src/linux-2.6.35-vserver-2.3.0.36.32 » CC [M] /usr/local/tmp/portage/x11-drivers/ati-drivers-10.10/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o /usr/local/tmp/portage/x11-drivers/ati-drivers-10.10/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_MapPageToPfn’: /usr/local/tmp/portage/x11-drivers/ati-drivers-10.10/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1646: attention : unused variable ‘bus_addr’ CC [M] /usr/local/tmp/portage/x11-drivers/ati-drivers-10.10/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o CC [M] /usr/local/tmp/portage/x11-drivers/ati-drivers-10.10/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_agp.o CC [M] /usr/local/tmp/portage/x11-drivers/ati-drivers-10.10/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_debug.o CC [M] /usr/local/tmp/portage/x11-drivers/ati-drivers-10.10/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_ioctl.o /usr/local/tmp/portage/x11-drivers/ati-drivers-10.10/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_ioctl.c: In function ‘KCL_IOCTL_AllocUserSpace32’: /usr/local/tmp/portage/x11-drivers/ati-drivers-10.10/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_ioctl.c:196: erreur: implicit declaration of function ‘COMPAT_ALLOC_USER_SPACE’ /usr/local/tmp/portage/x11-drivers/ati-drivers-10.10/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_ioctl.c:196: attention : initialization makes pointer from integer without a cast make[2]: *** [/usr/local/tmp/portage/x11-drivers/ati-drivers-10.10/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_ioctl.o] Erreur 1 make[1]: *** [_module_/usr/local/tmp/portage/x11-drivers/ati-drivers-10.10/work/common/lib/modules/fglrx/build_mod/2.6.x] Erreur 2 make[1]: quittant le répertoire « /usr/src/linux-2.6.35-vserver-2.3.0.36.32 » make: *** [kmod_build] Erreur 2 emake failed
First traceback is the one i get with the intree ebuild
now if i take the ebuild in my overlay: http://hg.cryptelium.net/hg/system/gentoo/overlay/ with making the 2.6.36 patch applying on 2.5.35 too, it goes further but fails also without the CVE fix: make -j1 HOSTCC=x86_64-pc-linux-gnu-gcc CROSS_COMPILE=x86_64-pc-linux-gnu- LDFLAGS= GCC_VER_MAJ=4 KVER=2.6.35-vs2.3.0.36.32-gentoo KDIR=/usr/src/linux kmod_build make -C /usr/src/linux M=/usr/local/tmp/portage/x11-drivers/ati-drivers-10.10/work/common/lib/modules/fglrx/build_mod/2.6.x modules make[1]: entrant dans le répertoire « /usr/src/linux-2.6.35-vserver-2.3.0.36.32 » CC [M] /usr/local/tmp/portage/x11-drivers/ati-drivers-10.10/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o /usr/local/tmp/portage/x11-drivers/ati-drivers-10.10/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_MapPageToPfn’: /usr/local/tmp/portage/x11-drivers/ati-drivers-10.10/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1646: attention : unused variable ‘bus_addr’ CC [M] /usr/local/tmp/portage/x11-drivers/ati-drivers-10.10/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o CC [M] /usr/local/tmp/portage/x11-drivers/ati-drivers-10.10/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_agp.o CC [M] /usr/local/tmp/portage/x11-drivers/ati-drivers-10.10/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_debug.o CC [M] /usr/local/tmp/portage/x11-drivers/ati-drivers-10.10/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_ioctl.o /usr/local/tmp/portage/x11-drivers/ati-drivers-10.10/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_ioctl.c: In function ‘KCL_IOCTL_AllocUserSpace32’: /usr/local/tmp/portage/x11-drivers/ati-drivers-10.10/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_ioctl.c:196: erreur: implicit declaration of function ‘COMPAT_ALLOC_USER_SPACE’ /usr/local/tmp/portage/x11-drivers/ati-drivers-10.10/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_ioctl.c:196: attention : initialization makes pointer from integer without a cast make[2]: *** [/usr/local/tmp/portage/x11-drivers/ati-drivers-10.10/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_ioctl.o] Erreur 1 make[1]: *** [_module_/usr/local/tmp/portage/x11-drivers/ati-drivers-10.10/work/common/lib/modules/fglrx/build_mod/2.6.x] Erreur 2 make[1]: quittant le répertoire « /usr/src/linux-2.6.35-vserver-2.3.0.36.32 » make: *** [kmod_build] Erreur 2 emake failed * ERROR: x11-dri
To reproduce, take my 'vserver' kernel config here : http://hg.cryptelium.net/hg/system/config/kernels/file/tip/linux then, make and !!!boot!!! on that kernel. From there, you should be able to reproduce.
Note to myself: never do a bugreport next to waking up. So, the 2.6.36 patch editing to make it run on 2.6.35+ is useless i think. However, on vserver sources at least for now, we need the CVE patch bits in case of a 64 bits kernel where the 32 compat fmag is enabled. Unless, it will fail will the given traceback
(In reply to comment #0) > make -j1 HOSTCC=x86_64-pc-linux-gnu-gcc CROSS_COMPILE=x86_64-pc-linux-gnu- > LDFLAGS= GCC_VER_MAJ=4 KVER=2.6.35-vs2.3.0.36.32-gentoo KDIR=/usr/src/linux > kmod_build There is something really odd here. Are you sure you are using the portage tree ebuild? It should look like make -j3 HOSTCC=x86_64-pc-linux-gnu-gcc CROSS_COMPILE=x86_64-pc-linux-gnu- LDFLAGS= GCC_VER_MAJ=4 KVER=2.6.35-gentoo-r8 KDIR=/usr/src/linux 'CFLAGS_MODULE+=-DMODULE -DATI -DFGL' CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space kmod_build i really can't understand what's happening here. the ebuild code is gives no choice about those options. see http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/x11-drivers/ati-drivers/ati-drivers-10.10.ebuild?view=markup lines 256-262
Read the bug report and you ll see i'm using my ebuild.
On the other hand, you ll see that the module Makefile calls another makefile while wiping the environment, that's why my ebuild do if grep -q compat_alloc_user_space ${KV_DIR}/include/linux/compat.h ; then epatch "${FILESDIR}"/ati-drivers-CVE-2010-3081-fix.patch || \ die "epatch ati-drivers-CVE-2010-3081-fix.patch failed" fi instead of exporting things into the environment BECAUSE it is ignored by the final makefile building the module resulting in a #fail.
Im thinking also that you didn't check my overlay at first, so check also the updated patches in files/.
i checked it carefully, but still this makes no sense for me. when needed the ebuild feeds BUILD_PARAMS with CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space" and this reaches the kernel Makefile here -> COMPAT_ALLOC_USER_SPACE is defined -> it compiles with no problems. This code was inspired by the ati-drivers installer script (make.sh) boundled with the driver itself. it does exactly the same thing (except it uses MODFLAGS istead of CFLAGS_MODULE).
Fine... I have the skill to handle it myself. It will just be dropped in my overlay ... All technical details are now on the bug reports, specially the makefile call subtility which wipes your params that are maybe feeded in the env. at first but wiped afterall during the second make call. I ve spent too much time & energy now to get this fixed. Sad for other users in same case which will just use 'radeon' or just take things from my overlay if they are bitten by this bug. Good evening.