Date: Mon, 11 Jan 2016 21:27:14 -0700 From: Warner Losh <imp@bsdimp.com> To: Nathan Whitehorn <nwhitehorn@freebsd.org> Cc: "freebsd-arch@freebsd.org" <arch@FreeBSD.org> Subject: Real multilib Message-ID: <AF46E4D8-EA45-4597-926A-E333A8473A15@bsdimp.com> In-Reply-To: <56947DAD.80106@freebsd.org> References: <201601030432.u034W6en043633@repo.freebsd.org> <D06026D1-5F5E-4D8A-8882-063BBFBF2903@FreeBSD.org> <20160111221614.GC79262@spindle.one-eyed-alien.net> <F67B40B5-6154-4098-93ED-EFEE6110FFF0@bsdimp.com> <56947DAD.80106@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--Apple-Mail=_DFA0DD6B-8610-438A-8546-D1CE60B1F96B Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 [[ Moved to arch@ ]] > On Jan 11, 2016, at 9:14 PM, Nathan Whitehorn <nwhitehorn@freebsd.org> = wrote: >=20 >=20 >=20 > On 01/11/16 19:11, Warner Losh wrote: >>> On Jan 11, 2016, at 3:16 PM, Brooks Davis <brooks@freebsd.org> = wrote: >>>=20 >>> On Sun, Jan 03, 2016 at 06:41:33PM +0100, Dimitry Andric wrote: >>>> On 03 Jan 2016, at 05:32, Warner Losh <imp@FreeBSD.org> wrote: >>>>> Author: imp >>>>> Date: Sun Jan 3 04:32:05 2016 >>>>> New Revision: 293068 >>>>> URL: https://svnweb.freebsd.org/changeset/base/293068 >>>>>=20 >>>>> Log: >>>>> Add libsoft to the tree, just like lib32. >>>> Hmm, are there going to be more of these "multilib" things? :) >>> We'll want to do something about supporting hard float on MIPS. = Over >>> there it may be more of a TARGET_ARCH thing, but libsoft might be = useful. >> It isn=E2=80=99t quite a TARGET_ARCH on mips either. I=E2=80=99d love = to work with you >> to use this stuff MIPS turns out to be a harder nut to crack with = this stuff >> because it marks the different types of binaries differently and it = looks harder >> to parse. >>=20 >> For amv6 it is more of a transition thing, but I wanted to do it = something >> approaching =E2=80=9Ccorrect=E2=80=9D so that we could leverage it = for MIPS. >>=20 >>> We've also got a libcheri in CheriBSD and will eventually need to do = a >>> lib64 as we explore the switch from CHERI-when-requested to >>> CHERI-by-default. >> We should definitely chat about this. There=E2=80=99s some easy ways = to mark the CHERI >> binaries that are easier than others which would be quite helpful. >>=20 >> So we should chat about how this would be helpful on MIPS, and not = just >> CHERI-mips... >>=20 >> Warner >>=20 >=20 > For things that are a MACHINE_ARCH, do we want a convention of = lib/${MACHINE_ARCH}? That seems like it would make it easily scalable = and easier to predict than a lot of lib*. For things that aren't quite a = MACHINE_ARCH, it's more complicated of course. I=E2=80=99m not sure. If we were designing things from scratch, this = might make some sense. Though honestly, I=E2=80=99d make it be multilib/${MACHINE_ARCH} so that lib = could be a symlink there so that most config scripts that simply know where things live can find = them more easily. Since we have a big legacy issue to cope with, I=E2=80=99m having trouble = seeing a clear path here. There might be one, but I haven=E2=80=99t connected all the dots in my head=E2=80= =A6 Plus, MACHINE_ARCH likely isn=E2=80=99t expressive enough. The armv6 = kernels, for example, can run either soft-float ABI or hard-float ABI programs equally well (which = is why my hack works). It is my belief that, when booted on a hardware capable processor, a = mips kernel could do the same thing. There=E2=80=99s no floats passed into the kernel for system = calls, so the floating point part of the ABI in use is simply irrelevant. I wonder if someone has a good write-up on how this stuff is normally = done on, say, Linux. My google searches have found lots of entries about how to enable it, but = not what the underlying scheme really is or good docs on the architecture. This is one of the = things that stalled what I did for so long. But after seeing Brooks' talk on libcheri, I thought = I=E2=80=99d move forward with what I have. Warner --Apple-Mail=_DFA0DD6B-8610-438A-8546-D1CE60B1F96B Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJWlICiAAoJEGwc0Sh9sBEAXnwP/0Cnzc6m1X0TchlMDNN9fCv9 mk6Rs0z9IZdME76MLb/snqVDSLgPAOBPfblAPC180wJlj4bBvhtPWHv/2NEt+L5d PrhdIJP+MbJGqdJvh6HN34gwfUO9VAppXA48OOykvPVUAqRz+nBhhPhpfqWrbQhR fhQvcIY9+/z10urK7cSFODKuRxzfrSxKau+RYruT3lALkI+xGCd7Pc8wFd0g5Gb+ SS6KdKOjA3f8e5WpywJGYyNLEzofBYqhu8l6hUaTw+s1heV3aroq5TpZ213cKV2F iBmVYBnT72zmhovnoZVJCn+dJlNAahJ4p35yDuCKoxg37Jzxvb4bAbJOA+2fEvrv grkqwNZPvvNmiWdaNjiUP5TDg9WZ4WETDzvNrHQLq0e+w5esrJBC0gHUp3/IlnMC phwVH+xcVbZHRlYkzmMy+kv3ue3oRBP1za7pyDYHvpJf7IkNU1o0XkPYXOhbS8Fl Xk7H02TgGKXKr3SYSq0sxtCvtJLkvexAeO2Ocj7cBBZCV2j211R2gnCr8+IraE5v mqJzp7ZopqLaUnVjXNJlv5NN3c4cla00vXtO4ZHZdP5Tj2zCNtJmt9pudj9WAlxn adfKJJ7p24rMBQ26njB6O/+wBL6G87rjj/lJcRNU19pn5EEp/ybsK0aPTcqidF3f hUhHMDUxIp45sdt11Sff =Nm+j -----END PGP SIGNATURE----- --Apple-Mail=_DFA0DD6B-8610-438A-8546-D1CE60B1F96B--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AF46E4D8-EA45-4597-926A-E333A8473A15>