Skip site navigation (1)Skip section navigation (2)
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> 

next in thread | previous in thread | raw e-mail | index | archive | help
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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020508085624.CE66B38CC>