While trying to compile a 64 bit Linux kernel using GCC, I see the following error:

kernel/bounds.c:1: error: code model ‘kernel’ not supported in the 32 bit mode
kernel/bounds.c:1: sorry, unimplemented: 64-bit mode not compiled in

This is what gcc -v reports:

Using built-in specs.
Target: i586-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man -- infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/ bugzilla --enable-bootstrap --enable-shared --enable-threads=posix -- enable-checking=release --with-system-zlib --enable-__cxa_atexit -- disable-libunwind-exceptions --enable-languages=c,c++,objc,obj-c+ +,java,fortran,ada --enable-java-awt=gtk --disable-dssi --enable- plugin --with-java-home=/usr/lib/jvm/java-1.5.0-gcj- -- enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/ usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl -- with-cloog --with-tune=generic --with-arch=i586 --build=i586-redhat- linux
Thread model: posix
gcc version 4.4.1 20090725 (Red Hat 4.4.1-2) (GCC)

Am I missing something on my kernel make command line? Or is it the GCC present on the system does not support 64-bit compilation?

1 Answer 1


From your gcc -v output it looks as if you are running on a 32-bit machine, is that correct ?

Target: i586-redhat-linux

Try specifying --with-arch=x86_64 insterad of i586.

  • Its a Pentium 4. I would think that it supports 64 bit, though I am not sure. I already tried with 'make ARCH=x86_64' . Does not seem to help.
    – vivekian2
    Sep 3, 2009 at 4:31
  • You are right. It was a 32 bit machine. I built a x86_64 cross compiler but that did not help either in building the kernel.
    – vivekian2
    Sep 6, 2009 at 17:14
  • Where does the --with-arch get specified?
    – Jay Elston
    Apr 27, 2018 at 17:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.