diff options
author | Ting Liu <b28495@freescale.com> | 2013-03-05 08:33:32 -0600 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-03-07 11:14:36 +0000 |
commit | 14cd284ce1b65d3ddd2aa2a15e0c1a8543cea27f (patch) | |
tree | 690279d277dae905971005ab06581d13532be0ae /meta/recipes-connectivity/iproute2/iproute2/0001-ip-fix-ipv6-ntable-on-ppc64.patch | |
parent | f4a10bbbf5a6e97a547921f0c32d58d659dbe5b3 (diff) | |
download | poky-14cd284ce1b65d3ddd2aa2a15e0c1a8543cea27f.tar.gz |
iproute2: Fix build failure on ppc64
Backport three patches from upstream for ppc64:
http://git.kernel.org/cgit/linux/kernel/git/shemminger/iproute2.git
ae70d96 ipntable: more fixes for ppc64
a55a8fd fix dependency on sizeof(__u64) == sizeof(unsigned long long)
a7c2882 ip: fix ipv6 ntable on ppc64
(From OE-Core rev: 041f784c06403e1d418be677fd15ea159c3bf90d)
Signed-off-by: Ting Liu <b28495@freescale.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-connectivity/iproute2/iproute2/0001-ip-fix-ipv6-ntable-on-ppc64.patch')
-rw-r--r-- | meta/recipes-connectivity/iproute2/iproute2/0001-ip-fix-ipv6-ntable-on-ppc64.patch | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/meta/recipes-connectivity/iproute2/iproute2/0001-ip-fix-ipv6-ntable-on-ppc64.patch b/meta/recipes-connectivity/iproute2/iproute2/0001-ip-fix-ipv6-ntable-on-ppc64.patch new file mode 100644 index 0000000000..b5cbf9514e --- /dev/null +++ b/meta/recipes-connectivity/iproute2/iproute2/0001-ip-fix-ipv6-ntable-on-ppc64.patch | |||
@@ -0,0 +1,142 @@ | |||
1 | Upstream-Status: Backport | ||
2 | |||
3 | From a7c2882461581747488e5aabf10d19b46b371a01 Mon Sep 17 00:00:00 2001 | ||
4 | From: Stephen Hemminger <stephen@networkplumber.org> | ||
5 | Date: Wed, 27 Feb 2013 07:26:17 -0800 | ||
6 | Subject: [PATCH] ip: fix ipv6 ntable on ppc64 | ||
7 | |||
8 | Add casts to handle printf format when | ||
9 | sizeof(unsigned long long) != sizeof(__u64) | ||
10 | --- | ||
11 | ip/ipntable.c | 56 +++++++++++++++++++++++++++++++++++++------------------- | ||
12 | 1 file changed, 37 insertions(+), 19 deletions(-) | ||
13 | |||
14 | diff --git a/ip/ipntable.c b/ip/ipntable.c | ||
15 | index 5751114..56ad001 100644 | ||
16 | --- a/ip/ipntable.c | ||
17 | +++ b/ip/ipntable.c | ||
18 | @@ -432,7 +432,7 @@ int print_ntable(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg) | ||
19 | } | ||
20 | if (tb[NDTA_GC_INTERVAL]) { | ||
21 | __u64 gc_int = rta_getattr_u64(tb[NDTA_GC_INTERVAL]); | ||
22 | - fprintf(fp, "gc_int %llu ", gc_int); | ||
23 | + fprintf(fp, "gc_int %llu ", (unsigned long long) gc_int); | ||
24 | } | ||
25 | |||
26 | if (ret) | ||
27 | @@ -485,15 +485,18 @@ int print_ntable(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg) | ||
28 | } | ||
29 | if (tpb[NDTPA_REACHABLE_TIME]) { | ||
30 | __u64 reachable = rta_getattr_u64(tpb[NDTPA_REACHABLE_TIME]); | ||
31 | - fprintf(fp, "reachable %llu ", reachable); | ||
32 | + fprintf(fp, "reachable %llu ", | ||
33 | + (unsigned long long) reachable); | ||
34 | } | ||
35 | if (tpb[NDTPA_BASE_REACHABLE_TIME]) { | ||
36 | __u64 breachable = rta_getattr_u64(tpb[NDTPA_BASE_REACHABLE_TIME]); | ||
37 | - fprintf(fp, "base_reachable %llu ", breachable); | ||
38 | + fprintf(fp, "base_reachable %llu ", | ||
39 | + (unsigned long long) breachable); | ||
40 | } | ||
41 | if (tpb[NDTPA_RETRANS_TIME]) { | ||
42 | __u64 retrans = rta_getattr_u64(tpb[NDTPA_RETRANS_TIME]); | ||
43 | - fprintf(fp, "retrans %llu ", retrans); | ||
44 | + fprintf(fp, "retrans %llu ", | ||
45 | + (unsigned long long) retrans); | ||
46 | } | ||
47 | |||
48 | fprintf(fp, "%s", _SL_); | ||
49 | @@ -502,11 +505,13 @@ int print_ntable(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg) | ||
50 | |||
51 | if (tpb[NDTPA_GC_STALETIME]) { | ||
52 | __u64 gc_stale = rta_getattr_u64(tpb[NDTPA_GC_STALETIME]); | ||
53 | - fprintf(fp, "gc_stale %llu ", gc_stale); | ||
54 | + fprintf(fp, "gc_stale %llu ", | ||
55 | + (unsigned long long) gc_stale); | ||
56 | } | ||
57 | if (tpb[NDTPA_DELAY_PROBE_TIME]) { | ||
58 | __u64 delay_probe = rta_getattr_u64(tpb[NDTPA_DELAY_PROBE_TIME]); | ||
59 | - fprintf(fp, "delay_probe %llu ", delay_probe); | ||
60 | + fprintf(fp, "delay_probe %llu ", | ||
61 | + (unsigned long long) delay_probe); | ||
62 | } | ||
63 | if (tpb[NDTPA_QUEUE_LEN]) { | ||
64 | __u32 queue = rta_getattr_u32(tpb[NDTPA_QUEUE_LEN]); | ||
65 | @@ -536,11 +541,13 @@ int print_ntable(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg) | ||
66 | |||
67 | if (tpb[NDTPA_ANYCAST_DELAY]) { | ||
68 | __u64 anycast_delay = rta_getattr_u64(tpb[NDTPA_ANYCAST_DELAY]); | ||
69 | - fprintf(fp, "anycast_delay %llu ", anycast_delay); | ||
70 | + fprintf(fp, "anycast_delay %llu ", | ||
71 | + (unsigned long long) anycast_delay); | ||
72 | } | ||
73 | if (tpb[NDTPA_PROXY_DELAY]) { | ||
74 | __u64 proxy_delay = rta_getattr_u64(tpb[NDTPA_PROXY_DELAY]); | ||
75 | - fprintf(fp, "proxy_delay %llu ", proxy_delay); | ||
76 | + fprintf(fp, "proxy_delay %llu ", | ||
77 | + (unsigned long long) proxy_delay); | ||
78 | } | ||
79 | if (tpb[NDTPA_PROXY_QLEN]) { | ||
80 | __u32 pqueue = rta_getattr_u32(tpb[NDTPA_PROXY_QLEN]); | ||
81 | @@ -548,7 +555,8 @@ int print_ntable(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg) | ||
82 | } | ||
83 | if (tpb[NDTPA_LOCKTIME]) { | ||
84 | __u64 locktime = rta_getattr_u64(tpb[NDTPA_LOCKTIME]); | ||
85 | - fprintf(fp, "locktime %llu ", locktime); | ||
86 | + fprintf(fp, "locktime %llu ", | ||
87 | + (unsigned long long) locktime); | ||
88 | } | ||
89 | |||
90 | fprintf(fp, "%s", _SL_); | ||
91 | @@ -560,28 +568,38 @@ int print_ntable(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg) | ||
92 | fprintf(fp, " "); | ||
93 | fprintf(fp, "stats "); | ||
94 | |||
95 | - fprintf(fp, "allocs %llu ", ndts->ndts_allocs); | ||
96 | - fprintf(fp, "destroys %llu ", ndts->ndts_destroys); | ||
97 | - fprintf(fp, "hash_grows %llu ", ndts->ndts_hash_grows); | ||
98 | + fprintf(fp, "allocs %llu ", | ||
99 | + (unsigned long long) ndts->ndts_allocs); | ||
100 | + fprintf(fp, "destroys %llu ", | ||
101 | + (unsigned long long) ndts->ndts_destroys); | ||
102 | + fprintf(fp, "hash_grows %llu ", | ||
103 | + (unsigned long long) ndts->ndts_hash_grows); | ||
104 | |||
105 | fprintf(fp, "%s", _SL_); | ||
106 | fprintf(fp, " "); | ||
107 | |||
108 | - fprintf(fp, "res_failed %llu ", ndts->ndts_res_failed); | ||
109 | - fprintf(fp, "lookups %llu ", ndts->ndts_lookups); | ||
110 | - fprintf(fp, "hits %llu ", ndts->ndts_hits); | ||
111 | + fprintf(fp, "res_failed %llu ", | ||
112 | + (unsigned long long) ndts->ndts_res_failed); | ||
113 | + fprintf(fp, "lookups %llu ", | ||
114 | + (unsigned long long) ndts->ndts_lookups); | ||
115 | + fprintf(fp, "hits %llu ", | ||
116 | + (unsigned long long) ndts->ndts_hits); | ||
117 | |||
118 | fprintf(fp, "%s", _SL_); | ||
119 | fprintf(fp, " "); | ||
120 | |||
121 | - fprintf(fp, "rcv_probes_mcast %llu ", ndts->ndts_rcv_probes_mcast); | ||
122 | - fprintf(fp, "rcv_probes_ucast %llu ", ndts->ndts_rcv_probes_ucast); | ||
123 | + fprintf(fp, "rcv_probes_mcast %llu ", | ||
124 | + (unsigned long long) ndts->ndts_rcv_probes_mcast); | ||
125 | + fprintf(fp, "rcv_probes_ucast %llu ", | ||
126 | + (unsigned long long) ndts->ndts_rcv_probes_ucast); | ||
127 | |||
128 | fprintf(fp, "%s", _SL_); | ||
129 | fprintf(fp, " "); | ||
130 | |||
131 | - fprintf(fp, "periodic_gc_runs %llu ", ndts->ndts_periodic_gc_runs); | ||
132 | - fprintf(fp, "forced_gc_runs %llu ", ndts->ndts_forced_gc_runs); | ||
133 | + fprintf(fp, "periodic_gc_runs %llu ", | ||
134 | + (unsigned long long) ndts->ndts_periodic_gc_runs); | ||
135 | + fprintf(fp, "forced_gc_runs %llu ", | ||
136 | + (unsigned long long) ndts->ndts_forced_gc_runs); | ||
137 | |||
138 | fprintf(fp, "%s", _SL_); | ||
139 | } | ||
140 | -- | ||
141 | 1.7.9.7 | ||
142 | |||