I'm running a.out SCO Xenix binaries under kernel 2.2.16
below is a binary that has had fix2000 run on it and one that has not.
So, do you have "support for a.out binaries" and "support for misc binaries"
enabled when you last compiled your kernel?
root@localhost:/root # file /usr/bbx/bbx3r3.0.y2k
/usr/bbx/bbx3r3.0.y2k: Microsoft a.out separate pure segmented word-swapped
V2.3 V3.0 386 small model executable
root@localhost:/root # file /usr/bbx/bbxlst
/usr/bbx/bbxlst: Microsoft a.out separate pure segmented word-swapped V2.3
V3.0 386 small model executable
BTW: if anyone is maintaining a list of binfmt's for use in
/etc/conf.modules, here are two:
# Microsoft a.out separate pure segmented word-swapped V2.3 V3.0 386 small
model
alias binfmt-002c iBCS # BBx / SCO Xenix386 2.3.4
# setuid 80386 COFF
alias binfmt-0004 iBCS # filePro / SCO Open Server 5
--
Brian K. White http://www.squonk.net/users/linut
+++++[>+++[>+++++>+++++++<<-]<-]>>+.>.+++++.+++++++.-.[>+<---]>++.
filePro BBx Linux SCO Prosper/FACTS AutoCAD #callahans Satriani
iBCS works OK for suse 6.3 distribution
with kernel 2.2.14 compiled by gcc egcs-2.91.66 19990314
iBCS fails with segmentation fault for suse 6.4 distribution
with same kernel 2.2.14 compiled by gcc 2.95.2 19991024
(trace gives absolutely no information, so I guess it happens in the
switching over to the emulation)
suggestions ? should I try a newer compiler/library ?
is there a newer version of iBCS which fixes the problem ?
If it is'nt the compiler, the kernel, the module, what is between these
that
could make it fail ? modprobe ? a library ?
> I tried the following :
> - replaced gcc by older version -> does'nt work
> - copied the kernel image / map file / modules directory (including
> iBCS) from
> working system to bad system + rdev + lilo + rebooted ok -> iBCS does'nt
> work
>
> If it is'nt the compiler, the kernel, the module, what is between these
> that
> could make it fail ? modprobe ? a library ?
I was wrong, here is the reason of this problem :
The emulator is not able to load the binary
Search in the ibcs source tree iBCSemul/binfmt_aout.c and look for
SIGSEGV
A work around is to put the binaries on a filesystem built with a block
size
of 1024 bytes, it even works if the binary is on an msdos floppy mounted
-o exec.
wow, thanks for reporting this back. that is *quite* a handy peice of
reference to tuck away. thanks.