[Barrelfish-users] [Barrelfish] Kernel panic using qemu

Simon Peter speter at inf.ethz.ch
Wed Jun 22 09:25:00 CEST 2011


> I get the following error message using qemu v0.10.5, GCC v4.3.5,  and GHCv6.10.4  and ld v2.17.50.0.6-14.el5

I would suggest to upgrade your toolchain. If you had to modify 
Barrelfish to make it work then you might've hit a corner case that we 
didn't check for. GCC 4.3 is not supported anymore in our current 
development tree.

> elf_relocate: relocation 76 type 6011040
> kernel 0 PANIC! kernel assertion "!"Unimplemented: Cannot handle relocation type"" failed at ../lib/elf/elf64.c:218

This means you've hit an ELF relocation that the loader cannot handle. 
The type looks especially suspicious to me. It looks like your binary is 
corrupted.

You can use objdump -R to display the relocation table. Compare the 
listed relocation types with those handled in elf64_relocate().

> I had to remove the parameter "-Wno-packed-bitfield-compat" from hake/X86_64.hs as this is not supported
> by GCC v4.3.5. Could this be causing the issue I'm seeing above? The readme does say that my version of GCC
> is supported.

-Wno-packed-bitfield-compat only toggles a warning and shouldn't be the 
cause for your problem.

> I also had to remove the "--build-id=none" flag from tools/elver/Hakefile as my version of ld does not
> support it. But this seems to only add extra debugging info so I assume that's harmless.

As long as your ld doesn't actually generate a build id, it's harmless. 
If it does, it could actually cause you trouble. You can check whether 
you have a .note.gnu.build-id (or similar) section in your binaries.

Hope this helps,
Simon



More information about the Barrelfish-users mailing list