Marin Ramesa, le Sat 30 Nov 2013 00:22:53 +0100, a écrit : > On 29.11.2013 23:52:00, Ivan Shmakov wrote: > > 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. > > The function syscall() doesn't have a definition. so the extern > declaration is only a reserved address. It might as well be a local > variable. But I don't understand that code: why does the function > fill_ldt_gate() take a random address as an argument?
It's not a random address: ./i386/i386/locore.S:ENTRY(syscall) Samuel