svn commit: r303988 - head/lib/libc/gen

Guido Falsi madpilot at FreeBSD.org
Thu Aug 25 16:18:26 UTC 2016


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 <bdrewery at 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 at FBSD_1.0 and
>>> dirname at 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 at 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 at FreeBSD.org>

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 502 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/svn-src-all/attachments/20160825/0f7b4d20/attachment.sig>


More information about the svn-src-all mailing list