Newsgroups: comp.os.linux.development
Path: gmd.de!xlink.net!howland.reston.ans.net!europa.eng.gtefsd.com!
uunet!nwnexus!claircom.com!atlantis.claircom.com!rob
From: r...@atlantis.claircom.com (Rob Kenny)
Subject: ELF binaries
Organization: Claircom Communications, L.P.
Date: Mon, 24 Jan 1994 20:38:17 GMT
Message-ID: <CK5Int.7Gs@claircom.com>
X-Newsreader: Tin 1.1 PL5
Keywords: ELF
Sender: use...@claircom.com (Poster Boy)
Nntp-Posting-Host: nimo.claircom.com
Lines: 23

I have looked through all the FAQ's, HOWTO's and source code at sunsite,
and I cannot find out the latest status of ELF binaries running under
Linux.  I've looked at fs/binfmt_elf.c and sure enough, my ELF binary
gets loaded, but /usr/lib/libc.so.1 doesn't work.  The only one
I could find was in /pub/Linux/distributions/SLS.old/a3/elfabi.tgz,
but it only prints:
Interpreter: 10b 3000 2000
lcall 7,xxx:eax = 00000036
lcall 7,xxx:eax = 00000004
lcall 7,xxx:eax = 00000004
lcall 7,xxx:eax = 00000004
..


So, could "someone in the know" please, please, please help me?

TIA

--
        Rob Kenny                    email:  r...@claircom.com
        Claircom Communications      phone:  (206) 389-5947
        700 5th Ave, Suite 2100      fax:    (206) 389-5972
        Seattle,  WA 98104           "Poignant comment here"

Path: gmd.de!xlink.net!howland.reston.ans.net!cs.utexas.edu!uunet!
vtserf.cc.vt.edu!solaris.cc.vt.edu!maddog.async.vt.edu!balister
From: balis...@maddog.async.vt.edu ()
Newsgroups: comp.os.linux.development
Subject: Re: ELF binaries
Date: 26 Jan 1994 04:05:07 GMT
Organization: Mad Dog Enterprises
Lines: 26
Message-ID: <2i4q5j$a9v@solaris.cc.vt.edu>
References: <CK5Int.7Gs@claircom.com>
Reply-To: pbali...@vt.edu
NNTP-Posting-Host: maddog.async.vt.edu
X-Newsreader: TIN [version 1.2 PL2]

Rob Kenny (r...@atlantis.claircom.com) wrote:
: I have looked through all the FAQ's, HOWTO's and source code at sunsite,
: and I cannot find out the latest status of ELF binaries running under
: Linux.  I've looked at fs/binfmt_elf.c and sure enough, my ELF binary
: gets loaded, but /usr/lib/libc.so.1 doesn't work.  The only one
: I could find was in /pub/Linux/distributions/SLS.old/a3/elfabi.tgz,
: but it only prints:
: Interpreter: 10b 3000 2000
: lcall 7,xxx:eax = 00000036
: lcall 7,xxx:eax = 00000004
: lcall 7,xxx:eax = 00000004
: lcall 7,xxx:eax = 00000004
: ..


: So, could "someone in the know" please, please, please help me?

I think I know something ...

