Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Mon, 12 Sep 2011 16:11:14 +0400
From: Vasiliy Kulikov <segoon@...nwall.com>
To: owl-dev@...ts.openwall.com
Subject: gcc 4.6.x and kernel-2.6.18-ovz

Solar,

There is an issue with compiling RHEL5/OpenVZ kernel with gcc 4.6.1:

  CC      arch/i386/kernel/kvmclock.o
  SYSCALL arch/i386/kernel/vsyscall-syms.o
gcc: error: elf_i386: No such file or directory
make[2]: *** [arch/i386/kernel/vsyscall-syms.o] Error 1
make[2]: *** Waiting for unfinished jobs....
  CC      arch/i386/kernel/cpu/mtrr/main.o

While this specific failure is trivial to fix, there are more of them,
like this one:

  LD      init/built-in.o
  LD      .tmp_vmlinux1
kernel/built-in.o: In function `.text.lock.mutex':
mutex.c:(.sched.text+0x186b): undefined reference to `__mutex_lock_slowpath'
mutex.c:(.sched.text+0x1875): undefined reference to `__mutex_unlock_slowpath'
make[1]: *** [.tmp_vmlinux1] Error 1

and I suspect we'll get more of weird build bugs (and runtime bugs
perhaps) during RHEL6 kernel updates too as RHEL6 has gcc 4.4.5 (DW says
so), but we'll have 4.6.1.


Kir Kolyshkin suggested to use the same gcc version as RHELx has:

http://bugzilla.openvz.org/show_bug.cgi?id=1801

"The rule of thumb here is this: RHELx kernels are best to be compiled by gcc
from RHELx, otherwise we can get bad results (and it happened before)."


Probably we should use gcc 4.4.x for Owl 4.0?  Probably even not patch
the 2.6.18 kernel and suggest users to upgrade gcc and the kernel at the
same time.  Or patch the kernel and humble with possible runtime bugs
until we upgrade it to RHEL6/OpenVZ, but this more time consuming.

What do you think?

Thanks,

-- 
Vasiliy

Powered by blists - more mailing lists

Your e-mail address:

Powered by Openwall GNU/*/Linux - Powered by OpenVZ