Skip to content

Commit c0b6aed

Browse files
hyperairnikias
authored andcommitted
Use -fvisibility=hidden to avoid exporting non-public symbols
1 parent 305450a commit c0b6aed

2 files changed

Lines changed: 28 additions & 17 deletions

File tree

configure.ac

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,14 @@ if test "x$win32" != "xtrue"; then
8181
AC_CHECK_LIB(pthread, [pthread_create, pthread_mutex_lock], [AC_SUBST(libpthread_LIBS,[-lpthread])], [AC_MSG_ERROR([libpthread is required to build libusbmuxd])])
8282
fi
8383

84-
AS_COMPILER_FLAGS(GLOBAL_CFLAGS, "-Wall -Wextra -Wmissing-declarations -Wredundant-decls -Wshadow -Wpointer-arith -Wwrite-strings -Wswitch-default -Wno-unused-parameter")
84+
AS_COMPILER_FLAGS(GLOBAL_CFLAGS, "-Wall -Wextra -Wmissing-declarations -Wredundant-decls -Wshadow -Wpointer-arith -Wwrite-strings -Wswitch-default -Wno-unused-parameter -fvisibility=hidden")
8585
AC_SUBST(GLOBAL_CFLAGS)
8686

87+
case "$GLOBAL_CFLAGS" in
88+
*-fvisibility=hidden*)
89+
AC_DEFINE([HAVE_FVISIBILITY], [1], [Define if compiled with -fvisibility=hidden])
90+
esac
91+
8792
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
8893