I think your ELF binary is really a SVR3 binary not an ELF binary. Try the
ibsc2 emulator. Join the IBCS2 channel of the list or mail me for more
info. (I can't keep the acronym straight)

Philip
--
Linux: The choice of a GNU generation!

Newsgroups: comp.os.linux.development
Path: gmd.de!xlink.net!howland.reston.ans.net!news.cac.psu.edu!
news.pop.psu.edu!ra!tantalus.nrl.navy.mil!eric
From: e...@tantalus.nrl.navy.mil (Eric Youngdale)
Subject: Re: ELF binaries
Message-ID: <CK83MA.ECy@ra.nrl.navy.mil>
Sender: use...@ra.nrl.navy.mil
Organization: Naval Research Laboratory
References: <CK5Int.7Gs@claircom.com> <2i4q5j$a9v@solaris.cc.vt.edu>
Date: Wed, 26 Jan 1994 06:06:09 GMT
Lines: 45

In article <2i4q5j$...@solaris.cc.vt.edu> pbali...@vt.edu writes:
>Rob Kenny (r...@atlantis.claircom.com) wrote:
>: Linux.  I've looked at fs/binfmt_elf.c and sure enough, my ELF binary
>: gets loaded, but /usr/lib/libc.so.1 doesn't work.  The only one
>: I could find was in /pub/Linux/distributions/SLS.old/a3/elfabi.tgz,
>: but it only prints:
>: Interpreter: 10b 3000 2000
>: lcall 7,xxx:eax = 00000036
>: lcall 7,xxx:eax = 00000004
>: lcall 7,xxx:eax = 00000004
>: lcall 7,xxx:eax = 00000004
>
>I think I know something ...
>
>I think your ELF binary is really a SVR3 binary not an ELF binary. Try the
>ibsc2 emulator. Join the IBCS2 channel of the list or mail me for more
>info. (I can't keep the acronym straight)

	Perhaps it is a static linked ELF binary.  I just tried a hello world
program, compiled and static linked on a SVr4 machine and it ran just fine
proided that I have the ibcs2 stuff in my kernel.  It gives messages like the
above without the ibcs2 patches.

	FWIW, the correct name is IBCS2 (Intel Binary Compatibility
Specification 2).  The mail channel is IBSC2, which I can only explain by
saying that my fingers slipped when I created the channel :-).

	Note that SVr4 has some syscalls which are not yet in the ibcs2
emulation module, but this sort of thing would be relatively easy to add.
(Hint: If someone is really interested in getting involved with ibcs2, an extra
set of hands would come in handy.).

	A little bird told me that a COFF libc shared library is well underway,
and I suspect that this could just be compiled under SVr4 to provide a ELF
shared library for SVr4 programs.  The elfabi package that was referred to in
the original post was a bit of a kluge - I was hoping to avoid generating my
own version of a library, so I came up with an interface between the linux libc
and the SVr4 ABI.  While it was an interesting exercise, there were some issues
which could not be cleanly solved in that framework.  A proper ibsc2 library
would be much cleaner I think.

-Eric
-- 
"The woods are lovely, dark and deep.  But I have promises to keep,
And lines to code before I sleep, And lines to code before I sleep."

Newsgroups: comp.os.linux.development
Path: gmd.de!xlink.net!howland.reston.ans.net!usenet.ins.cwru.edu!
wariat.org!kf8nh!bsa
From: b...@kf8nh.wariat.org (Brandon S. Allbery)
Subject: Re: ELF binaries
References: <CK5Int.7Gs@claircom.com> <2i4q5j$a9v@solaris.cc.vt.edu>
Organization: Brandon's Linux box and AmPR node, Mentor, OH
Date: Wed, 26 Jan 1994 22:54:50 GMT
Message-ID: <1994Jan26.225450.4536@kf8nh.wariat.org>
Lines: 28

In article <2i4q5j$...@solaris.cc.vt.edu>, pbali...@vt.edu says:
+---------------
| I think your ELF binary is really a SVR3 binary not an ELF binary. Try the
| ibsc2 emulator. Join the IBCS2 channel of the list or mail me for more
| info. (I can't keep the acronym straight)
+------------->8

Someone typoed when setting up the channel; it's called "IBSC2".  Made it hard
for me to send mail for a while...

ELF and COFF are file formats.  Linux binaries in ELF and COFF format work.  I
think Eric Youngdale is already using Linux executables in ELF format; when
the GNU utilities properly support ELF (shared libraries are a sticking point
right now, I believe) ELF will become a "preferred" object file format,
because it handles many object file constructs automatically that the ancient
BSD a.out format needs help to deal with (C++ global constructors in
particular).

iBCS-2 is an ABI (application binary interface; in essence, it defines the
system calls).  iBCS-2 is not yet working fully; we're working on it.  The
"released" iBCS-2 kernel module does nothing more than print out the "lcall
7,0" instructions that iBCS-2 compliant programs use for system calls.

++Brandon
-- 
Brandon S. Allbery	   kf...@kf8nh.ampr.org		 b...@kf8nh.wariat.org
"MSDOS didn't get as bad as it is overnight -- it took over ten years
of careful development."  ---dmegg...@aix1.uottawa.ca