Initial commit: Simple Injection Target
This commit is contained in:
70
linker.ld
Normal file
70
linker.ld
Normal file
@ -0,0 +1,70 @@
|
||||
/* Kernel entry function */
|
||||
ENTRY(_start)
|
||||
|
||||
OUTPUT_FORMAT(elf32-i386)
|
||||
|
||||
SECTIONS {
|
||||
|
||||
/DISCARD/ : {
|
||||
*(".text.inlined*")
|
||||
*(.comment)
|
||||
*(.eh_frame)
|
||||
*(.note.gnu.build-id)
|
||||
}
|
||||
|
||||
/* Set kernel start address */
|
||||
. = 0x100000;
|
||||
|
||||
/* Code and readonly data */
|
||||
.text : {
|
||||
/* fill gaps with int3 opcode to detect invalid jumps */
|
||||
FILL(0xcc)
|
||||
|
||||
/* multiboot header */
|
||||
multiboot_header = .;
|
||||
KEEP (*(".rodata.multiboot"))
|
||||
|
||||
/* /\* fixed address for IRQ handlers *\/ */
|
||||
/* . = 0x1000; */
|
||||
|
||||
/* /\* start of interrupt handlers *\/ */
|
||||
/* _stext_irqs = .; */
|
||||
|
||||
/* /\* IRQ Handlers *\/ */
|
||||
/* KEEP (*(".text.irqhandlers*")) /\* ASM *\/ */
|
||||
/* KEEP (*(".text.irq_handler*")) /\* C *\/ */
|
||||
/* *(".text.isrs*") /\* C *\/ */
|
||||
/* *(".text.isr_*") /\* C *\/ */
|
||||
/* KEEP (*(".text.OSEKOS_ISR*")) */
|
||||
/* KEEP (*(".text.idt")) /\* ASM *\/ */
|
||||
|
||||
/* /\* sysenter handler *\/ */
|
||||
/* KEEP (*(".text.sysenter_syscall")) */
|
||||
|
||||
/* _etext_irqs = .; */
|
||||
/* . += 16; /\* padding after data, workaround for import-trace *\/ */
|
||||
|
||||
KEEP (*(".text.startup"))
|
||||
*(".text*")
|
||||
*(".rodata*")
|
||||
}
|
||||
|
||||
/* Data and Stacks */
|
||||
. = 0x200000;
|
||||
.data : {
|
||||
KEEP (*(".startup_stack"))
|
||||
KEEP (*(".kernel_stack"))
|
||||
*(".data*")
|
||||
*(COMMON);
|
||||
}
|
||||
|
||||
/* Memory-mapped I/O APIC */
|
||||
_sioapic = 0xFEC00000;
|
||||
ioapic = 0xFEC00000;
|
||||
_eioapic = 0xFEC00FFF;
|
||||
|
||||
/* Memory-mapped Local APIC */
|
||||
_slapic = 0xFEE00000;
|
||||
lapic = 0xFEE00000;
|
||||
_elapic = 0xFEE00FFF;
|
||||
}
|
||||
Reference in New Issue
Block a user