Date: Fri, 8 Sep 2017 09:18:33 -0600 From: Warner Losh <imp@bsdimp.com> To: "freebsd-arm@freebsd.org" <freebsd-arm@freebsd.org> Subject: Heads up Message-ID: <CANCZdfqUkowk8BwSn=GyadRn0a7evjXNQ=P6DUQ-gty258p0yA@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
Greetings, During the transition from soft to hard float, I made the default behavior of the system as follows: 1. If the binary is hard float use the default ld.so paths 2. if there was no /usr/libsoft directory, use the default ld.so paths 3. otherwise use the soft ld.so paths. which was fine as a transition in a -current environment which has rough edges, but is now causing problems for people trying to execute FreeBSD 10 binaries on FreeBSD 11. I'd like to propose that we eliminate step 2 above so we detect this cross-threading by default. Furthermore, the above algorithm is used, even on armv4/v5 binaries where we can't possibly have hard floating point. I'd further propose that we eliminate the above algorithm altogether for those systems, or more generally when we're compiling for soft floating point. Please see https://reviews.freebsd.org/D12274 to comment on the code. I believe this won't change anybody's FreeBSD experience, unless they have an ld.so compiled for hard float, but every single other binary on the system is somehow soft float. The only time I'm aware of when this happens is when one is jumping the chasm from soft to hard float in an installworld situation, which we can cope with LD_SOFT_ env settings for those that want to jump from 10->current (which I posit may not exist). Comments? Warner
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfqUkowk8BwSn=GyadRn0a7evjXNQ=P6DUQ-gty258p0yA>