Date: Tue, 9 Jul 2013 21:05:15 -0600 From: Warner Losh <imp@bsdimp.com> To: Peter Wemm <peter@wemm.org> Cc: Adrian Chadd <adrian@freebsd.org>, Andrew Turner <andrew@fubar.geek.nz>, freebsd-arch@freebsd.org Subject: Re: Adding a MACHINE_ARCH note Message-ID: <1983B14D-774E-471E-883F-A25010B43810@bsdimp.com> In-Reply-To: <CAGE5yCpJmRDvnaYtozj4bCqNoQXH=1e96HPJAqwJuRdn4H9BZA@mail.gmail.com> References: <20130709090744.0e497e7e@bender.Home> <32F979BD-FB5C-4111-9586-4C5E7C6DFA71@bsdimp.com> <20130709234837.559e3769@bender.Home> <CAJ-Vmo=iV8BsGriFRgNuP-ZJdQhpmBLhjAkz-nSVRS0HPKSyOQ@mail.gmail.com> <CAGE5yCpJmRDvnaYtozj4bCqNoQXH=1e96HPJAqwJuRdn4H9BZA@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Jul 9, 2013, at 6:54 PM, Peter Wemm wrote: > On Tue, Jul 9, 2013 at 5:40 PM, Adrian Chadd <adrian@freebsd.org> = wrote: >> Someone pointed out there's dirty people running 32-bit binaries = using >> the 64-bit intel/amd instruction set. >>=20 >> Is this also able to represent that? >=20 > That would be "X32", so there's 3 x86 ABI variants: > i386 - 32 bit > amd64 - 32 bit > amd64 - 64 bit >=20 > Incidentally, pkgng has a issues with this. For some reason it lumps > both i386 and amd64 into a single pseudo-arch called "x86" with a 32 > and 64 bit variant. It doesn't leave room for distinguishing the two > incompatible 32 bit architectures. >=20 > "x32" is where the compiler generates code where "long" and "pointer" > are 32 bit, but the instruction set is otherwise amd64 and has all 16 > general purpose registers available. "long long" is a 64 bit > register instead of a pair of 32 bit registers like on i386. I got Babt to agree to move pkgng to using uname -p, which is completely = sufficient on FreeBSD for all known architectures. He's in transition = for this now. Warner >=20 >> -adrian >>=20 >> On 9 July 2013 15:48, Andrew Turner <andrew@fubar.geek.nz> wrote: >>> On Tue, 9 Jul 2013 08:19:46 -0600 >>> Warner Losh <imp@bsdimp.com> wrote: >>>> I thought that the ELF headers gave us all the data we needed to = know >>>> how things were built... >>>=20 >>> It will tell us if it was for e.g. an ARM or MIPS ELF file, but I'm = not >>> sure how we can tell the difference between an arm and an armv6 ELF. >>>=20 >>> With armv6 there are a few changes in the userland/kernel >>> interface, e.g. reading the thread local storage pointer is = different >>> such that an armv6 static binary would not run on an ARMv5 core as = it >>> uses newer instructions. >>>=20 >>> Andrew >>> _______________________________________________ >>> freebsd-arch@freebsd.org mailing list >>> http://lists.freebsd.org/mailman/listinfo/freebsd-arch >>> To unsubscribe, send any mail to = "freebsd-arch-unsubscribe@freebsd.org" >> _______________________________________________ >> freebsd-arch@freebsd.org mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-arch >> To unsubscribe, send any mail to = "freebsd-arch-unsubscribe@freebsd.org" >=20 >=20 >=20 > --=20 > Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com; = KI6FJV > UTF-8: So you can \342\200\231 .. for when a ' just won't do > <brueffer> ZFS must be the bacon of file systems. "everything's better = with ZFS" > _______________________________________________ > freebsd-arch@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-arch > To unsubscribe, send any mail to = "freebsd-arch-unsubscribe@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1983B14D-774E-471E-883F-A25010B43810>