/* let the linker use its 'native' format (ELF/COFF/PE)
OUTPUT_FORMAT("coff-go32") */
/* no leading underscore for symbols handled in asm: */
ENTRY(entry)
LS_Phys = 0x100000; /* 1 meg = load (physical) address */
LS_Virt = 0x100000; /* 1 meg = virtual address */
/*LS_Phys = 0x300000;*/ /* 3 meg = load (physical) address */
/*LS_Virt = 0x300000;*/ /* 3 meg = virtual address */
SECTIONS
{
.text LS_Virt : AT(LS_Phys)
{
LS_Code = .;
/* symbols to mark start of code segment */
code = .; _code = .;
/* kernel code */
*(.text)
/* .rodata is the ELF constant data section */
*(.rodata*)
. = ALIGN(4096);
}
.data : AT(LS_Phys + (LS_Data - LS_Code))
{
LS_Data = .;
/* symbols to mark start of data segment */
data = .; _data = .;
/* kernel data */
/* OLD: . = ALIGN(4096) */
*(.data)
. = ALIGN(4096);
}
.bss : AT(LS_Phys + (LS_Bss - LS_Code))
{
LS_Bss = .;
/* symbols to mark start of BSS segment */
bss = .; _bss = .;
/* kernel BSS */
*(.bss)
*(COMMON) /* "common" variables */
. = ALIGN(4096);
}
/* bug in MinGW? I get a bad executable file unless these
sections are here... */
.stab :
{
*(.stab)
}
.stabstr :
{
*(.stabstr)
}
/* symbols to mark end of kernel */
end = .; _end = .;
}