On Mon, May 28, 2007 at 11:29:37PM +0100, Edd Barrett wrote: > On 28/05/07, Otto Moerbeek <[EMAIL PROTECTED]> wrote: > >But now the excutable starts.... so you can see with ktrace which > >syscall is not implemented. > > 4362 ktrace RET ktrace 0 > 4362 ktrace CALL execve(0xcfbe1d1b,0xcfbe1bdc,0xcfbe1be4) > 4362 ktrace NAMI "./a.out" > 4362 a.out EMUL "linux" > 4362 a.out RET oldolduname 0 > 4362 a.out CALL uname(0xcfbe4e66) > 4362 a.out RET uname 0 > 4362 a.out CALL brk(0) > 4362 a.out RET brk 135491584/0x8137000 > 4362 a.out CALL brk(0x8137c70) > 4362 a.out RET brk 135494768/0x8137c70 > 4362 a.out CALL #243 (unimplemented linux_sys_set_thread_area)()
run the program as this: $ LD_ASSUME_KERNEL=2.4.1 ./a.out unless the program is a simple 'hello world', expect it to crash sooner or later; the linux compat layer in OpenBSD is outdated, and doesn't implement many syscalls from linux 2.6.x (and if you linked the binary against a recent glibc, it may not work with older kernels).