Code: Select all
Vector<char> v;
At first I thought it was the heap again, but that's probably impossible since the heap isn't used, the crash occurs before anything ever gets to the heap or the vector class. So I'm thinking it's the linker script, but it's worked fine with me for a long time. Have any of you encountered something similar before? I really don't know what's going on or have any idea on how to fix this. I'm also using C++ for my kernel but have (I think) sufficient support for it (using information from on the wiki).
Could it be the linker in any way?
Code: Select all
ENTRY(BootEntry)
OUTPUT(../bin/Dynamix.bin)
OUTPUT_FORMAT("elf32-i386")
SECTIONS
{
.text 0x100000 :
{
LdCode = .;
*(.text)
. = ALIGN(4096);
}
.data :
{
/* Constructor and destructor variables. */
LdConstrStart = .;
*(.ctor*)
LdConstrEnd = .;
LdDestrStart = .;
*(.dtor*)
LdDestrEnd = .;
LdData = .;
*(.data)
*(.rodata)
. = ALIGN(4096);
}
.bss :
{
LdBss = .;
*(.bss)
*(.sbss)
. = ALIGN(4096);
}
LdEnd = .;
}
INPUT
(
Boot.obj
CPUID.obj
Process.obj
Interrupts.obj
Compiler.o
clib.o
CPU.o
Kernel.o
Interrupts.o
Keyboard.o
IO.o
Paging.o
Heap.o
Multitasking.o
Main.o
)
Thanks in advance.
Creature