Hi, The following patches fix the build of the ports with -fno-common. In parallel I try to bring this upstream.
ok? bye, Jan Index: patches/patch-buffer_buffer_0_c =================================================================== RCS file: patches/patch-buffer_buffer_0_c diff -N patches/patch-buffer_buffer_0_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-buffer_buffer_0_c 5 Feb 2021 21:36:59 -0000 @@ -0,0 +1,14 @@ +$OpenBSD$ + +Index: buffer/buffer_0.c +--- buffer/buffer_0.c.orig ++++ buffer/buffer_0.c +@@ -6,7 +6,7 @@ static ssize_t b0read(int fd,char* buf, size_t len) { + return read(fd,buf,len); + } + +-char buffer_0_space[BUFFER_INSIZE]; ++static char buffer_0_space[BUFFER_INSIZE]; + static buffer it = BUFFER_INIT_READ(b0read,0,buffer_0_space,sizeof buffer_0_space); + buffer *buffer_0 = ⁢ + Index: patches/patch-buffer_buffer_0small_c =================================================================== RCS file: patches/patch-buffer_buffer_0small_c diff -N patches/patch-buffer_buffer_0small_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-buffer_buffer_0small_c 5 Feb 2021 21:36:59 -0000 @@ -0,0 +1,14 @@ +$OpenBSD$ + +Index: buffer/buffer_0small.c +--- buffer/buffer_0small.c.orig ++++ buffer/buffer_0small.c +@@ -6,7 +6,7 @@ static ssize_t b0read(int fd,char* buf, size_t len) { + return read(fd,buf,len); + } + +-char buffer_0_space[128]; ++static char buffer_0_space[128]; + static buffer it = BUFFER_INIT_READ(b0read,0,buffer_0_space,sizeof buffer_0_space); + buffer *buffer_0small = ⁢ + Index: patches/patch-buffer_buffer_1_c =================================================================== RCS file: patches/patch-buffer_buffer_1_c diff -N patches/patch-buffer_buffer_1_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-buffer_buffer_1_c 5 Feb 2021 21:36:59 -0000 @@ -0,0 +1,14 @@ +$OpenBSD$ + +Index: buffer/buffer_1.c +--- buffer/buffer_1.c.orig ++++ buffer/buffer_1.c +@@ -4,7 +4,7 @@ + #include <io.h> + #endif + +-char buffer_1_space[BUFFER_INSIZE]; ++static char buffer_1_space[BUFFER_INSIZE]; + static buffer it = BUFFER_INIT(write,1,buffer_1_space,sizeof buffer_1_space); + buffer *buffer_1 = ⁢ + Index: patches/patch-buffer_buffer_1small_c =================================================================== RCS file: patches/patch-buffer_buffer_1small_c diff -N patches/patch-buffer_buffer_1small_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-buffer_buffer_1small_c 5 Feb 2021 21:36:59 -0000 @@ -0,0 +1,14 @@ +$OpenBSD$ + +Index: buffer/buffer_1small.c +--- buffer/buffer_1small.c.orig ++++ buffer/buffer_1small.c +@@ -1,7 +1,7 @@ + #include <unistd.h> + #include "buffer.h" + +-char buffer_1_space[128]; ++static char buffer_1_space[128]; + static buffer it = BUFFER_INIT(write,1,buffer_1_space,sizeof buffer_1_space); + buffer *buffer_1small = ⁢ + Index: patches/patch-io_internal_h =================================================================== RCS file: patches/patch-io_internal_h diff -N patches/patch-io_internal_h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-io_internal_h 5 Feb 2021 21:38:00 -0000 @@ -0,0 +1,14 @@ +$OpenBSD$ + +Index: io_internal.h +--- io_internal.h.orig ++++ io_internal.h +@@ -83,7 +83,7 @@ my_extern array io_pollfds; + my_extern long first_readable; + my_extern long first_writeable; + +-my_extern long first_deferred; ++extern long first_deferred; + + my_extern enum __io_waitmode { + UNDECIDED,