git: 0dd13c77432a - main - libnv: Build PIC

Kristof Provost kp at FreeBSD.org
Mon Apr 12 11:39:53 UTC 2021


On 10 Apr 2021, at 17:27, Shawn Webb wrote:
> On Sat, Apr 10, 2021 at 09:16:22AM +0000, Kristof Provost wrote:
>> The branch main has been updated by kp:
>>
>> URL: 
>> https://cgit.FreeBSD.org/src/commit/?id=0dd13c77432ade1ae94c9661cbad5537e3e6ab1d
>>
>> commit 0dd13c77432ade1ae94c9661cbad5537e3e6ab1d
>> Author:     Kristof Provost <kp at FreeBSD.org>
>> AuthorDate: 2021-04-02 15:06:02 +0000
>> Commit:     Kristof Provost <kp at FreeBSD.org>
>> CommitDate: 2021-04-10 09:16:01 +0000
>>
>>     libnv: Build PIC
>>
>>     Build libnv as position independent code so we can use it from 
>> shared
>>     libraries.
>>
>>     MFC after:      4 weeks
>>     Sponsored by:   Rubicon Communications, LLC ("Netgate")
>>     Differential Revision:  https://reviews.freebsd.org/D29561
>> ---
>>  lib/libnv/Makefile | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/lib/libnv/Makefile b/lib/libnv/Makefile
>> index b13758931c4e..854cd2c7f3f3 100644
>> --- a/lib/libnv/Makefile
>> +++ b/lib/libnv/Makefile
>> @@ -10,6 +10,7 @@ SHLIB_MAJOR= 0
>>
>>  .PATH: ${SRCTOP}/sys/contrib/libnv ${SRCTOP}/sys/sys
>>  CFLAGS+=-I${.CURDIR}
>> +CFLAGS+=-fPIC
>
> Wouldn't the better fix be renaming LIB to SHLIB like every other PIC
> lib?
>
Ed pointed me at INSTALL_PIC_ARCHIVE. I’m also pondering just making 
libpfctl a .so, which should also fix the issue this addresses.

The complication is that libpfctl is currently a .a, and can be used in 
a shared library itself (for bsnmp), so it has to be - and use - PIC.

Best regards,
Kristof


More information about the dev-commits-src-all mailing list