Even more so than the micro-controller toolchains that I already
touched, this port feels massively outdated and should probably be
replaced by some newer version. That, however, is a substantial
undertaking and needs to be done by somebody who can verify that
the result actually works.
So here are the fixes required to build this with -fno-common,
straight from the GNU binutils history. (So easy to find with
tog after cloning a local copy of the Git repo... I digress.)
Do we want this? Should the port be deleted instead?
Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/mingw/Makefile,v
retrieving revision 1.22
diff -u -p -r1.22 Makefile
--- Makefile 14 May 2020 15:30:46 -0000 1.22
+++ Makefile 16 Feb 2021 23:09:56 -0000
@@ -3,14 +3,12 @@
COMMENT = development environment for native Windows applications
V = 1.0.1
-REVISION = 9
+REVISION = 10
BASENAME = x86-mingw32-build
DISTNAME = ${BASENAME}-${V}-sh
PKGNAME = mingw-${V}
WRKDIST = ${WRKDIR}/${BASENAME}-${V}
CATEGORIES = devel
-
-HOMEPAGE = http://www.mingw.org/
MAINTAINER = Paul Irofti <[email protected]>
Index: patches/patch_binutils-2.20.1-binutils_dwarf_h
===================================================================
RCS file: patches/patch_binutils-2.20.1-binutils_dwarf_h
diff -N patches/patch_binutils-2.20.1-binutils_dwarf_h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch_binutils-2.20.1-binutils_dwarf_h 16 Feb 2021 23:09:56
-0000
@@ -0,0 +1,15 @@
+$OpenBSD$
+
+Fix for -fno-common, from GNU upstream.
+https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=c34f4fc672e56b1bcd89a108e2b799437ce2241a
+
+--- binutils-2.20.1/binutils/dwarf.h.orig
++++ binutils-2.20.1/binutils/dwarf.h
+@@ -111,6 +111,7 @@ extern int do_debug_frames_interp;
+ extern int do_debug_macinfo;
+ extern int do_debug_str;
+ extern int do_debug_loc;
++extern int do_wide;
+
+ extern void init_dwarf_regnames (unsigned int);
+
Index: patches/patch_binutils-2.20.1-binutils_readelf_c
===================================================================
RCS file: patches/patch_binutils-2.20.1-binutils_readelf_c
diff -N patches/patch_binutils-2.20.1-binutils_readelf_c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch_binutils-2.20.1-binutils_readelf_c 16 Feb 2021 23:09:56
-0000
@@ -0,0 +1,15 @@
+$OpenBSD$
+
+Fix for -fno-common, from GNU upstream.
+https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=c34f4fc672e56b1bcd89a108e2b799437ce2241a
+
+--- binutils-2.20.1/binutils/readelf.c.orig
++++ binutils-2.20.1/binutils/readelf.c
+@@ -149,7 +149,6 @@
+ #include "filenames.h"
+
+ char * program_name = "readelf";
+-int do_wide;
+ static long archive_file_offset;
+ static unsigned long archive_file_size;
+ static unsigned long dynamic_addr;
Index: patches/patch_binutils-2.20.1-gprof_hist_c
===================================================================
RCS file: patches/patch_binutils-2.20.1-gprof_hist_c
diff -N patches/patch_binutils-2.20.1-gprof_hist_c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch_binutils-2.20.1-gprof_hist_c 16 Feb 2021 23:09:56 -0000
@@ -0,0 +1,16 @@
+$OpenBSD$
+
+Fix for -fno-common, from GNU upstream.
+https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=c34f4fc672e56b1bcd89a108e2b799437ce2241a
+
+--- binutils-2.20.1/gprof/hist.c.orig
++++ binutils-2.20.1/gprof/hist.c
+@@ -48,6 +48,8 @@
+ static histogram *find_histogram (bfd_vma lowpc, bfd_vma highpc);
+ static histogram *find_histogram_for_pc (bfd_vma pc);
+
++histogram * histograms;
++unsigned num_histograms;
+ double hist_scale;
+ static char hist_dimension[16] = "seconds";
+ static char hist_dimension_abbrev = 's';
Index: patches/patch_binutils-2.20.1-gprof_hist_h
===================================================================
RCS file: patches/patch_binutils-2.20.1-gprof_hist_h
diff -N patches/patch_binutils-2.20.1-gprof_hist_h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch_binutils-2.20.1-gprof_hist_h 16 Feb 2021 23:09:56 -0000
@@ -0,0 +1,18 @@
+$OpenBSD$
+
+Fix for -fno-common, from GNU upstream.
+https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=c34f4fc672e56b1bcd89a108e2b799437ce2241a
+
+--- binutils-2.20.1/gprof/hist.h.orig
++++ binutils-2.20.1/gprof/hist.h
+@@ -30,8 +30,8 @@
+ int *sample; /* Histogram samples (shorts in the file!). */
+ } histogram;
+
+-histogram *histograms;
+-unsigned num_histograms;
++extern histogram *histograms;
++extern unsigned num_histograms;
+
+ /* Scale factor converting samples to pc values:
+ each sample covers HIST_SCALE bytes. */
--
Christian "naddy" Weisgerber [email protected]