From 50a3d4e5d3f457356180ad088bd54f7ae48e870a Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 13 Jul 2017 22:40:13 -0700 Subject: logfsprogs: Rename setkey API to _setkey to not conflict with libc Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...-conflicts-with-libc-namespace-about-setk.patch | 135 +++++++++++++++++++++ .../logfsprogs/logfsprogs_git.bb | 3 +- 2 files changed, 137 insertions(+), 1 deletion(-) create mode 100644 meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch (limited to 'meta-filesystems') 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 0000000000..dbf7ae0163 --- /dev/null +++ b/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch @@ -0,0 +1,135 @@ +From 5a8e26157d9642f022587cc1ca7525213c7a5379 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 18:41:53 -0700 +Subject: [PATCH] btree: Avoid conflicts with libc namespace about setkey() + +This issue is highlighted with musl mainly because the +function signature from stdlib.h does not match the local +static function + +Signed-off-by: Khem Raj +--- + btree.c | 32 ++++++++++++++++---------------- + 1 file changed, 16 insertions(+), 16 deletions(-) + +diff --git a/btree.c b/btree.c +index eddc33b..dd3fef9 100644 +--- a/btree.c ++++ b/btree.c +@@ -123,7 +123,7 @@ static unsigned long bval(struct btree_geo *geo, unsigned long *node, int n) + return node[geo->no_pairs * geo->keylen + n]; + } + +-static void setkey(struct btree_geo *geo, unsigned long *node, ++static void _setkey(struct btree_geo *geo, unsigned long *node, + unsigned long *key, int n) + { + longcpy(bkey(geo, node, n), key, geo->keylen); +@@ -292,7 +292,7 @@ static unsigned long *find_level(struct btree_head *head, struct btree_geo *geo, + /* FIXME: If the right-most key on higher levels is + * always zero, this wouldn't be necessary. */ + i--; +- setkey(geo, node, key, i); ++ _setkey(geo, node, key, i); + } + BUG_ON(i < 0); + node = (unsigned long *)bval(geo, node, i); +@@ -311,7 +311,7 @@ static int btree_grow(struct btree_head *head, struct btree_geo *geo) + return -ENOMEM; + if (head->node) { + fill = getfill(geo, head->node, 0); +- setkey(geo, node, bkey(geo, head->node, fill - 1), 0); ++ _setkey(geo, node, bkey(geo, head->node, fill - 1), 0); + setval(geo, node, (unsigned long)head->node, 0); + } + head->node = node; +@@ -342,16 +342,16 @@ static void steal_l(struct btree_head *head, struct btree_geo *geo, int level, + + for (i = rfill - 1; i >= 0; i--) { + /* Shift entries on the right */ +- setkey(geo, right, bkey(geo, right, i), i + no_entries); ++ _setkey(geo, right, bkey(geo, right, i), i + no_entries); + setval(geo, right, bval(geo, right, i), i + no_entries); + } + for (i = 0; i < no_entries; i++) { + /* Move some entries to the right */ +- setkey(geo, right, bkey(geo, left, lfill - no_entries + i), i); ++ _setkey(geo, right, bkey(geo, left, lfill - no_entries + i), i); + setval(geo, right, bval(geo, left, lfill - no_entries + i), i); + } + /* Set parent key */ +- setkey(geo, parent, bkey(geo, left, lfill - no_entries - 1), lpos); ++ _setkey(geo, parent, bkey(geo, left, lfill - no_entries - 1), lpos); + for (i = lfill - no_entries; i < lfill; i++) + clearpair(geo, left, i); + } +@@ -366,14 +366,14 @@ static void steal_r(struct btree_head *head, struct btree_geo *geo, int level, + + for (i = 0; i < no_entries; i++) { + /* Move some entries to the left */ +- setkey(geo, left, bkey(geo, right, i), lfill + i); ++ _setkey(geo, left, bkey(geo, right, i), lfill + i); + setval(geo, left, bval(geo, right, i), lfill + i); + } + /* Set parent key */ +- setkey(geo, parent, bkey(geo, right, no_entries - 1), lpos); ++ _setkey(geo, parent, bkey(geo, right, no_entries - 1), lpos); + /* Shift entries on the right */ + for ( ; i < rfill; i++) { +- setkey(geo, right, bkey(geo, right, i), i - no_entries); ++ _setkey(geo, right, bkey(geo, right, i), i - no_entries); + setval(geo, right, bval(geo, right, i), i - no_entries); + } + for (i = rfill - no_entries; i < rfill; i++) +@@ -399,14 +399,14 @@ static int split(struct btree_head *head, struct btree_geo *geo, + return err; + } + for (i = 0; i < fill / 2; i++) { +- setkey(geo, new, bkey(geo, node, i), i); ++ _setkey(geo, new, bkey(geo, node, i), i); + setval(geo, new, bval(geo, node, i), i); +- setkey(geo, node, bkey(geo, node, i + fill / 2), i); ++ _setkey(geo, node, bkey(geo, node, i + fill / 2), i); + setval(geo, node, bval(geo, node, i + fill / 2), i); + clearpair(geo, node, i + fill / 2); + } + if (fill & 1) { +- setkey(geo, node, bkey(geo, node, fill - 1), i); ++ _setkey(geo, node, bkey(geo, node, fill - 1), i); + setval(geo, node, bval(geo, node, fill - 1), i); + clearpair(geo, node, fill - 1); + } +@@ -487,10 +487,10 @@ retry: + + /* shift and insert */ + for (i = fill; i > pos; i--) { +- setkey(geo, node, bkey(geo, node, i - 1), i); ++ _setkey(geo, node, bkey(geo, node, i - 1), i); + setval(geo, node, bval(geo, node, i - 1), i); + } +- setkey(geo, node, key, pos); ++ _setkey(geo, node, key, pos); + setval(geo, node, val, pos); + + return 0; +@@ -513,7 +513,7 @@ static void merge(struct btree_head *head, struct btree_geo *geo, int level, + + for (i = 0; i < rfill; i++) { + /* Move all entries to the left */ +- setkey(geo, left, bkey(geo, right, i), lfill + i); ++ _setkey(geo, left, bkey(geo, right, i), lfill + i); + setval(geo, left, bval(geo, right, i), lfill + i); + } + /* Exchange left and right child in parent */ +@@ -615,7 +615,7 @@ static void *btree_remove_level(struct btree_head *head, struct btree_geo *geo, + + /* remove and shift */ + for (i = pos; i < fill - 1; i++) { +- setkey(geo, node, bkey(geo, node, i + 1), i); ++ _setkey(geo, node, bkey(geo, node, i + 1), i); + setval(geo, node, bval(geo, node, i + 1), i); + } + clearpair(geo, node, fill - 1); +-- +2.13.2 + diff --git a/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb b/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb index c41f0eaa60..1b4d97d762 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" SRC_URI = "git://github.com/prasad-joshi/logfsprogs.git \ file://0001-Add-LDFLAGS-to-linker-cmdline.patch \ -" + file://0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch \ + " SRCREV = "45b72c81ce3c6fa17ca19bafc207ea93e76312f4" S = "${WORKDIR}/git" -- cgit 1.2.3-korg