This is an error now Debian Trixie's gcc-14
Signed-off-by: Andrew Cooper <[email protected]>
---
CC: Anthony PERARD <[email protected]>
CC: Michal Orzel <[email protected]>
CC: Jan Beulich <[email protected]>
CC: Julien Grall <[email protected]>
CC: Roger Pau Monné <[email protected]>
CC: Stefano Stabellini <[email protected]>
CC: Samuel Thibault <[email protected]>
CC: Juergen Gross <[email protected]>
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