Am 01.02.2013 um 15:43 schrieb Jonathan Schleifer: >> Did you compare the disassembled code? > > That's unfortunately not possible, as I haven't figured out yet in which part > of the bootloader the problem is, and comparing all of the generated assembly > of the bootloader would be a little too much ;). Ok, I got a little further now. And the problem is really strange, but maybe someone is able to help. I found out that the issue only happens if bios_ia32/start.cpp is compiled with Clang. If I compile everything with Clang, but bios_ia32/start.cpp with GCC, it works. It also works if I comile bios_ia32/start.cpp with Clang and disable SMP or comment out the smp_init() line in start.cpp. However, smp_init() is defined in another file which is compiled to Clang, so I guess this is not the issue and something goes wrong before the call to smp_init(). I has to be something in start.cpp, as it works when that file is compiled with GCC and all other files with Clang. However, I can't figure out what goes wrong there when that file is compiled with Clang. -- Jonathan