Old 32-bit binary stopped working after upgrade to 10.1/amd64
Konstantin Belousov
kostikbel at gmail.com
Mon Dec 22 17:29:23 UTC 2014
On Mon, Dec 22, 2014 at 12:13:02PM -0500, MT wrote:
> Hello!
>
> One of the users here is still actively using Applixware office suit.
> The applications worked alright under FreBSD-8.x/i386:
>
> % file /opt/applix/applix
> /opt/applix/applix: ELF 32-bit LSB executable, Intel 80386, version
> 1, dynamically linked (uses shared libs), not stripped
>
> Unfortunately, applix would not start under FreeBSD-10.1/amd64: Bad
> system call. The tail of kdump looks thus:
>
> ......
> 14383 applix CALL sigprocmask(SIG_BLOCK,0x28071e20,0xffffc788)
> 14383 applix RET sigprocmask 0
> 14383 applix CALL sigprocmask(SIG_SETMASK,0x28071e34,0)
> 14383 applix RET sigprocmask 0
> 14383 applix CALL sigprocmask(SIG_BLOCK,0x28071e20,0xffffc788)
> 14383 applix RET sigprocmask 0
> 14383 applix CALL sigprocmask(SIG_SETMASK,0x28071e34,0)
> 14383 applix RET sigprocmask 0
> 14383 applix CALL compat.sigprocmask
> 14383 applix RET compat.sigprocmask -1 errno 78 Function not
> implemented
> 14383 applix PSIG SIGSYS SIG_DFL code=SI_KERNEL
>
> I copied the 32-bit libraries from the old install -- they are found,
> according to ldd.
>
> % ldd /opt/applix/applix
> /opt/bin/applix:
> libX11.so.6 => /opt/lib32/libX11.so.6 (0x2807b000)
> libm.so.2 => /usr/lib32/libm.so.4 (0x281af000)
> libc.so.3 => /usr/lib32/libc.so.3 (0x281c5000)
> libxcb.so.2 => /opt/lib32/libxcb.so.2 (0x28247000)
> libXau.so.6 => /opt/lib/../lib32/libXau.so.6 (0x2825e000)
> libXdmcp.so.6 => /opt/lib/../lib32/libXdmcp.so.6 (0x28261000)
> libpthread-stubs.so.0 =>
> /opt/lib/../lib32/libpthread-stubs.so.0 (0x28267000)
> librpcsvc.so.5 => /usr/lib32/librpcsvc.so.5 (0x28269000)
> libc.so.7 => /usr/lib32/libc.so.7 (0x28271000)
>
> Yes, the usage of libm.so.4 instead of 2 looks funny, but that's how it
> always was -- the old (8.x) install does not have libm.so.2 at all.
> Besides, it dies at the very start -- would not even process the
> `-version' or `-help' options....
>
> The new kernel includes GENERIC -- without disabling any of the
> COMPAT-options.
>
> What else am I missing? Thank you! Yours,
I think you need COMPAT_43 option. It is for compatibility with
pre-FreeBSD 4 syscalls, not for FreeBSD 4.3.
More information about the freebsd-stable
mailing list