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>