This is an error now Debian Trixie's gcc-14
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Anthony PERARD <anthony.perard@vates.tech>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Jan Beulich <jbeulich@suse.com>
CC: Julien Grall <julien@xen.org>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Samuel Thibault <samuel.thibault@ens-lyon.org>
CC: Juergen Gross <jgross@suse.com>
I really think we need to move onto Unikraft as a maintained base...
---
stubdom/Makefile | 1 +
stubdom/newlib-fix-etext.patch | 23 +++++++++++++++++++++++
2 files changed, 24 insertions(+)
create mode 100644 stubdom/newlib-fix-etext.patch
diff --git a/stubdom/Makefile b/stubdom/Makefile
index 666c3221dcd7..9aa0d3dee4de 100644
--- a/stubdom/Makefile
+++ b/stubdom/Makefile
@@ -94,6 +94,7 @@ newlib-$(NEWLIB_VERSION): newlib-$(NEWLIB_VERSION).tar.gz
patch -d $@ -p1 < newlib-cygmon-gmon.patch
patch -d $@ -p1 < newlib-makedoc.patch
patch -d $@ -p1 < newlib-fix-copy_past_newline.patch
+ patch -d $@ -p1 < newlib-fix-etext.patch
find $@ -type f | xargs perl -i.bak \
-pe 's/\b_(tzname|daylight|timezone)\b/$$1/g'
touch $@
diff --git a/stubdom/newlib-fix-etext.patch b/stubdom/newlib-fix-etext.patch
new file mode 100644
index 000000000000..e7bd4bb0cead
--- /dev/null
+++ b/stubdom/newlib-fix-etext.patch
@@ -0,0 +1,23 @@
+GCC-14 in Debian Trixie i386 complains:
+
+../../../../newlib-1.16.0/libgloss/i386/cygmon-gmon.c: In function '_mcount':
+../../../../newlib-1.16.0/libgloss/i386/cygmon-gmon.c:227:14: error: type defaults to 'int' in declaration of '_etext' [-Wimplicit-int]
+ 227 | extern _etext();
+ | ^~~~~~
+../../../../newlib-1.16.0/libgloss/i386/cygmon-gmon.c:228:14: error: type defaults to 'int' in declaration of '_ftext' [-Wimplicit-int]
+ 228 | extern _ftext();
+ | ^~~~~~
+
+--- newlib-1.16.0/libgloss/i386/cygmon-gmon.c.orig 2025-08-09 22:48:09.864068481 +0100
++++ newlib-1.16.0/libgloss/i386/cygmon-gmon.c 2025-08-09 22:52:18.458393484 +0100
+@@ -224,8 +224,8 @@
+
+ if (! already_setup)
+ {
+- extern _etext();
+- extern _ftext();
++ extern char _etext[];
++ extern char _ftext[];
+ already_setup = 1;
+ monstartup(_ftext, _etext);
+ atexit(_mcleanup);
--
2.39.5