Subject: While we're talking about binary emulation (FreeBSD)
To: None <port-i386@netbsd.org>
From: David Maxwell <david@fundy.ca>
List: port-i386
Date: 09/30/1998 00:14:33
This is the first problem I've had with binary emulation. I've tried
both 2.2.7 and 3.0BETA FreeBSD shared libs.

I'm trying to run the test version of the Typhoon NNTP/NNRP server.

Here's the relevant file(1) info:

typhoond: FreeBSD/i386 demand paged dynamically linked executable
validate: FreeBSD/i386 demand paged dynamically linked executable

Validate is a config file checker. Typhoond is the innd replacement.

Here's the actually output from validate:

> ./validate 
LOG_ERR Couldn't ::madvise() ../typhoon.conf (m)
Operation not supported
LOG_ERR Error during processing of ../typhoon.conf (m)
Operation not supported
LOG_ERR Couldn't open configuration file "../typhoon.conf" (m)
Operation not supported
Loading of System Configuration File ../typhoon.conf FAILED!

Any thoughts would be appreciated.
Here's a portion of the ktrace...

 11311 ktrace   RET   ktrace 0
 11311 ktrace   CALL  execve(0xf7bfdd43,0xf7bfdcf4,0xf7bfdcfc)
 11311 ktrace   NAMI  "./validate"
 11311 validate EMUL  "freebsd"
 11311 validate RET   execve 0
 11311 validate CALL  open(0x10a0,0,0)
 11311 validate NAMI  "/emul/freebsd/usr/libexec/ld.so"
 11311 validate NAMI  "/emul/freebsd"
 11311 validate NAMI  "/emul/freebsd/usr/libexec/ld.so"
 11311 validate RET   open 3
 11311 validate CALL  read(0x3,0xf7bfdca0,0x20)
 11311 validate GIO   fd 3 read 32 bytes
       "\M-L\0\M^F\M-@\0\^P\^A\0\0 \0\0\f\0\0\0\0\0\0\0 \0\0\0\0\0\0\0\0\0\0\0"
 11311 validate RET   read 32/0x20
 11311 validate CALL  mmap(0,0x11000,0x5,0x2,0x3,0,0,0)
 11311 validate RET   mmap 268734464/0x10049000
... (The first madvise calls)
 11311 validate CALL  madvise(0x54000,0x1000,0x5)
 11311 validate RET   madvise -1 errno 45 Operation not supported
 11311 validate CALL  madvise(0x54000,0x1000,0x5)
 11311 validate RET   madvise -1 errno 45 Operation not supported
 11311 validate CALL  madvise(0x54000,0x1000,0x5)
 11311 validate RET   madvise -1 errno 45 Operation not supported
 11311 validate CALL  madvise(0x54000,0x1000,0x5)
 11311 validate RET   madvise -1 errno 45 Operation not supported
 11311 validate CALL  __sysctl(0xf7bfdc6c,0x2,0x100e9c90,0xf7bfdc74,0,0)
 11311 validate RET   __sysctl 0
 11311 validate CALL  gettimeofday(0xf7bfdc68,0)
 11311 validate RET   gettimeofday 0
 11311 validate CALL  chdir(0x54080)
 11311 validate NAMI  "."
 11311 validate RET   chdir 0
... (The last madvise call before the output errors)
 11311 validate CALL  madvise(0x1005d000,0x958,0x2)
 11311 validate RET   madvise -1 errno 45 Operation not supported
 11311 validate CALL  fcntl(0x2,0x4,0x6)
 11311 validate RET   fcntl 0
 11311 validate CALL  write(0x2,0xf7bfd3fc,0x8)
 11311 validate GIO   fd 2 wrote 8 bytes
       "LOG_ERR "
 11311 validate RET   write 8
 11311 validate CALL  write(0x2,0xf7bfd410,0x28)
 11311 validate GIO   fd 2 wrote 40 bytes
       "Couldn't ::madvise() ../typhoon.conf (m)"
 11311 validate RET   write 40/0x28
 11311 validate CALL  write(0x2,0xf7bfd3fc,0x1)
 11311 validate GIO   fd 2 wrote 1 bytes
       "
       "
 11311 validate RET   write 1
 11311 validate CALL  writev(0x2,0xf7bfda44,0x2)
 11311 validate GIO   fd 2 wrote 24 bytes
       "Operation not supported
       "

-- 
David Maxwell, david@vex.net|david@maxwell.net --> Mastery of UNIX, like
mastery of language, offers real freedom. The price of freedom is always dear,
but there's no substitute. Personally, I'd rather pay for my freedom than live
in a bitmapped, pop-up-happy dungeon like NT. - Thomas Scoville