Use intra-DSO calls when we build libbusybox. No-op for normal build.

This was Bernhard Fischer' idea.

   text    data     bss     dec     hex filename
 773549    7781    9740  791070   c121e busybox.t7/0_lib/libbusybox.so.1.11.0.svn_unstripped
 769683    7397    9740  786820   c0184 busybox.t9t/0_lib/libbusybox.so.1.11.0.svn_unstripped
This commit is contained in:
Denis Vlasenko
2008-05-09 17:59:34 +00:00
parent 50dbed95fb
commit 98636eb08c
27 changed files with 263 additions and 66 deletions

View File

@@ -13,6 +13,10 @@
#include <linux/if_link.h>
#endif
#if __GNUC_PREREQ(4,1)
# pragma GCC visibility push(hidden)
#endif
extern char **ip_parse_common_args(char **argv);
extern int print_neigh(struct sockaddr_nl *who, struct nlmsghdr *n, void *arg);
extern int ipaddr_list_or_flush(char **argv, int flush);
@@ -29,4 +33,9 @@ extern int do_iplink(char **argv);
extern int do_ipmonitor(char **argv);
extern int do_multiaddr(char **argv);
extern int do_multiroute(char **argv);
#if __GNUC_PREREQ(4,1)
# pragma GCC visibility pop
#endif
#endif /* ip_common.h */

View File

@@ -8,6 +8,11 @@
#include <linux/netlink.h>
#include <linux/rtnetlink.h>
#if __GNUC_PREREQ(4,1)
# pragma GCC visibility push(hidden)
#endif
struct rtnl_handle
{
int fd;
@@ -43,4 +48,8 @@ extern int rta_addattr_l(struct rtattr *rta, int maxlen, int type, void *data, i
extern int parse_rtattr(struct rtattr *tb[], int max, struct rtattr *rta, int len);
#if __GNUC_PREREQ(4,1)
# pragma GCC visibility pop
#endif
#endif /* __LIBNETLINK_H__ */

View File

@@ -2,6 +2,10 @@
#ifndef __LL_MAP_H__
#define __LL_MAP_H__ 1
#if __GNUC_PREREQ(4,1)
# pragma GCC visibility push(hidden)
#endif
int ll_remember_index(struct sockaddr_nl *who, struct nlmsghdr *n, void *arg);
int ll_init_map(struct rtnl_handle *rth);
int xll_name_to_index(const char *const name);
@@ -10,4 +14,8 @@ const char *ll_idx_n2a(int idx, char *buf);
/* int ll_index_to_type(int idx); */
unsigned ll_index_to_flags(int idx);
#if __GNUC_PREREQ(4,1)
# pragma GCC visibility pop
#endif
#endif /* __LL_MAP_H__ */

View File

@@ -2,7 +2,9 @@
#ifndef RT_NAMES_H_
#define RT_NAMES_H_ 1
#include <stdint.h>
#if __GNUC_PREREQ(4,1)
# pragma GCC visibility push(hidden)
#endif
extern const char* rtnl_rtprot_n2a(int id, char *buf, int len);
extern const char* rtnl_rtscope_n2a(int id, char *buf, int len);
@@ -27,4 +29,8 @@ extern const char* ll_proto_n2a(unsigned short id, char *buf, int len);
extern int ll_proto_a2n(unsigned short *id, char *buf);
#endif
#if __GNUC_PREREQ(4,1)
# pragma GCC visibility pop
#endif
#endif

View File

@@ -2,10 +2,17 @@
#ifndef __RTM_MAP_H__
#define __RTM_MAP_H__ 1
#if __GNUC_PREREQ(4,1)
# pragma GCC visibility push(hidden)
#endif
const char *rtnl_rtntype_n2a(int id, char *buf, int len);
int rtnl_rtntype_a2n(int *id, char *arg);
int get_rt_realms(uint32_t *realms, char *arg);
#if __GNUC_PREREQ(4,1)
# pragma GCC visibility pop
#endif
#endif /* __RTM_MAP_H__ */

View File

@@ -6,6 +6,10 @@
#include "ll_map.h"
#include "rtm_map.h"
#if __GNUC_PREREQ(4,1)
# pragma GCC visibility push(hidden)
#endif
extern family_t preferred_family;
extern smallint show_stats; /* UNUSED */
extern smallint show_details; /* UNUSED */
@@ -84,4 +88,8 @@ int dnet_pton(int af, const char *src, void *addr);
const char *ipx_ntop(int af, const void *addr, char *str, size_t len);
int ipx_pton(int af, const char *src, void *addr);
#if __GNUC_PREREQ(4,1)
# pragma GCC visibility pop
#endif
#endif /* __UTILS_H__ */