Emulating i486 on i386 (was: TSCs are a no-no on i386)
A message that is not in the archive (sent off-list or not yet received): [email protected]
A message that is not in the archive (sent off-list or not yet received): [email protected]
A message that is not in the archive (sent off-list or not yet received): [email protected]
A message that is not in the archive (sent off-list or not yet received): [email protected]
A message that is not in the archive (sent off-list or not yet received): [email protected]
A message that is not in the archive (sent off-list or not yet received): [email protected]
A message that is not in the archive (sent off-list or not yet received): [email protected]
A message that is not in the archive (sent off-list or not yet received): [email protected]
A message that is not in the archive (sent off-list or not yet received): [email protected]
A message that is not in the archive (sent off-list or not yet received): [email protected]
A message that is not in the archive (sent off-list or not yet received): [email protected]
Quoted 13 lines · Jan-Benedict Glaw
On Thu, 2003-07-31 16:12:26 +0100, Jamie Lokier <[email protected]> wrote in message <[email protected]>:
Quoted 11 lines
Quoted 6 lines · Alan Cox
Quoted 2 lines · Jan-Benedict Glaw
See? It's loaded at the "ls" call, but it seems to be not loaded for apt-get.
Remember you need to overload signal setting functions like sigaction. My guess is apt decided to disable your signal and you didnt stop it
An application might install its own SIGILL handler to emulate or trap _other_ instructions. To do it properly, you have to chain the handlers.
Quoted 6 lines
Quoted 2 lines
Not sure how to do this, when you get to the stage of two
LD_PRELOADlibraries each wanting to overload sigaction.That's not (yet) my problem and I think it's not impossible to hook them. _But_ before, I need to get called at all _before_ libstdc++5's
_init(). For now, I haven't managed to do that...
One way to get loaded before anything else is to do ELF binary loading by hand in userspace. The kernel exec loads your program, which sets up trap handlers etc., then loads the actual target binary by hand. I did this for an application sandbox. Writing the loader took less than half a day since I was able to use a lot of kernel code from binfmt_elf.c directly, just translating internal kernel calls into open, mmap, etc. system calls.
Signature · 4 lines
"Note that nobody reads every post in linux-kernel. In fact, nobody who expects to have time left over to actually do any real kernel work will read even half. Except Alan Cox, but he's actually not human, but about a thousand gnomes working in under-ground caves in Swansea." --Linus