Linking Error
Posted: Wed Aug 06, 2008 8:38 am
When I link my OS kernel together I get the following error. I don't know why as it compiles properly and other people have used similar code in theirs. It has something to do with the way of assigning things.
My linking command is:
G:\Kernel>LD2 -T linker.ld -o ../Release/kernel.bin obj/krnload.o obj/kernel.o obj/gdt.o obj/idt.o obj/console.o obj/ports.o obj/isr.o obj/irq.o ../rtl/units/i386-fpos/system.o
The part that is causing the error is the following code:
My linking command is:
G:\Kernel>LD2 -T linker.ld -o ../Release/kernel.bin obj/krnload.o obj/kernel.o obj/gdt.o obj/idt.o obj/console.o obj/ports.o obj/isr.o obj/irq.o ../rtl/units/i386-fpos/system.o
Code: Select all
obj/isr.o(.text+0xf): In function `ISR_INITISR':
: undefined reference to `isr0'
obj/isr.o(.text+0x26): In function `ISR_INITISR':
: undefined reference to `isr1'
obj/isr.o(.text+0x3d): In function `ISR_INITISR':
: undefined reference to `isr2'
obj/isr.o(.text+0x54): In function `ISR_INITISR':
: undefined reference to `isr3'
obj/isr.o(.text+0x6b): In function `ISR_INITISR':
: undefined reference to `isr4'
obj/isr.o(.text+0x82): In function `ISR_INITISR':
: undefined reference to `isr5'
obj/isr.o(.text+0x99): In function `ISR_INITISR':
: undefined reference to `isr6'
obj/isr.o(.text+0xb0): In function `ISR_INITISR':
: undefined reference to `isr7'
obj/isr.o(.text+0xc7): In function `ISR_INITISR':
: undefined reference to `isr8'
obj/isr.o(.text+0xde): In function `ISR_INITISR':
: undefined reference to `isr9'
obj/isr.o(.text+0xf5): In function `ISR_INITISR':
: undefined reference to `isr10'
obj/isr.o(.text+0x10c): In function `ISR_INITISR':
: undefined reference to `isr11'
obj/isr.o(.text+0x123): In function `ISR_INITISR':
: undefined reference to `isr12'
obj/isr.o(.text+0x13a): In function `ISR_INITISR':
: undefined reference to `isr13'
obj/isr.o(.text+0x151): In function `ISR_INITISR':
: undefined reference to `isr14'
obj/isr.o(.text+0x168): In function `ISR_INITISR':
: undefined reference to `isr15'
obj/isr.o(.text+0x17f): In function `ISR_INITISR':
: undefined reference to `isr16'
obj/isr.o(.text+0x196): In function `ISR_INITISR':
: undefined reference to `isr17'
obj/isr.o(.text+0x1ad): In function `ISR_INITISR':
: undefined reference to `isr18'
obj/isr.o(.text+0x1c4): In function `ISR_INITISR':
: undefined reference to `isr19'
obj/isr.o(.text+0x1db): In function `ISR_INITISR':
: undefined reference to `isr20'
obj/isr.o(.text+0x1f2): In function `ISR_INITISR':
: undefined reference to `isr21'
obj/isr.o(.text+0x209): In function `ISR_INITISR':
Code: Select all
procedure isr0; external name 'isr0';
procedure isr1; external name 'isr1';
procedure isr2; external name 'isr2';
procedure isr3; external name 'isr3';
procedure isr4; external name 'isr4';
procedure isr5; external name 'isr5';
procedure isr6; external name 'isr6';
procedure isr7; external name 'isr7';
procedure isr8; external name 'isr8';
procedure isr9; external name 'isr9';
procedure isr10; external name 'isr10';
procedure isr11; external name 'isr11';
procedure isr12; external name 'isr12';
procedure isr13; external name 'isr13';
procedure isr14; external name 'isr14';
procedure isr15; external name 'isr15';
procedure isr16; external name 'isr16';
procedure isr17; external name 'isr17';
procedure isr18; external name 'isr18';
procedure isr19; external name 'isr19';
procedure isr20; external name 'isr20';
procedure isr21; external name 'isr21';
procedure isr22; external name 'isr22';
procedure isr23; external name 'isr23';
procedure isr24; external name 'isr24';
procedure isr25; external name 'isr25';
procedure isr26; external name 'isr26';
procedure isr27; external name 'isr27';
procedure isr28; external name 'isr28';
procedure isr29; external name 'isr29';
procedure isr30; external name 'isr30';
procedure isr31; external name 'isr31';