8994
AC_OUTPUT([

src/libusbmuxd.c

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,12 @@
3030
#include <config.h>
3131
#endif
3232

33+
#ifdef HAVE_FVISIBILITY
34+
#define USBMUXD_API __attribute__((visibility("default")))
35+
#else
36+
#define USBMUXD_API
37+
#endif
38+
3339
#ifdef WIN32
3440
#include <windows.h>
3541
#include <winsock2.h>
@@ -738,7 +744,7 @@ static void *device_monitor(void *data)
738744
return NULL;
739745
}
740746

741-
int usbmuxd_subscribe(usbmuxd_event_cb_t callback, void *user_data)
747+
USBMUXD_API int usbmuxd_subscribe(usbmuxd_event_cb_t callback, void *user_data)
742748
{
743749
int res;
744750

@@ -763,7 +769,7 @@ int usbmuxd_subscribe(usbmuxd_event_cb_t callback, void *user_data)
763769
return 0;
764770
}
765771

766-
int usbmuxd_unsubscribe()
772+
USBMUXD_API int usbmuxd_unsubscribe()
767773
{
768774
event_cb = NULL;
769775

@@ -806,7 +812,7 @@ static usbmuxd_device_info_t *device_info_from_device_record(struct usbmuxd_devi
806812
return devinfo;
807813
}
808814

809-
int usbmuxd_get_device_list(usbmuxd_device_info_t **device_list)
815+
USBMUXD_API int usbmuxd_get_device_list(usbmuxd_device_info_t **device_list)
810816
{
811817
int sfd;
812818
int tag;
@@ -959,15 +965,15 @@ int usbmuxd_get_device_list(usbmuxd_device_info_t **device_list)
959965
return dev_cnt;
960966
}
961967

962-
int usbmuxd_device_list_free(usbmuxd_device_info_t **device_list)
968+
USBMUXD_API int usbmuxd_device_list_free(usbmuxd_device_info_t **device_list)
963969
{
964970
if (device_list) {
965971
free(*device_list);
966972
}
967973
return 0;
968974
}
969975

970-
int usbmuxd_get_device_by_udid(const char *udid, usbmuxd_device_info_t *device)
976+
USBMUXD_API int usbmuxd_get_device_by_udid(const char *udid, usbmuxd_device_info_t *device)
971977
{
972978
usbmuxd_device_info_t *dev_list = NULL;
973979

@@ -1002,7 +1008,7 @@ int usbmuxd_get_device_by_udid(const char *udid, usbmuxd_device_info_t *device)
10021008
return result;
10031009
}
10041010

1005-
int usbmuxd_connect(const int handle, const unsigned short port)
1011+
USBMUXD_API int usbmuxd_connect(const int handle, const unsigned short port)
10061012
{
10071013
int sfd;
10081014
int tag;
@@ -1047,12 +1053,12 @@ int usbmuxd_connect(const int handle, const unsigned short port)
10471053
return -1;
10481054
}
10491055

1050-
int usbmuxd_disconnect(int sfd)
1056+
USBMUXD_API int usbmuxd_disconnect(int sfd)
10511057
{
10521058
return socket_close(sfd);
10531059
}
10541060

1055-
int usbmuxd_send(int sfd, const char *data, uint32_t len, uint32_t *sent_bytes)
1061+
USBMUXD_API int usbmuxd_send(int sfd, const char *data, uint32_t len, uint32_t *sent_bytes)
10561062
{
10571063
int num_sent;
10581064

@@ -1075,7 +1081,7 @@ int usbmuxd_send(int sfd, const char *data, uint32_t len, uint32_t *sent_bytes)
10751081
return 0;
10761082
}
10771083

1078-
int usbmuxd_recv_timeout(int sfd, char *data, uint32_t len, uint32_t *recv_bytes, unsigned int timeout)
1084+
USBMUXD_API int usbmuxd_recv_timeout(int sfd, char *data, uint32_t len, uint32_t *recv_bytes, unsigned int timeout)
10791085
{
10801086
int num_recv = socket_receive_timeout(sfd, (void*)data, len, 0, timeout);
10811087
if (num_recv < 0) {
@@ -1088,12 +1094,12 @@ int usbmuxd_recv_timeout(int sfd, char *data, uint32_t len, uint32_t *recv_bytes
10881094
return 0;
10891095
}
10901096

1091-
int usbmuxd_recv(int sfd, char *data, uint32_t len, uint32_t *recv_bytes)
1097+
USBMUXD_API int usbmuxd_recv(int sfd, char *data, uint32_t len, uint32_t *recv_bytes)
10921098
{
10931099
return usbmuxd_recv_timeout(sfd, data, len, recv_bytes, 5000);
10941100
}
10951101

1096-
int usbmuxd_read_buid(char **buid)
1102+
USBMUXD_API int usbmuxd_read_buid(char **buid)
10971103
{
10981104
int sfd;
10991105
int tag;
@@ -1134,7 +1140,7 @@ int usbmuxd_read_buid(char **buid)
11341140
return ret;
11351141
}
11361142

1137-
int usbmuxd_read_pair_record(const char* record_id, char **record_data, uint32_t *record_size)
1143+
USBMUXD_API int usbmuxd_read_pair_record(const char* record_id, char **record_data, uint32_t *record_size)
11381144
{
11391145
int sfd;
11401146
int tag;
@@ -1182,7 +1188,7 @@ int usbmuxd_read_pair_record(const char* record_id, char **record_data, uint32_t
11821188
return ret;
11831189
}
11841190

1185-
int usbmuxd_save_pair_record(const char* record_id, const char *record_data, uint32_t record_size)
1191+
USBMUXD_API int usbmuxd_save_pair_record(const char* record_id, const char *record_data, uint32_t record_size)
11861192
{
11871193
int sfd;
11881194
int tag;
@@ -1221,7 +1227,7 @@ int usbmuxd_save_pair_record(const char* record_id, const char *record_data, uin
12211227
return ret;
12221228
}
12231229

1224-
int usbmuxd_delete_pair_record(const char* record_id)
1230+
USBMUXD_API int usbmuxd_delete_pair_record(const char* record_id)
12251231
{
12261232
int sfd;
12271233
int tag;
@@ -1258,15 +1264,15 @@ int usbmuxd_delete_pair_record(const char* record_id)
12581264
return ret;
12591265
}
12601266

1261-
void libusbmuxd_set_use_inotify(int set)
1267+
USBMUXD_API void libusbmuxd_set_use_inotify(int set)
12621268
{
12631269
#ifdef HAVE_INOTIFY
12641270
use_inotify = set;
12651271
#endif
12661272
return;
12671273
}
12681274

1269-
void libusbmuxd_set_debug_level(int level)
1275+
USBMUXD_API void libusbmuxd_set_debug_level(int level)
12701276
{
12711277
libusbmuxd_debug = level;
12721278
socket_set_verbose(level);

0 commit comments

Comments
 (0)