summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2011-05-09 15:07:20 +0200
committerLennart Poettering <lennart@poettering.net>2011-05-09 15:07:20 +0200
commitfe0fc11bacc3e00023e45b04b9ee788ed161c4b8 (patch)
tree90a7a901babfc37edf9611e205330f5e95076ddd
parent8041b5bada31db152de80e45b3047ed32cef6880 (diff)
set visibility of functions explicitly to avoid name clashes
-rw-r--r--configure.ac2
-rw-r--r--netlink.h5
-rw-r--r--nss-myhostname.c12
3 files changed, 11 insertions, 8 deletions
diff --git a/configure.ac b/configure.ac
index dcf8815..6f4dfaf 100644
--- a/configure.ac
+++ b/configure.ac
@@ -44,7 +44,7 @@ AC_PROG_MAKE_SET
# GCC flags
-DESIRED_FLAGS="-Wall -W -Wextra -pedantic -pipe -Wformat -Wold-style-definition -Wdeclaration-after-statement -Wfloat-equal -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-noreturn -Wshadow -Wendif-labels -Wpointer-arith -Wcast-align -Wwrite-strings -Winline -Wno-unused-parameter -ffast-math"
+DESIRED_FLAGS="-Wall -W -Wextra -pedantic -pipe -Wformat -Wold-style-definition -Wdeclaration-after-statement -Wfloat-equal -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-noreturn -Wshadow -Wendif-labels -Wpointer-arith -Wcast-align -Wwrite-strings -Winline -Wno-unused-parameter -ffast-math -fvisibility=hidden -fdiagnostics-show-option"
for flag in $DESIRED_FLAGS ; do
CC_CHECK_CFLAGS([$flag], [CFLAGS="$CFLAGS $flag"])
diff --git a/netlink.h b/netlink.h
index e6ad59b..4f00248 100644
--- a/netlink.h
+++ b/netlink.h
@@ -34,7 +34,10 @@ struct address {
int ifindex;
};
-int netlink_acquire_addresses(struct address **_list, unsigned *_n_list);
+#define _public_ __attribute__ ((visibility("default")))
+#define _hidden_ __attribute__ ((visibility("hidden")))
+
+int netlink_acquire_addresses(struct address **_list, unsigned *_n_list) _hidden_;
static inline size_t PROTO_ADDRESS_SIZE(int proto) {
assert(proto == AF_INET || proto == AF_INET6);
diff --git a/nss-myhostname.c b/nss-myhostname.c
index b091fba..293166c 100644
--- a/nss-myhostname.c
+++ b/nss-myhostname.c
@@ -50,7 +50,7 @@ enum nss_status _nss_myhostname_gethostbyname4_r(
struct gaih_addrtuple **pat,
char *buffer, size_t buflen,
int *errnop, int *h_errnop,
- int32_t *ttlp);
+ int32_t *ttlp) _public_;
enum nss_status _nss_myhostname_gethostbyname3_r(
const char *name,
@@ -59,20 +59,20 @@ enum nss_status _nss_myhostname_gethostbyname3_r(
char *buffer, size_t buflen,
int *errnop, int *h_errnop,
int32_t *ttlp,
- char **canonp);
+ char **canonp) _public_;
enum nss_status _nss_myhostname_gethostbyname2_r(
const char *name,
int af,
struct hostent *host,
char *buffer, size_t buflen,
- int *errnop, int *h_errnop);
+ int *errnop, int *h_errnop) _public_;
enum nss_status _nss_myhostname_gethostbyname_r(
const char *name,
struct hostent *host,
char *buffer, size_t buflen,
- int *errnop, int *h_errnop);
+ int *errnop, int *h_errnop) _public_;
enum nss_status _nss_myhostname_gethostbyaddr2_r(
const void* addr, socklen_t len,
@@ -80,14 +80,14 @@ enum nss_status _nss_myhostname_gethostbyaddr2_r(
struct hostent *host,
char *buffer, size_t buflen,
int *errnop, int *h_errnop,
- int32_t *ttlp);
+ int32_t *ttlp) _public_;
enum nss_status _nss_myhostname_gethostbyaddr_r(
const void* addr, socklen_t len,
int af,
struct hostent *host,
char *buffer, size_t buflen,
- int *errnop, int *h_errnop);
+ int *errnop, int *h_errnop) _public_;
enum nss_status _nss_myhostname_gethostbyname4_r(
const char *name,