Subject: Re: An annoying failure I've seen a lot of.
To: None <burgess@cynjut.neonramp.com>
From: Brad Spencer <brad@anduin.eldar.org>
List: current-users
Date: 08/27/1996 09:26:06
   I am tired of trying to find this myself.  If one of you could help, I'd
   sure appreciate it.

   Whenever I try to run an ELF or COFF binary, I get the following error:

   ./linux.x86: 1: Syntax error: "(" unexpected

   This one happens to be from the 'StarOffice' installation.  A 'file' in
   linux.x86 confirms the following:

   inst-files/linux.x86: ELF 32-bit LSB executable, Intel 80386, version 1

   This has happened with nearly every ELF binary I've ever tried to run.
   I have compiled the pertinent pieces into the kernel:

[snip]


Hello...  exec_elf.c thinks that it is a SVR4 Elf binary.  Either
remove COMPAT_SVR4 from your kernel or rearrange the order of the Elf
test.

In /sys/kern/exec_elf the SVR4 probe is done first, simply do the
Linux one first.

int (*elf_probe_funcs[]) __P((struct proc *, struct exec_package *,
			      char *, u_long *)) = {
#ifdef COMPAT_LINUX
	linux_elf_probe,
#endif
#ifdef COMPAT_SVR4
	svr4_elf_probe
#endif
};

I have both Linux Elf binaries and SVR4 binaries from the NCR i386
port of SVR4 [which I presume is simular to Solaris/x86] and both
appear to work fine, now.






Brad Spencer - brad@anduin.eldar.org   http://anduin.eldar.org