Date: Thu, 25 Aug 2016 10:27:07 +0200 From: Guido Falsi <madpilot@FreeBSD.org> To: Ed Schouten <ed@nuxi.nl>, Bryan Drewery <bdrewery@freebsd.org> Cc: svn-src-head@freebsd.org, jilles@freebsd.org, svn-src-all@freebsd.org, src-committers <src-committers@freebsd.org>, Ed Schouten <ed@freebsd.org> Subject: Re: svn commit: r303988 - head/lib/libc/gen Message-ID: <2e308383-bfbb-cccd-cfc2-eba63d275f5e@FreeBSD.org> In-Reply-To: <CABh_MKm_YQ3bJD19Cz1vBCGr=YxuzctXV6F1iqMASkSx-PsVMw@mail.gmail.com> References: <201608120703.u7C73whf007189@repo.freebsd.org> <d23b295a-1902-193c-dee6-ba49ebd77280@FreeBSD.org> <9ae1c2eb-02ad-b8fe-6aff-7e17e955607a@FreeBSD.org> <CABh_MKkxD3OTF7VO9Rq_eZyqHPN%2BxVws3q3dsH2R3DfZ343kFw@mail.gmail.com> <2632f5f8-d765-3df7-74d7-da878eb4b7a8@FreeBSD.org> <CABh_MKm_YQ3bJD19Cz1vBCGr=YxuzctXV6F1iqMASkSx-PsVMw@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 08/24/16 21:49, Ed Schouten wrote: > 2016-08-24 20:30 GMT+02:00 Bryan Drewery <bdrewery@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. 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' 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! -- Guido Falsi <madpilot@FreeBSD.org>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2e308383-bfbb-cccd-cfc2-eba63d275f5e>