GCC disallows creating arrays of variable size (and const int is a
variable as well). Fix that to fix build on powerpc64. PR: 231736 Submitted by: Piotr Kubaj
This commit is contained in:
parent
7a01d0ba75
commit
5f7fb9298e
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=483817
3 changed files with 66 additions and 0 deletions
15
devel/objecthash/files/patch-Makefile
Normal file
15
devel/objecthash/files/patch-Makefile
Normal file
|
@ -0,0 +1,15 @@
|
|||
--- Makefile.orig 2016-08-01 17:37:31 UTC
|
||||
+++ Makefile
|
||||
@@ -14,10 +14,10 @@ java:
|
||||
sbt test
|
||||
|
||||
objecthash_test: libobjecthash.so
|
||||
- $(CC) -std=c99 -Wall -Werror -o objecthash_test objecthash_test.c -lobjecthash -L. -Wl,-rpath -Wl,.
|
||||
+ $(CC) ${CFLAGS} -std=c99 -Wall -Werror -o objecthash_test objecthash_test.c -lobjecthash -L. -Wl,-rpath -Wl,.
|
||||
|
||||
libobjecthash.so: objecthash.c
|
||||
- $(CC) -fPIC -shared -std=c99 -Wall -Werror -o libobjecthash.so objecthash.c -lcrypto `pkg-config --libs --cflags icu-uc json-c`
|
||||
+ $(CC) ${CFLAGS} -fPIC -shared -std=c99 -Wall -Werror -o libobjecthash.so objecthash.c -lcrypto `pkg-config --libs --cflags icu-uc json-c`
|
||||
|
||||
get:
|
||||
GOPATH=`pwd` go get golang.org/x/text/unicode/norm
|
38
devel/objecthash/files/patch-objecthash.c
Normal file
38
devel/objecthash/files/patch-objecthash.c
Normal file
|
@ -0,0 +1,38 @@
|
|||
--- objecthash.c.orig 2018-09-25 21:01:54 UTC
|
||||
+++ objecthash.c
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
#include "objecthash.h"
|
||||
|
||||
-bool object_hash(/*const*/ json_object *j, byte hash[HASH_SIZE]);
|
||||
+bool object_hash(/*const*/ json_object *j, byte hash[SHA256_DIGEST_LENGTH]);
|
||||
|
||||
static void hash_update(hash_ctx * const c, const byte * const b,
|
||||
const size_t l) {
|
||||
@@ -45,7 +45,7 @@ static int dict_comp(const void *a, const void *b) {
|
||||
return memcmp(a, b, 2 * sizeof(hash));
|
||||
}
|
||||
|
||||
-static bool object_hash_str(const char *str, size_t len, byte hash[HASH_SIZE]) {
|
||||
+static bool object_hash_str(const char *str, size_t len, byte hash[SHA256_DIGEST_LENGTH]) {
|
||||
hash_bytes('u', (const byte *)str, len, hash);
|
||||
return true;
|
||||
}
|
||||
@@ -147,7 +147,7 @@ static bool object_hash_list(json_object *l, hash h) {
|
||||
|
||||
int len = json_object_array_length(l);
|
||||
for (int n = 0; n < len; ++n) {
|
||||
- byte ihash[HASH_SIZE];
|
||||
+ byte ihash[SHA256_DIGEST_LENGTH];
|
||||
if (!object_hash(json_object_array_get_idx(l, n), ihash))
|
||||
return false;
|
||||
hash_update(&ctx, ihash, sizeof ihash);
|
||||
@@ -157,7 +157,7 @@ static bool object_hash_list(json_object *l, hash h) {
|
||||
return true;
|
||||
}
|
||||
|
||||
-bool object_hash(/*const*/ json_object *j, byte hash[HASH_SIZE]) {
|
||||
+bool object_hash(/*const*/ json_object *j, byte hash[SHA256_DIGEST_LENGTH]) {
|
||||
enum json_type type;
|
||||
type = json_object_get_type(j);
|
||||
switch (type) {
|
13
devel/objecthash/files/patch-objecthash.h
Normal file
13
devel/objecthash/files/patch-objecthash.h
Normal file
|
@ -0,0 +1,13 @@
|
|||
--- objecthash.h.orig 2018-09-25 20:58:11 UTC
|
||||
+++ objecthash.h
|
||||
@@ -8,9 +8,7 @@ extern "C" {
|
||||
|
||||
typedef unsigned char byte;
|
||||
|
||||
-static const int HASH_SIZE = SHA256_DIGEST_LENGTH;
|
||||
-
|
||||
-typedef byte hash[HASH_SIZE];
|
||||
+typedef byte hash[SHA256_DIGEST_LENGTH];
|
||||
typedef SHA256_CTX hash_ctx;
|
||||
|
||||
bool python_json_hash(const char *json, hash h);
|
Loading…
Reference in a new issue