Re: [libnetfilter_queue][PATCH 2/2] Declare the define visivility attribute together

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 4/13/17 4:49 PM, Pablo Neira Ayuso wrote:
> On Fri, Apr 14, 2017 at 01:37:19AM +0200, Pablo Neira Ayuso wrote:
>> On Mon, Apr 10, 2017 at 12:58:04PM -0700, Khem Raj wrote:
>>> clang ignores the visibility attribute if its not
>>> defined before the definition. As a result these
>>> symbols become hidden and consumers of this library
>>> fail to link due to these missing symbols
>>
>> Also applied, thanks.
> 
> Argh. Now we have two different ways to do this accross different
> libraries.
> 
> Moreover, in you patch:
> 
> http://patchwork.ozlabs.org/patch/749223/
> 
> +int __EXPORTED nftnl_chain_set_data(struct nftnl_chain *c, uint16_t attr,
>                          const void *data, uint32_t data_len)
> 
> for what it used to be:
> 
> +int nftnl_chain_set_data(struct nftnl_chain *c, uint16_t attr,
>                          const void *data, uint32_t data_len)
> 
> I wonder if there is a way to do this without a follow up patch to fix
> all these indentations.
> 
> If this is just to fix clang, can you probably follow this patch instead?
> 
> http://git.netfilter.org/libmnl/commit/?id=dcdb47373a375087d2dd8cee5e2a9c66fcc147eb
> 

I tried similar patch but then thought of defining __EXPORT macro as
there was another netfliter component using same aproach as defining
__EXPORT.

> It would be good if you send me a patch for libnetfilter_queue that
> applies on top of you previous patch, or I can simply revert.

I will send a patch which uses EXPORT_FUNCTION instead and declare it
before definition like libmnl

I am fine with revert or patch on top, I can do both just let me know

> 
> I just would like to keep this consistent for all libraries while
> fixing this clang issue.
> 

Attachment: signature.asc
Description: OpenPGP digital signature


[Index of Archives]     [Netfitler Users]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux