In addition to my previous problem (Posted in my other post),
I am also having pointer issues with C in my kernel.
I am currently using DJGPP.
I have a simple _putch() routine (Puts a character on screen),
and it works just fine.
I attempted to write a version of _printf(). At the moment, it litterally
does nothing:
Code: Select all
void _printf (const char* format, ...) {
}
I know the most common solution to this problem is including .rodata
section in my linker script, but I have that..
Here is my linker script:
Code: Select all
ENTRY(__Stage2)
OUTPUT_FORMAT("binary")
SECTIONS
{
.text 0x1000 :
{
code = .; _code = .; __code = .;
*(.text)
*(.rodata*)
. = ALIGN(4096);
}
.data :
{
data = .; _data = .; __data = .;
*(.data)
. = ALIGN(4096);
}
.bss :
{
bss = .; _bss = .; __bss = .;
*(.bss)
. = ALIGN(4096);
}
end = .; _end = .; __end = .;
}
(Im just trying to get text on the screen!!)