On 8/25/16 9:17 AM, Guido Falsi wrote: > On 08/25/16 18:05, Bryan Drewery wrote: >> On 8/25/16 1:27 AM, Guido Falsi wrote: >>> On 08/24/16 21:49, Ed Schouten wrote: >>>> 2016-08-24 20:30 GMT+02:00 Bryan Drewery <bdrew...@freebsd.org>: >>>>> That would only fix stable/11, stable/10, stable/9, releng/11.0. >>>>> >>>>> It won't fix releng/10.3, releng/10.2, releng/10.1, releng/9.3, etc... >>>>> without an EN. >>>>> >>>>> It won't fix stable/11 - 1, stable/10 - 1, etc. >>>>> >>>>> It will never fix releng/8.4 (unsupported releases) since so@ won't EN >>>>> to those. People do sometimes need to build these older releases still. >>>>> >>>>> It creates a line in the sand where we can never build checkouts older >>>>> than where the fix was at. So I don't think it is the appropriate fix. >>>> >>>> Good point! >>>> >>>> Just for the record: Bryan and I just discussed this matter in more >>>> detail on IRC. We came up with a workaround that should be pretty >>>> good. >>>> >>>> Attached is a patch for <libgen.h> that adds some extra logic, so that >>>> any calls to basename() and dirname() will expand to calls to >>>> __old_basename() and __old_dirname(). Using __sym_compat(), these will >>>> cause the compiler to generate calls to basename@FBSD_1.0 and >>>> dirname@FBSD_1.0. >>>> >>>> According to Bryan, this fixes the problems he was experiencing. >>>> >>> >>> I just tried using the attached patch to build a nanobsd image, host is >>> amd64 head at r304773 with this patch applied, target is i386 >>> releng/11.0 at r304729. >>> >> >> What did you apply the patch to? >> >> You need to apply to the source tree, then do a buildworld/installworld >> for the host, then try nanobsd. > > I did apply it to the source tree of the host machine, and did not apply > it to the nanobsd sources. > > The error message is very different from the previous one and involves > symbol versioning. > >> >>> I've got it failing early during build: >>> >>> --- _bootstrap-tools-usr.bin/xinstall --- >>> xinstall.o: In function `install': >>> /usr/local/nanobsd/rr-trunk/src/usr.bin/xinstall/xinstall.c:(.text+0xf55): >>> undefined reference to `basename@FBSD_1.0'
readelf -a /lib/libc.so.7|grep basename ? >>> cc: error: linker command failed with exit code 1 (use -v to see invocation) >>> *** [xinstall] Error code 1 >>> >>> make[3]: stopped in /usr/local/nanobsd/rr-trunk/src/usr.bin/xinstall >>> 1 error >>> >>> make[3]: stopped in /usr/local/nanobsd/rr-trunk/src/usr.bin/xinstall >>> *** [_bootstrap-tools-usr.bin/xinstall] Error code 2 >>> >>> Did I miss some needed procedure? >>> >>> Thanks! >>> >> >> > > -- Regards, Bryan Drewery
signature.asc
Description: OpenPGP digital signature