diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/busybox.h | 7 | ||||
-rw-r--r-- | include/dump.h | 9 | ||||
-rw-r--r-- | include/grp_.h | 14 | ||||
-rw-r--r-- | include/libbb.h | 42 | ||||
-rw-r--r-- | include/platform.h | 52 | ||||
-rw-r--r-- | include/pwd_.h | 15 | ||||
-rw-r--r-- | include/rtc_.h | 10 | ||||
-rw-r--r-- | include/shadow_.h | 15 | ||||
-rw-r--r-- | include/unarchive.h | 8 | ||||
-rw-r--r-- | include/xatonum.h | 8 | ||||
-rw-r--r-- | include/xregex.h | 9 |
11 files changed, 131 insertions, 58 deletions
diff --git a/include/busybox.h b/include/busybox.h index 0c44d2f51..314b95126 100644 --- a/include/busybox.h +++ b/include/busybox.h | |||
@@ -9,6 +9,10 @@ | |||
9 | 9 | ||
10 | #include "libbb.h" | 10 | #include "libbb.h" |
11 | 11 | ||
12 | #if __GNUC_PREREQ(4,1) | ||
13 | # pragma GCC visibility push(hidden) | ||
14 | #endif | ||
15 | |||
12 | /* order matters: used as index into "install_dir[]" in appletlib.c */ | 16 | /* order matters: used as index into "install_dir[]" in appletlib.c */ |
13 | typedef enum bb_install_loc_t { | 17 | typedef enum bb_install_loc_t { |
14 | _BB_DIR_ROOT = 0, | 18 | _BB_DIR_ROOT = 0, |
@@ -67,5 +71,8 @@ int lbb_main(char **argv); | |||
67 | #endif | 71 | #endif |
68 | #endif | 72 | #endif |
69 | 73 | ||
74 | #if __GNUC_PREREQ(4,1) | ||
75 | # pragma GCC visibility pop | ||
76 | #endif | ||
70 | 77 | ||
71 | #endif /* _BB_INTERNAL_H_ */ | 78 | #endif /* _BB_INTERNAL_H_ */ |
diff --git a/include/dump.h b/include/dump.h index 7e1715430..20c39c41e 100644 --- a/include/dump.h +++ b/include/dump.h | |||
@@ -1,4 +1,9 @@ | |||
1 | /* vi: set sw=4 ts=4: */ | 1 | /* vi: set sw=4 ts=4: */ |
2 | |||
3 | #if __GNUC_PREREQ(4,1) | ||
4 | # pragma GCC visibility push(hidden) | ||
5 | #endif | ||
6 | |||
2 | #define F_IGNORE 0x01 /* %_A */ | 7 | #define F_IGNORE 0x01 /* %_A */ |
3 | #define F_SETREP 0x02 /* rep count set, not default */ | 8 | #define F_SETREP 0x02 /* rep count set, not default */ |
4 | #define F_ADDRESS 0x001 /* print offset */ | 9 | #define F_ADDRESS 0x001 /* print offset */ |
@@ -48,3 +53,7 @@ extern int bb_dump_blocksize; /* data block size */ | |||
48 | extern int bb_dump_length; /* max bytes to read */ | 53 | extern int bb_dump_length; /* max bytes to read */ |
49 | extern enum _vflag bb_dump_vflag; | 54 | extern enum _vflag bb_dump_vflag; |
50 | extern off_t bb_dump_skip; /* bytes to skip */ | 55 | extern off_t bb_dump_skip; /* bytes to skip */ |
56 | |||
57 | #if __GNUC_PREREQ(4,1) | ||
58 | # pragma GCC visibility pop | ||
59 | #endif | ||
diff --git a/include/grp_.h b/include/grp_.h index 061b86ef7..45ee22ba9 100644 --- a/include/grp_.h +++ b/include/grp_.h | |||
@@ -21,15 +21,13 @@ | |||
21 | * POSIX Standard: 9.2.1 Group Database Access <grp.h> | 21 | * POSIX Standard: 9.2.1 Group Database Access <grp.h> |
22 | */ | 22 | */ |
23 | 23 | ||
24 | #if !ENABLE_USE_BB_PWD_GRP | ||
25 | |||
26 | #include <grp.h> | ||
27 | |||
28 | #else | ||
29 | |||
30 | #ifndef _GRP_H | 24 | #ifndef _GRP_H |
31 | #define _GRP_H 1 | 25 | #define _GRP_H 1 |
32 | 26 | ||
27 | #if __GNUC_PREREQ(4,1) | ||
28 | # pragma GCC visibility push(hidden) | ||
29 | #endif | ||
30 | |||
33 | /* The group structure. */ | 31 | /* The group structure. */ |
34 | struct group { | 32 | struct group { |
35 | char *gr_name; /* Group name. */ | 33 | char *gr_name; /* Group name. */ |
@@ -128,6 +126,8 @@ extern int getgrouplist(__const char *__user, gid_t __group, | |||
128 | of which USER is a member. Also include GROUP. */ | 126 | of which USER is a member. Also include GROUP. */ |
129 | extern int initgroups(__const char *__user, gid_t __group); | 127 | extern int initgroups(__const char *__user, gid_t __group); |
130 | 128 | ||
129 | #if __GNUC_PREREQ(4,1) | ||
130 | # pragma GCC visibility pop | ||
131 | #endif | ||
131 | 132 | ||
132 | #endif /* grp.h */ | ||
133 | #endif | 133 | #endif |
diff --git a/include/libbb.h b/include/libbb.h index 281152f5f..09dcc1b7f 100644 --- a/include/libbb.h +++ b/include/libbb.h | |||
@@ -65,15 +65,21 @@ | |||
65 | #define setlocale(x,y) ((void)0) | 65 | #define setlocale(x,y) ((void)0) |
66 | #endif | 66 | #endif |
67 | 67 | ||
68 | #include "pwd_.h" | 68 | #ifdef DMALLOC |
69 | #include "grp_.h" | 69 | #include <dmalloc.h> |
70 | /* ifdef it out, because it may include <shadow.h> */ | 70 | #endif |
71 | /* and we may not even _have_ <shadow.h>! */ | 71 | |
72 | #if !ENABLE_USE_BB_PWD_GRP | ||
73 | # include <pwd.h> | ||
74 | # include <grp.h> | ||
75 | #endif | ||
72 | #if ENABLE_FEATURE_SHADOWPASSWDS | 76 | #if ENABLE_FEATURE_SHADOWPASSWDS |
73 | #include "shadow_.h" | 77 | # if !ENABLE_USE_BB_SHADOW |
78 | # include <shadow.h> | ||
79 | # endif | ||
74 | #endif | 80 | #endif |
75 | 81 | ||
76 | /* Some libc's don't declare it, help them */ | 82 | /* Some libc's forget to declare these, help them */ |
77 | extern char **environ; | 83 | extern char **environ; |
78 | 84 | ||
79 | #if defined(__GLIBC__) && __GLIBC__ < 2 | 85 | #if defined(__GLIBC__) && __GLIBC__ < 2 |
@@ -106,6 +112,23 @@ struct sysinfo { | |||
106 | int sysinfo(struct sysinfo* info); | 112 | int sysinfo(struct sysinfo* info); |
107 | 113 | ||
108 | 114 | ||
115 | /* Make all declarations hidden (-fvisibility flag only affects definitions) */ | ||
116 | /* (don't include system headers after this until corresponding pop!) */ | ||
117 | #if __GNUC_PREREQ(4,1) | ||
118 | # pragma GCC visibility push(hidden) | ||
119 | #endif | ||
120 | |||
121 | |||
122 | #if ENABLE_USE_BB_PWD_GRP | ||
123 | # include "pwd_.h" | ||
124 | # include "grp_.h" | ||
125 | #endif | ||
126 | #if ENABLE_FEATURE_SHADOWPASSWDS | ||
127 | # if ENABLE_USE_BB_SHADOW | ||
128 | # include "shadow_.h" | ||
129 | # endif | ||
130 | #endif | ||
131 | |||
109 | /* Tested to work correctly with all int types (IIRC :]) */ | 132 | /* Tested to work correctly with all int types (IIRC :]) */ |
110 | #define MAXINT(T) (T)( \ | 133 | #define MAXINT(T) (T)( \ |
111 | ((T)-1) > 0 \ | 134 | ((T)-1) > 0 \ |
@@ -1344,11 +1367,12 @@ extern const char bb_default_login_shell[]; | |||
1344 | #undef isdigit | 1367 | #undef isdigit |
1345 | #define isdigit(a) ((unsigned)((a) - '0') <= 9) | 1368 | #define isdigit(a) ((unsigned)((a) - '0') <= 9) |
1346 | 1369 | ||
1370 | #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) | ||
1347 | 1371 | ||
1348 | #ifdef DMALLOC | 1372 | |
1349 | #include <dmalloc.h> | 1373 | #if __GNUC_PREREQ(4,1) |
1374 | # pragma GCC visibility pop | ||
1350 | #endif | 1375 | #endif |
1351 | 1376 | ||
1352 | #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) | ||
1353 | 1377 | ||
1354 | #endif /* __LIBBUSYBOX_H__ */ | 1378 | #endif /* __LIBBUSYBOX_H__ */ |
diff --git a/include/platform.h b/include/platform.h index 57cff2c33..0e0ccaf90 100644 --- a/include/platform.h +++ b/include/platform.h | |||
@@ -17,7 +17,7 @@ | |||
17 | #endif | 17 | #endif |
18 | 18 | ||
19 | /* __restrict is known in EGCS 1.2 and above. */ | 19 | /* __restrict is known in EGCS 1.2 and above. */ |
20 | #if !__GNUC_PREREQ (2,92) | 20 | #if !__GNUC_PREREQ(2,92) |
21 | # ifndef __restrict | 21 | # ifndef __restrict |
22 | # define __restrict /* Ignore */ | 22 | # define __restrict /* Ignore */ |
23 | # endif | 23 | # endif |
@@ -27,7 +27,7 @@ | |||
27 | macros freely, and know that they will come into play for the | 27 | macros freely, and know that they will come into play for the |
28 | version of gcc in which they are supported. */ | 28 | version of gcc in which they are supported. */ |
29 | 29 | ||
30 | #if !__GNUC_PREREQ (2,7) | 30 | #if !__GNUC_PREREQ(2,7) |
31 | # ifndef __attribute__ | 31 | # ifndef __attribute__ |
32 | # define __attribute__(x) | 32 | # define __attribute__(x) |
33 | # endif | 33 | # endif |
@@ -37,7 +37,7 @@ | |||
37 | #if defined(__STDC_VERSION__) && __STDC_VERSION__ > 199901L | 37 | #if defined(__STDC_VERSION__) && __STDC_VERSION__ > 199901L |
38 | /* it's a keyword */ | 38 | /* it's a keyword */ |
39 | #else | 39 | #else |
40 | # if __GNUC_PREREQ (2,7) | 40 | # if __GNUC_PREREQ(2,7) |
41 | # define inline __inline__ | 41 | # define inline __inline__ |
42 | # else | 42 | # else |
43 | # define inline | 43 | # define inline |
@@ -48,49 +48,49 @@ | |||
48 | # define __const const | 48 | # define __const const |
49 | #endif | 49 | #endif |
50 | 50 | ||
51 | # define ATTRIBUTE_UNUSED __attribute__ ((__unused__)) | 51 | #define ATTRIBUTE_UNUSED __attribute__ ((__unused__)) |
52 | # define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__)) | 52 | #define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__)) |
53 | # define ATTRIBUTE_PACKED __attribute__ ((__packed__)) | 53 | #define ATTRIBUTE_PACKED __attribute__ ((__packed__)) |
54 | # define ATTRIBUTE_ALIGNED(m) __attribute__ ((__aligned__(m))) | 54 | #define ATTRIBUTE_ALIGNED(m) __attribute__ ((__aligned__(m))) |
55 | /* __NO_INLINE__: some gcc's do not honor inlining! :( */ | 55 | /* __NO_INLINE__: some gcc's do not honor inlining! :( */ |
56 | # if __GNUC_PREREQ (3,0) && !defined(__NO_INLINE__) | 56 | #if __GNUC_PREREQ(3,0) && !defined(__NO_INLINE__) |
57 | # define ALWAYS_INLINE __attribute__ ((always_inline)) inline | 57 | # define ALWAYS_INLINE __attribute__ ((always_inline)) inline |
58 | /* I've seen a toolchain where I needed __noinline__ instead of noinline */ | 58 | /* I've seen a toolchain where I needed __noinline__ instead of noinline */ |
59 | # define NOINLINE __attribute__((__noinline__)) | 59 | # define NOINLINE __attribute__((__noinline__)) |
60 | # if !ENABLE_WERROR | 60 | # if !ENABLE_WERROR |
61 | # define ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__)) | 61 | # define ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__)) |
62 | # define ATTRIBUTE_UNUSED_RESULT __attribute__ ((warn_unused_result)) | 62 | # define ATTRIBUTE_UNUSED_RESULT __attribute__ ((warn_unused_result)) |
63 | # else | ||
64 | # define ATTRIBUTE_DEPRECATED /* n/a */ | ||
65 | # define ATTRIBUTE_UNUSED_RESULT /* n/a */ | ||
66 | # endif | ||
67 | # else | 63 | # else |
68 | # define ALWAYS_INLINE inline /* n/a */ | ||
69 | # define NOINLINE /* n/a */ | ||
70 | # define ATTRIBUTE_DEPRECATED /* n/a */ | 64 | # define ATTRIBUTE_DEPRECATED /* n/a */ |
71 | # define ATTRIBUTE_UNUSED_RESULT /* n/a */ | 65 | # define ATTRIBUTE_UNUSED_RESULT /* n/a */ |
72 | # endif | 66 | # endif |
67 | #else | ||
68 | # define ALWAYS_INLINE inline /* n/a */ | ||
69 | # define NOINLINE /* n/a */ | ||
70 | # define ATTRIBUTE_DEPRECATED /* n/a */ | ||
71 | # define ATTRIBUTE_UNUSED_RESULT /* n/a */ | ||
72 | #endif | ||
73 | 73 | ||
74 | /* -fwhole-program makes all symbols local. The attribute externally_visible | 74 | /* -fwhole-program makes all symbols local. The attribute externally_visible |
75 | forces a symbol global. */ | 75 | forces a symbol global. */ |
76 | # if __GNUC_PREREQ (4,1) | 76 | #if __GNUC_PREREQ(4,1) |
77 | # define EXTERNALLY_VISIBLE __attribute__(( visibility("default") )) | 77 | # define EXTERNALLY_VISIBLE __attribute__(( visibility("default") )) |
78 | //__attribute__ ((__externally_visible__)) | 78 | //__attribute__ ((__externally_visible__)) |
79 | # else | 79 | #else |
80 | # define EXTERNALLY_VISIBLE | 80 | # define EXTERNALLY_VISIBLE |
81 | # endif /* GNUC >= 4.1 */ | 81 | #endif /* GNUC >= 4.1 */ |
82 | 82 | ||
83 | /* We use __extension__ in some places to suppress -pedantic warnings | 83 | /* We use __extension__ in some places to suppress -pedantic warnings |
84 | about GCC extensions. This feature didn't work properly before | 84 | about GCC extensions. This feature didn't work properly before |
85 | gcc 2.8. */ | 85 | gcc 2.8. */ |
86 | #if !__GNUC_PREREQ (2,8) | 86 | #if !__GNUC_PREREQ(2,8) |
87 | # ifndef __extension__ | 87 | # ifndef __extension__ |
88 | # define __extension__ | 88 | # define __extension__ |
89 | # endif | 89 | # endif |
90 | #endif | 90 | #endif |
91 | 91 | ||
92 | /* gcc-2.95 had no va_copy but only __va_copy. */ | 92 | /* gcc-2.95 had no va_copy but only __va_copy. */ |
93 | #if !__GNUC_PREREQ (3,0) | 93 | #if !__GNUC_PREREQ(3,0) |
94 | # include <stdarg.h> | 94 | # include <stdarg.h> |
95 | # if !defined va_copy && defined __va_copy | 95 | # if !defined va_copy && defined __va_copy |
96 | # define va_copy(d,s) __va_copy((d),(s)) | 96 | # define va_copy(d,s) __va_copy((d),(s)) |
diff --git a/include/pwd_.h b/include/pwd_.h index f47e4eb2c..6199034d2 100644 --- a/include/pwd_.h +++ b/include/pwd_.h | |||
@@ -21,15 +21,13 @@ | |||
21 | * POSIX Standard: 9.2.2 User Database Access <pwd.h> | 21 | * POSIX Standard: 9.2.2 User Database Access <pwd.h> |
22 | */ | 22 | */ |
23 | 23 | ||
24 | #if !ENABLE_USE_BB_PWD_GRP | ||
25 | |||
26 | #include <pwd.h> | ||
27 | |||
28 | #else | ||
29 | |||
30 | #ifndef _PWD_H | 24 | #ifndef _PWD_H |
31 | #define _PWD_H 1 | 25 | #define _PWD_H 1 |
32 | 26 | ||
27 | #if __GNUC_PREREQ(4,1) | ||
28 | # pragma GCC visibility push(hidden) | ||
29 | #endif | ||
30 | |||
33 | /* The passwd structure. */ | 31 | /* The passwd structure. */ |
34 | struct passwd { | 32 | struct passwd { |
35 | char *pw_name; /* Username. */ | 33 | char *pw_name; /* Username. */ |
@@ -118,5 +116,8 @@ extern int fgetpwent_r(FILE *__restrict __stream, | |||
118 | will expect, but this need not be the format of the password file. */ | 116 | will expect, but this need not be the format of the password file. */ |
119 | extern int getpw(uid_t __uid, char *__buffer); | 117 | extern int getpw(uid_t __uid, char *__buffer); |
120 | 118 | ||
121 | #endif /* pwd.h */ | 119 | #if __GNUC_PREREQ(4,1) |
120 | # pragma GCC visibility pop | ||
122 | #endif | 121 | #endif |
122 | |||
123 | #endif /* pwd.h */ | ||
diff --git a/include/rtc_.h b/include/rtc_.h index df359da74..b8e4de895 100644 --- a/include/rtc_.h +++ b/include/rtc_.h | |||
@@ -9,12 +9,14 @@ | |||
9 | 9 | ||
10 | #include "libbb.h" | 10 | #include "libbb.h" |
11 | 11 | ||
12 | #if __GNUC_PREREQ(4,1) | ||
13 | # pragma GCC visibility push(hidden) | ||
14 | #endif | ||
15 | |||
12 | extern int rtc_adjtime_is_utc(void); | 16 | extern int rtc_adjtime_is_utc(void); |
13 | extern int rtc_xopen(const char **default_rtc, int flags); | 17 | extern int rtc_xopen(const char **default_rtc, int flags); |
14 | extern time_t rtc_read_time(int fd, int utc); | 18 | extern time_t rtc_read_time(int fd, int utc); |
15 | 19 | ||
16 | |||
17 | |||
18 | /* | 20 | /* |
19 | * Everything below this point has been copied from linux/rtc.h | 21 | * Everything below this point has been copied from linux/rtc.h |
20 | * to eliminate the kernel header dependency | 22 | * to eliminate the kernel header dependency |
@@ -70,4 +72,8 @@ struct linux_rtc_wkalrm { | |||
70 | #define RTC_AF 0x20 | 72 | #define RTC_AF 0x20 |
71 | #define RTC_UF 0x10 | 73 | #define RTC_UF 0x10 |
72 | 74 | ||
75 | #if __GNUC_PREREQ(4,1) | ||
76 | # pragma GCC visibility pop | ||
77 | #endif | ||
78 | |||
73 | #endif | 79 | #endif |
diff --git a/include/shadow_.h b/include/shadow_.h index 92bcde864..5a8b71a47 100644 --- a/include/shadow_.h +++ b/include/shadow_.h | |||
@@ -19,15 +19,13 @@ | |||
19 | 19 | ||
20 | /* Declaration of types and functions for shadow password suite */ | 20 | /* Declaration of types and functions for shadow password suite */ |
21 | 21 | ||
22 | #if !ENABLE_USE_BB_SHADOW | ||
23 | |||
24 | #include <shadow.h> | ||
25 | |||
26 | #else | ||
27 | |||
28 | #ifndef _SHADOW_H | 22 | #ifndef _SHADOW_H |
29 | #define _SHADOW_H 1 | 23 | #define _SHADOW_H 1 |
30 | 24 | ||
25 | #if __GNUC_PREREQ(4,1) | ||
26 | # pragma GCC visibility push(hidden) | ||
27 | #endif | ||
28 | |||
31 | /* Paths to the user database files */ | 29 | /* Paths to the user database files */ |
32 | #ifndef _PATH_SHADOW | 30 | #ifndef _PATH_SHADOW |
33 | #define _PATH_SHADOW "/etc/shadow" | 31 | #define _PATH_SHADOW "/etc/shadow" |
@@ -110,5 +108,8 @@ extern int lckpwdf(void); | |||
110 | /* Unlock password file */ | 108 | /* Unlock password file */ |
111 | extern int ulckpwdf(void); | 109 | extern int ulckpwdf(void); |
112 | 110 | ||
113 | #endif /* shadow.h */ | 111 | #if __GNUC_PREREQ(4,1) |
112 | # pragma GCC visibility pop | ||
114 | #endif | 113 | #endif |
114 | |||
115 | #endif /* shadow.h */ | ||
diff --git a/include/unarchive.h b/include/unarchive.h index b49e6cbb5..a6b047794 100644 --- a/include/unarchive.h +++ b/include/unarchive.h | |||
@@ -2,6 +2,10 @@ | |||
2 | #ifndef __UNARCHIVE_H__ | 2 | #ifndef __UNARCHIVE_H__ |
3 | #define __UNARCHIVE_H__ | 3 | #define __UNARCHIVE_H__ |
4 | 4 | ||
5 | #if __GNUC_PREREQ(4,1) | ||
6 | # pragma GCC visibility push(hidden) | ||
7 | #endif | ||
8 | |||
5 | #define ARCHIVE_PRESERVE_DATE 1 | 9 | #define ARCHIVE_PRESERVE_DATE 1 |
6 | #define ARCHIVE_CREATE_LEADING_DIRS 2 | 10 | #define ARCHIVE_CREATE_LEADING_DIRS 2 |
7 | #define ARCHIVE_EXTRACT_UNCONDITIONAL 4 | 11 | #define ARCHIVE_EXTRACT_UNCONDITIONAL 4 |
@@ -126,4 +130,8 @@ extern int open_transformer(int src_fd, const char *transform_prog); | |||
126 | #define open_transformer(src_fd, transformer, transform_prog) open_transformer(src_fd, transform_prog) | 130 | #define open_transformer(src_fd, transformer, transform_prog) open_transformer(src_fd, transform_prog) |
127 | #endif | 131 | #endif |
128 | 132 | ||
133 | #if __GNUC_PREREQ(4,1) | ||
134 | # pragma GCC visibility pop | ||
135 | #endif | ||
136 | |||
129 | #endif | 137 | #endif |
diff --git a/include/xatonum.h b/include/xatonum.h index 49ddced50..6cf1299b3 100644 --- a/include/xatonum.h +++ b/include/xatonum.h | |||
@@ -7,6 +7,10 @@ | |||
7 | * Licensed under GPLv2, see file LICENSE in this tarball for details. | 7 | * Licensed under GPLv2, see file LICENSE in this tarball for details. |
8 | */ | 8 | */ |
9 | 9 | ||
10 | #if __GNUC_PREREQ(4,1) | ||
11 | # pragma GCC visibility push(hidden) | ||
12 | #endif | ||
13 | |||
10 | /* Provides extern declarations of functions */ | 14 | /* Provides extern declarations of functions */ |
11 | #define DECLARE_STR_CONV(type, T, UT) \ | 15 | #define DECLARE_STR_CONV(type, T, UT) \ |
12 | \ | 16 | \ |
@@ -166,3 +170,7 @@ uint32_t bb_strtou32(const char *arg, char **endp, int base) | |||
166 | /* Floating point */ | 170 | /* Floating point */ |
167 | 171 | ||
168 | /* double bb_strtod(const char *arg, char **endp); */ | 172 | /* double bb_strtod(const char *arg, char **endp); */ |
173 | |||
174 | #if __GNUC_PREREQ(4,1) | ||
175 | # pragma GCC visibility pop | ||
176 | #endif | ||
diff --git a/include/xregex.h b/include/xregex.h index 23cf19c02..d4bf73279 100644 --- a/include/xregex.h +++ b/include/xregex.h | |||
@@ -12,7 +12,16 @@ | |||
12 | #define __BB_REGEX__ | 12 | #define __BB_REGEX__ |
13 | 13 | ||
14 | #include <regex.h> | 14 | #include <regex.h> |
15 | |||
16 | #if __GNUC_PREREQ(4,1) | ||
17 | # pragma GCC visibility push(hidden) | ||
18 | #endif | ||
19 | |||
15 | char* regcomp_or_errmsg(regex_t *preg, const char *regex, int cflags); | 20 | char* regcomp_or_errmsg(regex_t *preg, const char *regex, int cflags); |
16 | void xregcomp(regex_t *preg, const char *regex, int cflags); | 21 | void xregcomp(regex_t *preg, const char *regex, int cflags); |
17 | 22 | ||
23 | #if __GNUC_PREREQ(4,1) | ||
24 | # pragma GCC visibility pop | ||
25 | #endif | ||
26 | |||
18 | #endif | 27 | #endif |