Date: Wed, 08 May 2002 01:56:24 -0700 From: Peter Wemm <peter@wemm.org> To: Christoph Hellwig <hch@infradead.org> Cc: Nathan Hawkins <utsl@quic.net>, arch@FreeBSD.ORG Subject: Re: syscall changes to deal with 32->64 changes. Message-ID: <20020508085624.CE66B38CC@overcee.wemm.org> In-Reply-To: <20020508091704.A12628@infradead.org>
index | next in thread | previous in thread | raw e-mail
Christoph Hellwig wrote:
> On Tue, May 07, 2002 at 11:28:37PM -0700, Peter Wemm wrote:
> > syscall. For linux, ELF executables started up in "SVR4 mode" and the
> > personality syscall changed it to "linux".
>
> That's wrong. On Linux ELF binaries start as normal linux processes.
> Depending on whether binary emulation is enabled and certain hints are
> found (SCO elfmark branding, different interpreter) they are forced to
> be foreign personalities. Also if binaries issues syscalls on foreign
> syscalls vectors (e.g. lcall27 for Solaris/ix86 or lcall7 for the
> i386 SVR3/SVR4 derivates.).
Bah, you are correct. The last I looked at the code was around 1.2 era,
and looking again:
if (strcmp(elf_interpreter,"/usr/lib/libc.so.1") == 0 ||
strcmp(elf_interpreter,"/usr/lib/ld.so.1") == 0)
ibcs2_interpreter = 1;
..
current->personality = (ibcs2_interpreter ? PER_SVR4 : PER_LINUX);
Cheers,
-Peter
--
Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com
"All of this is for nothing if we don't go to the stars" - JMS/B5
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020508085624.CE66B38CC>
