On 24 Mar 2003 20:58:50 +0100 Rudolf Weber (RW) wrote:
RW> Thank you very much, RW> anbei der readelf-output 4udo und das erzeugte entry.o für die echten RW> Programmierer ...
RW> Relocation section '.rel.text' at offset 0x10d0 contains 13 entries: RW> Offset Info Type Sym.Value Sym. Name RW> 0000011b 00004101 R_386_32 00000000 base_trap_handler RW> 00000141 00004202 R_386_PC32 00000000 trap_dump_panic RW> 00000150 00004301 R_386_32 00000000 PAGE_FAULT_ADDR RW> 00000179 00004402 R_386_PC32 00000000 thread_page_fault RW> 000001cc 00004502 R_386_PC32 00000000 thread_handle_fputrap RW> 000001e7 00004702 R_386_PC32 00000000 thread_timer_interrupt RW> 000001f7 00004902 R_386_PC32 00000000 thread_timer_interrupt RW> 00000207 00004b02 R_386_PC32 00000000 thread_timer_interrupt RW> 00000211 00004c02 R_386_PC32 00000000 irq_interrupt RW> 00000324 00004d02 R_386_PC32 00000000 dispatch_syscall RW> 00000356 00004f02 R_386_PC32 00000000 call_ipc_short_cut RW> 00000360 0ce6f401 R_386_32 bad symbol index: 000ce6f4 RW> 00000374 00004d02 R_386_PC32 00000000 dispatch_syscall
Hallo,
Siehe vorletzte gequotete Zeile. Der generierte Code ist kaputt. Ich habe das Problem hier soeben mit gcc 2.95 und gcc 3.2 reproduziert.
Bis ich genaueres weiß bzw. einen Patch habe, bitte "Assembler IPC Shortcut" in "make menuconfig" anschalten - dann funktioniert's.
-Udo.
On Mon, 24 Mar 2003 21:06:34 +0100 Udo A. Steinberg (UAS) wrote:
UAS> Bis ich genaueres weiß bzw. einen Patch habe, bitte "Assembler IPC Shortcut" UAS> in "make menuconfig" anschalten - dann funktioniert's.
Bis die Bug-Fixes heute Nacht im Remote-CVS propagiert sind, sollten es folgende zwei Patches auch tun.
MfG -Udo.
diff -u -r1.17 entry.S --- entry.S 21 Mar 2003 15:34:51 -0000 1.17 +++ entry.S 24 Mar 2003 20:29:58 -0000 @@ -50,6 +50,7 @@ #include "config_gdt.h" #include "globalconfig.h" #include "low_level.h" +#include "shortcut.h" #include "tcboffset.h"
/* We make the trap handler an interrupt gate, because for debugging
diff -u -r1.9 kmem-ux.cpp --- kmem-ux.cpp 24 Mar 2003 14:46:09 -0000 1.9 +++ kmem-ux.cpp 24 Mar 2003 20:37:06 -0000 @@ -173,11 +173,16 @@ bool Kmem::pagein_tcb_request (Address eip) { +#ifdef CONFIG_ASSEMBLER_IPC_SHORTCUT extern Mword pagein_tcb_request1; +#endif extern Mword pagein_tcb_request3;
- return ( (eip == (Address)&pagein_tcb_request1) - || (eip == (Address)&pagein_tcb_request3)); + return ( +#ifdef CONFIG_ASSEMBLER_IPC_SHORTCUT + eip == (Address) &pagein_tcb_request1 || +#endif + eip == (Address) &pagein_tcb_request3); }
l4-hackers@os.inf.tu-dresden.de