Allocating common symbols Common symbol size file g_IDT 0x800 hal/interrupts.o g_InterruptHandlerTable 0x400 hal/interrupts.o Memory Configuration Name Origin Length Attributes *default* 0x00000000 0xffffffff Linker script and memory map Address of section .text set to 0x10000 LOAD init/entry.o LOAD init/main.o LOAD hal/video.o LOAD hal/io.o LOAD rtl/string.o LOAD rtl/memory.o LOAD hal/intsupport.o LOAD hal/interrupts.o LOAD hal/timer.o LOAD hal/keyboard.o LOAD hal/timestamp.o LOAD hal/counters.o 0x08048074 . = (0x8048000 + SIZEOF_HEADERS ) .interp *(.interp) .hash *(.hash) .dynsym *(.dynsym) .dynstr *(.dynstr) .gnu.version *(.gnu.version) .gnu.version_d *(.gnu.version_d) .gnu.version_r *(.gnu.version_r) .rel.init *(.rel.init) .rela.init *(.rela.init) .rel.text 0x08048074 0x0 *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) .rela.text *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) .rel.fini *(.rel.fini) .rela.fini *(.rela.fini) .rel.rodata *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) .rela.rodata *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) .rel.data *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) .rela.data *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) .rel.ctors *(.rel.ctors) .rela.ctors *(.rela.ctors) .rel.dtors *(.rel.dtors) .rela.dtors *(.rela.dtors) .rel.got *(.rel.got) .rela.got *(.rela.got) .rel.bss *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) .rela.bss *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) .rel.plt *(.rel.plt) .rela.plt *(.rela.plt) .init *(.init) .plt *(.plt) .text 0x00010000 0x20b0 *(.text .stub .text.* .gnu.linkonce.t.*) .text 0x00010000 0xa init/entry.o 0x00010000 StartOfKernelImage 0x00010006 IdleLoop *fill* 0x0001000a 0x2 2425393296 .text 0x0001000c 0x104 init/main.o 0x0001003c _assert 0x00010078 KernelEntry 0x0001000c ZeroBSS .text 0x00010110 0x814 hal/video.o 0x000105cc HalVideoGetCursorPosition 0x00010110 HalVideoSetHardwareCursor 0x000106b0 HalVideoPrint 0x00010298 HalVideoClearScreen 0x0001051c HalVideoPutNullTerminatedString 0x00010260 HalVideoSetCurrentColorAttribute 0x0001032c HalVideoScroll 0x00010578 HalVideoSetCursorPosition 0x0001044c HalVideoPutChar 0x000105e8 HalVideoInitialize .text 0x00010924 0x58 hal/io.o 0x00010944 in 0x00010924 out 0x00010968 iodelay .text 0x0001097c 0x220 rtl/string.o 0x00010a10 RtlIntToAscii 0x0001097c strncpy 0x000109e0 strlen .text 0x00010b9c 0x34 rtl/memory.o 0x00010b9c RtlSetMemory .text 0x00010bd0 0x10b6 hal/intsupport.o 0x00011c38 HalInterruptGenericHandler 0x00010bd8 HalInterruptInitializePICs 0x00010bd0 HalInterruptLoadIDTR 0x00010c38 HalInterruptHandlerPreamble 0x00010c2f HalIoDelay 0x00010c48 HalInterruptHandlerPreambleAfter 0x00010c38 HalInterruptHandlerPreambleBefore *fill* 0x00011c86 0x2 2425393296 .text 0x00011c88 0x2f4 hal/interrupts.o 0x00011cbc HalDisableInterrupts 0x00011e80 HalInitializeInterrupts 0x00011cf8 HalInterruptSendIrqEoi 0x00011cf0 HalDoNothing 0x00011dd8 HalInterruptInitializeGate 0x00011c88 HalEnableInterrupts 0x00011e38 HalInterruptInstallHandler .text 0x00011f7c 0xbc hal/timer.o 0x00011f7c HalTimerInt .text 0x00012038 0x5c hal/keyboard.o 0x00012038 HalKeyboardInt *fill* 0x00012094 0xc 2425393296 .text 0x000120a0 0xe hal/timestamp.o 0x000120a0 HalReadTimestampCounter *fill* 0x000120ae 0x2 2425393296 *(.gnu.warning) .fini *(.fini) 0x000120b0 PROVIDE (__etext, .) 0x000120b0 PROVIDE (_etext, .) 0x000120b0 PROVIDE (etext, .) .rodata 0x000120c0 0x246 *(.rodata .rodata.* .gnu.linkonce.r.*) .rodata 0x000120c0 0x60 init/main.o .rodata 0x00012120 0x156 hal/video.o *fill* 0x00012276 0x2 .rodata 0x00012278 0x18 rtl/string.o .rodata 0x00012290 0x68 hal/interrupts.o .rodata 0x000122f8 0xe hal/keyboard.o .rodata1 *(.rodata1) .eh_frame_hdr *(.eh_frame_hdr) 0x00013306 . = ( ALIGN (0x1000) + (. & 0xfff)) 0x00012308 . = ALIGN (0x4) 0x00012306 PROVIDE (__preinit_array_start, .) .preinit_array *(.preinit_array) 0x00012306 PROVIDE (__preinit_array_end, .) 0x00012306 PROVIDE (__init_array_start, .) .init_array *(.init_array) 0x00012306 PROVIDE (__init_array_end, .) 0x00012306 PROVIDE (__fini_array_start, .) .fini_array *(.fini_array) 0x00012306 PROVIDE (__fini_array_end, .) .data 0x00013308 0xc4 *(.data .data.* .gnu.linkonce.d.*) .data 0x00013308 0xa8 hal/video.o 0x0001330e g_bSoftCursor 0x00013308 g_pVideoMemory 0x0001330c g_bScreenResolution 0x00013310 g_bColorAttribute .data 0x000133b0 0x4 hal/interrupts.o 0x000133b0 g_uInterruptsEnabled .data 0x000133b4 0x10 hal/timer.o .data 0x000133c4 0x8 hal/counters.o 0x000133c4 g_ullTimeStampCounter .data1 *(.data1) .eh_frame *(.eh_frame) .gcc_except_table *(.gcc_except_table) .dynamic *(.dynamic) .ctors *crtbegin.o(.ctors) *(EXCLUDE_FILE(*crtend.o) .ctors) *(SORT(.ctors.*)) *(.ctors) .dtors *crtbegin.o(.dtors) *(EXCLUDE_FILE(*crtend.o) .dtors) *(SORT(.dtors.*)) *(.dtors) .jcr *(.jcr) .got *(.got.plt) *(.got) 0x000133cc _edata = . 0x000133cc PROVIDE (edata, .) 0x000133cc __bss_start = . .bss 0x000133e0 0xc20 *(.dynbss) *(.bss .bss.* .gnu.linkonce.b.*) .bss 0x000133e0 0x4 hal/timer.o *(COMMON) *fill* 0x000133e4 0x1c COMMON 0x00013400 0xc00 hal/interrupts.o 0x0 (size before relaxing) 0x00013400 g_IDT 0x00013c00 g_InterruptHandlerTable 0x00014000 . = ALIGN (0x4) 0x00014000 . = ALIGN (0x4) 0x00014000 _end = . 0x00014000 PROVIDE (end, .) .stab *(.stab) .stabstr *(.stabstr) .stab.excl *(.stab.excl) .stab.exclstr *(.stab.exclstr) .stab.index *(.stab.index) .stab.indexstr *(.stab.indexstr) .comment 0x00000000 0x1c5 *(.comment) .comment 0x00000000 0x1f init/entry.o .comment 0x0000001f 0x28 init/main.o .comment 0x00000047 0x28 hal/video.o .comment 0x0000006f 0x28 hal/io.o .comment 0x00000097 0x28 rtl/string.o .comment 0x000000bf 0x28 rtl/memory.o .comment 0x000000e7 0x1f hal/intsupport.o .comment 0x00000106 0x28 hal/interrupts.o .comment 0x0000012e 0x28 hal/timer.o .comment 0x00000156 0x28 hal/keyboard.o .comment 0x0000017e 0x1f hal/timestamp.o .comment 0x0000019d 0x28 hal/counters.o .debug *(.debug) .line *(.line) .debug_srcinfo *(.debug_srcinfo) .debug_sfnames *(.debug_sfnames) .debug_aranges *(.debug_aranges) .debug_pubnames *(.debug_pubnames) .debug_info *(.debug_info .gnu.linkonce.wi.*) .debug_abbrev *(.debug_abbrev) .debug_line *(.debug_line) .debug_frame *(.debug_frame) .debug_str *(.debug_str) .debug_loc *(.debug_loc) .debug_macinfo *(.debug_macinfo) .debug_weaknames *(.debug_weaknames) .debug_funcnames *(.debug_funcnames) .debug_typenames *(.debug_typenames) .debug_varnames *(.debug_varnames) OUTPUT(kernel.tmp elf32-i386) .note 0x00000000 0xb4 .note 0x00000000 0x14 init/main.o .note 0x00000014 0x14 hal/video.o .note 0x00000028 0x14 hal/io.o .note 0x0000003c 0x14 rtl/string.o .note 0x00000050 0x14 rtl/memory.o .note 0x00000064 0x14 hal/interrupts.o .note 0x00000078 0x14 hal/timer.o .note 0x0000008c 0x14 hal/keyboard.o .note 0x000000a0 0x14 hal/counters.o