aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches/idris-test-ffi008.patch
blob: 530813c20e89fb558c2e8a04fc2c8db965013182 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Avoid "multiple definition of `mystruct'" error from `ld`:

Submitted upstream at https://github.com/idris-lang/Idris-dev/issues/4914

--- a/test/ffi008/ffi008.h	1969-12-31 18:00:01.000000000 -0600
+++ a/test/ffi008/ffi008.h	2022-04-13 00:32:35.561262598 -0500
@@ -10,7 +10,7 @@
     int16_t b;
 };
 
-struct test2 mystruct;
+extern struct test2 mystruct;
 
 int size1(void);
 int size2(void);
--- a/test/ffi008/ffi008.c	1969-12-31 18:00:01.000000000 -0600
+++ a/test/ffi008/ffi008.c	2022-04-13 00:32:53.145186302 -0500
@@ -11,6 +11,8 @@
     return sizeof(struct test2);
 }
 
+struct test2 mystruct;
+
 void print_mystruct(void) {
     printf("a: %d b: %d\n", mystruct.a, mystruct.b);
 }