[Bug 1223] New: libmnl does not compile with #undef HAVE_VISIBILITY_HIDDEN

bugzilla-daemon at netfilter.org bugzilla-daemon at netfilter.org
Mon Feb 5 23:14:33 CET 2018


https://bugzilla.netfilter.org/show_bug.cgi?id=1223

            Bug ID: 1223
           Summary: libmnl does not compile with #undef
                    HAVE_VISIBILITY_HIDDEN
           Product: libmnl
           Version: unspecified
          Hardware: All
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P5
         Component: libmnl
          Assignee: pablo at netfilter.org
          Reporter: g.telkamp at domologic.de

I've tried to compile libmnl without the HAVE_VISIBILITY_HIDDEN option, so in
my case config.h defines
#undef HAVE_VISIBILITY_HIDDEN

internal.h uses this option and declares the EXPORT_SYMBOL macro:
#include "config.h"
#ifdef HAVE_VISIBILITY_HIDDEN
#    define __visible    __attribute__((visibility("default")))
#    define EXPORT_SYMBOL(x)    typeof(x) (x) __visible
#else
#    define EXPORT_SYMBOL
#endif

This causes compilation problems when EXPORT_SYMBOL is used, e.g. in socket.c:
EXPORT_SYMBOL(mnl_socket_get_fd);
int mnl_socket_get_fd(const struct mnl_socket *nl)
{
    return nl->fd;
}

So I think EXPORT_SYMBOL should be defined as
...
#else
#       define EXPORT_SYMBOL(x)
#endif
?

-- 
You are receiving this mail because:
You are watching all bug changes.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.netfilter.org/pipermail/netfilter-buglog/attachments/20180205/05b74638/attachment.html>


More information about the netfilter-buglog mailing list