[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Overflow in relocation type 11 val FFFFFF00104c3688
On 4/30/07, Shawn Bohrer <shawn.bohrer@xxxxxxxxx> wrote:
Hey everyone,
I'm trying to build one of my companies internal test modules on the
x86_64 architecture. The module is written in C++ so we do not use
the kernel's build system. When I try to load the module I see the
following error in the kernel prints:
Overflow in relocation type 11 val FFFFFF00104c3688
module likely not compiled with -mcmodel=kernel
Of course the problem is that I am compiling with -mcmodel=kernel and
-mno-red-zone. Additionally I have built one other module using the
same compile options and it loads fine. Am I missing some other
compile options? Is there something wrong with the code?
Well I found the problem though I'm not sure how to fix it. The
problem is that we define two symbols in our linker script and the
linker doesn't know about the -mcmodel=kernel option. Is there some
other way to do this in the linker script on 64-bit?
.ctors 0 :
{
___gNISSCtorStart___ = .;
KEEP (*(SORT(.ctors.*)))
KEEP (*(SORT(.ctors)))
___gNISSCtorEnd___ = .;
}
.dtors 0 :
{
___gNISSDtorStart___ = .;
KEEP (*(SORT(.dtors.*)))
KEEP (*(SORT(.dtors)))
___gNISSDtorEnd___ = .;
}
Thanks,
Shawn
--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