diff options
Diffstat (limited to 'meta-filesystems')
2 files changed, 137 insertions, 1 deletions
diff --git a/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch b/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch new file mode 100644 index 000000000..dbf7ae016 --- /dev/null +++ b/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch | |||
@@ -0,0 +1,135 @@ | |||
1 | From 5a8e26157d9642f022587cc1ca7525213c7a5379 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Thu, 13 Jul 2017 18:41:53 -0700 | ||
4 | Subject: [PATCH] btree: Avoid conflicts with libc namespace about setkey() | ||
5 | |||
6 | This issue is highlighted with musl mainly because the | ||
7 | function signature from stdlib.h does not match the local | ||
8 | static function | ||
9 | |||
10 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
11 | --- | ||
12 | btree.c | 32 ++++++++++++++++---------------- | ||
13 | 1 file changed, 16 insertions(+), 16 deletions(-) | ||
14 | |||
15 | diff --git a/btree.c b/btree.c | ||
16 | index eddc33b..dd3fef9 100644 | ||
17 | --- a/btree.c | ||
18 | +++ b/btree.c | ||
19 | @@ -123,7 +123,7 @@ static unsigned long bval(struct btree_geo *geo, unsigned long *node, int n) | ||
20 | return node[geo->no_pairs * geo->keylen + n]; | ||
21 | } | ||
22 | |||
23 | -static void setkey(struct btree_geo *geo, unsigned long *node, | ||
24 | +static void _setkey(struct btree_geo *geo, unsigned long *node, | ||
25 | unsigned long *key, int n) | ||
26 | { | ||
27 | longcpy(bkey(geo, node, n), key, geo->keylen); | ||
28 | @@ -292,7 +292,7 @@ static unsigned long *find_level(struct btree_head *head, struct btree_geo *geo, | ||
29 | /* FIXME: If the right-most key on higher levels is | ||
30 | * always zero, this wouldn't be necessary. */ | ||
31 | i--; | ||
32 | - setkey(geo, node, key, i); | ||
33 | + _setkey(geo, node, key, i); | ||
34 | } | ||
35 | BUG_ON(i < 0); | ||
36 | node = (unsigned long *)bval(geo, node, i); | ||
37 | @@ -311,7 +311,7 @@ static int btree_grow(struct btree_head *head, struct btree_geo *geo) | ||
38 | return -ENOMEM; | ||
39 | if (head->node) { | ||
40 | fill = getfill(geo, head->node, 0); | ||
41 | - setkey(geo, node, bkey(geo, head->node, fill - 1), 0); | ||
42 | + _setkey(geo, node, bkey(geo, head->node, fill - 1), 0); | ||
43 | setval(geo, node, (unsigned long)head->node, 0); | ||
44 | } | ||
45 | head->node = node; | ||
46 | @@ -342,16 +342,16 @@ static void steal_l(struct btree_head *head, struct btree_geo *geo, int level, | ||
47 | |||
48 | for (i = rfill - 1; i >= 0; i--) { | ||
49 | /* Shift entries on the right */ | ||
50 | - setkey(geo, right, bkey(geo, right, i), i + no_entries); | ||
51 | + _setkey(geo, right, bkey(geo, right, i), i + no_entries); | ||
52 | setval(geo, right, bval(geo, right, i), i + no_entries); | ||
53 | } | ||
54 | for (i = 0; i < no_entries; i++) { | ||
55 | /* Move some entries to the right */ | ||
56 | - setkey(geo, right, bkey(geo, left, lfill - no_entries + i), i); | ||
57 | + _setkey(geo, right, bkey(geo, left, lfill - no_entries + i), i); | ||
58 | setval(geo, right, bval(geo, left, lfill - no_entries + i), i); | ||
59 | } | ||
60 | /* Set parent key */ | ||
61 | - setkey(geo, parent, bkey(geo, left, lfill - no_entries - 1), lpos); | ||
62 | + _setkey(geo, parent, bkey(geo, left, lfill - no_entries - 1), lpos); | ||
63 | for (i = lfill - no_entries; i < lfill; i++) | ||
64 | clearpair(geo, left, i); | ||
65 | } | ||
66 | @@ -366,14 +366,14 @@ static void steal_r(struct btree_head *head, struct btree_geo *geo, int level, | ||
67 | |||
68 | for (i = 0; i < no_entries; i++) { | ||
69 | /* Move some entries to the left */ | ||
70 | - setkey(geo, left, bkey(geo, right, i), lfill + i); | ||
71 | + _setkey(geo, left, bkey(geo, right, i), lfill + i); | ||
72 | setval(geo, left, bval(geo, right, i), lfill + i); | ||
73 | } | ||
74 | /* Set parent key */ | ||
75 | - setkey(geo, parent, bkey(geo, right, no_entries - 1), lpos); | ||
76 | + _setkey(geo, parent, bkey(geo, right, no_entries - 1), lpos); | ||
77 | /* Shift entries on the right */ | ||
78 | for ( ; i < rfill; i++) { | ||
79 | - setkey(geo, right, bkey(geo, right, i), i - no_entries); | ||
80 | + _setkey(geo, right, bkey(geo, right, i), i - no_entries); | ||
81 | setval(geo, right, bval(geo, right, i), i - no_entries); | ||
82 | } | ||
83 | for (i = rfill - no_entries; i < rfill; i++) | ||
84 | @@ -399,14 +399,14 @@ static int split(struct btree_head *head, struct btree_geo *geo, | ||
85 | return err; | ||
86 | } | ||
87 | for (i = 0; i < fill / 2; i++) { | ||
88 | - setkey(geo, new, bkey(geo, node, i), i); | ||
89 | + _setkey(geo, new, bkey(geo, node, i), i); | ||
90 | setval(geo, new, bval(geo, node, i), i); | ||
91 | - setkey(geo, node, bkey(geo, node, i + fill / 2), i); | ||
92 | + _setkey(geo, node, bkey(geo, node, i + fill / 2), i); | ||
93 | setval(geo, node, bval(geo, node, i + fill / 2), i); | ||
94 | clearpair(geo, node, i + fill / 2); | ||
95 | } | ||
96 | if (fill & 1) { | ||
97 | - setkey(geo, node, bkey(geo, node, fill - 1), i); | ||
98 | + _setkey(geo, node, bkey(geo, node, fill - 1), i); | ||
99 | setval(geo, node, bval(geo, node, fill - 1), i); | ||
100 | clearpair(geo, node, fill - 1); | ||
101 | } | ||
102 | @@ -487,10 +487,10 @@ retry: | ||
103 | |||
104 | /* shift and insert */ | ||
105 | for (i = fill; i > pos; i--) { | ||
106 | - setkey(geo, node, bkey(geo, node, i - 1), i); | ||
107 | + _setkey(geo, node, bkey(geo, node, i - 1), i); | ||
108 | setval(geo, node, bval(geo, node, i - 1), i); | ||
109 | } | ||
110 | - setkey(geo, node, key, pos); | ||
111 | + _setkey(geo, node, key, pos); | ||
112 | setval(geo, node, val, pos); | ||
113 | |||
114 | return 0; | ||
115 | @@ -513,7 +513,7 @@ static void merge(struct btree_head *head, struct btree_geo *geo, int level, | ||
116 | |||
117 | for (i = 0; i < rfill; i++) { | ||
118 | /* Move all entries to the left */ | ||
119 | - setkey(geo, left, bkey(geo, right, i), lfill + i); | ||
120 | + _setkey(geo, left, bkey(geo, right, i), lfill + i); | ||
121 | setval(geo, left, bval(geo, right, i), lfill + i); | ||
122 | } | ||
123 | /* Exchange left and right child in parent */ | ||
124 | @@ -615,7 +615,7 @@ static void *btree_remove_level(struct btree_head *head, struct btree_geo *geo, | ||
125 | |||
126 | /* remove and shift */ | ||
127 | for (i = pos; i < fill - 1; i++) { | ||
128 | - setkey(geo, node, bkey(geo, node, i + 1), i); | ||
129 | + _setkey(geo, node, bkey(geo, node, i + 1), i); | ||
130 | setval(geo, node, bval(geo, node, i + 1), i); | ||
131 | } | ||
132 | clearpair(geo, node, fill - 1); | ||
133 | -- | ||
134 | 2.13.2 | ||
135 | |||
diff --git a/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb b/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb index c41f0eaa6..1b4d97d76 100644 --- a/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb +++ b/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb | |||
@@ -13,7 +13,8 @@ DEPENDS = "zlib" | |||
13 | 13 | ||
14 | SRC_URI = "git://github.com/prasad-joshi/logfsprogs.git \ | 14 | SRC_URI = "git://github.com/prasad-joshi/logfsprogs.git \ |
15 | file://0001-Add-LDFLAGS-to-linker-cmdline.patch \ | 15 | file://0001-Add-LDFLAGS-to-linker-cmdline.patch \ |
16 | " | 16 | file://0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch \ |
17 | " | ||
17 | SRCREV = "45b72c81ce3c6fa17ca19bafc207ea93e76312f4" | 18 | SRCREV = "45b72c81ce3c6fa17ca19bafc207ea93e76312f4" |
18 | 19 | ||
19 | S = "${WORKDIR}/git" | 20 | S = "${WORKDIR}/git" |