x86_64 module loader reloc problem

From: Jason Baietto
Date: Wed Oct 29 2003 - 14:20:57 EST


Using test8 I'm only able to load kernel modules on x86_64 systems if I
comment out the overflow check for R_X86_64_32 relocation entries in
arch/x64_64/kernel/module.c.

With the check in place I get errors like this:

overflow in relocation type 10 val ffffff0000426b88" errors
`test' likely not compiled with -mcmodel=kernel
insmod: error inserting 'test.ko': -1 Invalid module format

Yes, I'm using -mcmodel=kernel. I'm also using module-init-tools
0.9.15-pre2. Once loaded, the modules appear to be working properly,
but it wouldn't surprise me if a time bomb was lurking there.

What am I doing wrong? Compiler used for both kernel and modules is gcc
(GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-20).

Note that in my linked test module, objdump shows 632 R_X86_64_32 reloc
entries and only 18 R_X86_64_64 reloc entries.

Take care,
Jason


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/