]> xenbits.xensource.com Git - xen.git/commitdiff
stubdom: Fix newlib build with GCC-14
authorAndrew Cooper <andrew.cooper3@citrix.com>
Tue, 29 Oct 2024 15:39:22 +0000 (16:39 +0100)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Mon, 11 Nov 2024 16:41:46 +0000 (16:41 +0000)
Based on a fix from OpenSUSE, but adjusted to be Clang-compatible too.  Pass
-Wno-implicit-function-declaration library-wide rather than using local GCC
pragmas.

Fix of copy_past_newline() to avoid triggering -Wstrict-prototypes.

Link: https://build.opensuse.org/request/show/1178775
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>
master commit: 444cb9350f2c1cc202b6b86176ddd8e57525e2d9
master date: 2024-10-03 10:07:25 +0100

stubdom/Makefile
stubdom/newlib-fix-copy_past_newline.patch [new file with mode: 0644]

index 8c5c6ad6b97e1edb05f380cedf7837d77cb3854a..08221676ffbdeed6e2253c92616fab8199959fdf 100644 (file)
@@ -97,10 +97,12 @@ newlib-$(NEWLIB_VERSION): newlib-$(NEWLIB_VERSION).tar.gz
        patch -d $@ -p1 < newlib-disable-texinfo.patch
        patch -d $@ -p1 < newlib-cygmon-gmon.patch
        patch -d $@ -p1 < newlib-makedoc.patch
+       patch -d $@ -p1 < newlib-fix-copy_past_newline.patch
        find $@ -type f | xargs perl -i.bak \
                -pe 's/\b_(tzname|daylight|timezone)\b/$$1/g'
        touch $@
 
+NEWLIB_CFLAGS += -Wno-implicit-function-declaration
 NEWLIB_STAMPFILE=$(CROSS_ROOT)/$(GNU_TARGET_ARCH)-xen-elf/lib/libc.a
 .PHONY: cross-newlib
 cross-newlib: $(NEWLIB_STAMPFILE)
diff --git a/stubdom/newlib-fix-copy_past_newline.patch b/stubdom/newlib-fix-copy_past_newline.patch
new file mode 100644 (file)
index 0000000..f845248
--- /dev/null
@@ -0,0 +1,10 @@
+--- newlib-1.16.0/newlib/doc/makedoc.c.orig
++++ newlib-1.16.0/newlib/doc/makedoc.c
+@@ -798,6 +798,7 @@ DEFUN( iscommand,(ptr, idx),
+ }
+
+
++static unsigned int
+ DEFUN(copy_past_newline,(ptr, idx, dst),
+       string_type *ptr AND
+       unsigned int idx AND