[Prex-devel] Relocation problem on the Nintendo DS (ARM9)
Status: Beta
Brought to you by:
kohtani
From: cyril.L <cy...@us...> - 2009-05-17 12:52:07
|
Hi, This is my first message here, and probably not the last :) Thanks for your beautiful website and the clean documentation, this is why I choosed prex. I am trying to port prex on the Nintendo DS. My first problem is that relocation fails at boot time. ---------------- if I set DRIVER_BASE at AUTODETECT, I get the following : ---------------- Prex Boot Loader V1.00 loading: hdr=02002008 module=020030e4 name=prex elf_load kernel base=02100000 phys addr=02100000 p_flags=00000005 p_align=00008000 p_paddr=02100000 load: offset=02100000 size=00005a48 p_flags=00000006 p_align=00008000 p_paddr=02105a48 load: offset=02105a48 size=00000008 module size=00007400 entry=02100074 loading: hdr=02007c08 module=02003114 name=dev.ko elf_load driver base=02107400 phys addr=02107400 sh_addr=00000034 sh_size=00001c38 sh_offset=00000034 sh_flags=00000006 load: offset=02107434 size=00001c38 sh_addr=00001c6c sh_size=00002244 sh_offset=00001c6c sh_flags=00000002 load: offset=0210906c size=00002244 sh_addr=00003eb0 sh_size=00000150 sh_offset=00003eb0 sh_flags=00000003 load: offset=0210b2b0 size=00000150 module load_base=0210bc00 text=02107400 module size=00004800 entry=0210760c R_ARM_PC24: 02107604 -> 1afffffd Undefined symbol for rel[00000001] sym=0200be70 Panic: Load error ---------------- if I set DRIVER_BASE at 0x02200000, I get the following : ---------------- Prex Boot Loader V1.00 loading: hdr=02002008 module=020030e4 name=prex elf_load kernel base=02100000 phys addr=02100000 p_flags=00000005 p_align=00008000 p_paddr=02100000 load: offset=02100000 size=00005a48 p_flags=00000006 p_align=00008000 p_paddr=02105a48 load: offset=02105a48 size=00000008 module size=00007400 entry=02100074 loading: hdr=02007c08 module=02003114 name=dev.ko elf_load driver base=02200000 phys addr=02200000 p_flags=00000005 p_align=00008000 p_paddr=02200000 load: offset=02200000 size=00003ef8 p_flags=00000006 p_align=00008000 p_paddr=02203ef8 load: offset=02203ef8 size=0000013c module size=00004800 entry=0220024c loading: hdr=0200bdec module=02003144 name=boot elf_load task base=02204800 phys addr=02204800 sh_addr=00000034 sh_size=000008bc sh_offset=00000034 sh_flags=00000006 load: offset=02204834 size=000008bc sh_addr=000008f0 sh_size=000001c3 sh_offset=000008f0 sh_flags=00000002 load: offset=022050f0 size=000001c3 sh_addr=00000ab4 sh_size=00000000 sh_offset=00000ab3 sh_flags=00000003 load: offset=022052b4 size=00000000 module load_base=02205800 text=02204800 module size=00001000 entry=02204834 R_ARM_PC24: 02204848 -> ebffffff Panic: relocation fail ---------- I doesn't use arm-elf toolchain, because there is one dedicated to the Nintendo DS, provided by devkitPro : Target: arm-eabi Configured with: ../../gcc-4.3.2/configure --enable-languages=c,c++ --with-cpu=arm7tdmi --enable-interwork --enable-multilib --with-gcc --with-gnu-ld --with-gnu-as --disable-shared --disable-threads --disable-win32-registry --disable-nls --disable-debug --disable-libmudflap --disable-libssp --disable-libgomp --disable-libstdcxx-pch --target=arm-eabi --with-newlib --prefix=c:/devkitPro/devkitARM --with-bugurl=http://wiki.devkitpro.org/index.php/Bug_Reports --with-pkgversion='devkitARM release 24' Thread model: single gcc version 4.3.2 (devkitARM release 24) Thanks, cyril |