>>>>> Marin Ramesa <m...@hi.t-com.hr> writes: > * i386/i386/ldt.c (syscall): Remove forward declaration. > (syscall): New variable.
[…] > #include "ldt.h" > -extern int syscall(); > - > #ifdef MACH_PV_DESCRIPTORS > /* It is actually defined in xen_boothdr.S */ > extern > @@ -60,6 +58,7 @@ ldt_init() > #endif /* MACH_PV_DESCRIPTORS */ > /* Initialize the LDT descriptors. */ > + int syscall; > fill_ldt_gate(USER_SCALL, > (vm_offset_t)&syscall, KERNEL_CS, > ACC_PL_U|ACC_CALL_GATE, 0); Correct me if I’m wrong, but doesn’t it replace a pointer to an global (external) syscall () function with a pointer to a local variable? I don’t seem to understand how the logic is preserved in this change. -- FSF associate member #7257