Control: tags -1 patch
--

On Wed, Jul 03, 2024 at 12:47:54PM +0000, Matthias Klose wrote:
> Package: src:wcc
> Version: 0.0.2+dfsg-4.4
> Severity: important
> Tags: sid trixie
> User: debian-...@lists.debian.org
> Usertags: ftbfs-gcc-14
> 
> [This bug is targeted to the upcoming trixie release]
> 
> Please keep this issue open in the bug tracker for the package it
> was filed for.  If a fix in another package is required, please
> file a bug for the other package (or clone), and add a block in this
> package. Please keep the issue open until the package can be built in
> a follow-up test rebuild.
> 
> The package fails to build in a test rebuild on at least amd64 with
> gcc-14/g++-14, but succeeds to build with gcc-13/g++-13. The
> severity of this report will be raised before the trixie release.

The attached patch will fix the build with gcc-14. I have not done a NMU
as there is another RC bug on this package.

-- 
Regards
Sudip
diff -Nru wcc-0.0.2+dfsg/debian/changelog wcc-0.0.2+dfsg/debian/changelog
--- wcc-0.0.2+dfsg/debian/changelog     2023-02-14 10:11:01.000000000 +0000
+++ wcc-0.0.2+dfsg/debian/changelog     2024-12-31 18:25:13.000000000 +0000
@@ -1,3 +1,10 @@
+wcc (0.0.2+dfsg-4.5) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix FTBFS with gcc-14. (Closes: #1075634)
+
+ -- Sudip Mukherjee <sudipm.mukher...@gmail.com>  Tue, 31 Dec 2024 18:25:13 
+0000
+
 wcc (0.0.2+dfsg-4.4) unstable; urgency=medium
 
   * Non-maintainer upload
diff -Nru wcc-0.0.2+dfsg/debian/patches/gcc-14_ftbfs.patch 
wcc-0.0.2+dfsg/debian/patches/gcc-14_ftbfs.patch
--- wcc-0.0.2+dfsg/debian/patches/gcc-14_ftbfs.patch    1970-01-01 
01:00:00.000000000 +0100
+++ wcc-0.0.2+dfsg/debian/patches/gcc-14_ftbfs.patch    2024-12-31 
18:25:13.000000000 +0000
@@ -0,0 +1,99 @@
+Description: Fix build with gcc-14
+
+Author: Sudip Mukherjee <sudipm.mukher...@gmail.com>
+Bug-Debian: https://bugs.debian.org/1075634
+Forwarded: https://github.com/endrazine/wcc/pull/47
+Last-Update: 2024-12-31
+---
+
+--- wcc-0.0.2+dfsg.orig/src/wsh/wsh.c
++++ wcc-0.0.2+dfsg/src/wsh/wsh.c
+@@ -35,6 +35,7 @@
+ #include <libwitch/sigs.h>
+ #include <uthash.h>
+ #include <libgen.h>   // For basename()
++#include <sys/sendfile.h> // For sendfile()
+ 
+ // address sanitizer macro : disable a function by prepending 
ATTRIBUTE_NO_SANITIZE_ADDRESS to its definition
+ #if defined(__clang__) || defined (__GNUC__)
+@@ -4980,6 +4981,39 @@ int wsh_loadlibs(void)
+ }
+ 
+ /**
++* Print software version
++*/
++int wsh_print_version(void)
++{
++      printf("%s version:%s    (%s %s)\n", WNAME, WVERSION, WTIME, WDATE);
++      return 0;
++}
++
++/**
++* Print usage
++*/
++int wsh_usage(char *name)
++{
++      printf("Usage: %s [script] [-h|-q|-v|-V] [binary1] [binary2] ... [-x 
[script_arg1] [script_arg2] ...]\n", name);
++      printf("\n");
++      printf("Options:\n\n");
++      printf("    -x, --args                Optional script argument 
separator\n");
++      printf("    -q, --quiet               Display less output\n");
++      printf("    -v, --verbose             Display more output\n");
++      printf("    -V, --version             Display version and build, then 
exit\n");
++      printf("\n");
++      printf("Script:\n\n");
++      printf("    If the first argument is an existing file which is not a 
known binary file format,\n");
++      printf("    it is assumed to be a lua script and gets executed.\n");
++      printf("\n");
++      printf("Binaries:\n\n");
++      printf("    Any binary file name before the -x tag gets loaded before 
running the script.\n");
++      printf("    The last binary loaded is the main binary analyzed.\n");
++      printf("\n");
++      return 0;
++}
++
++/**
+ * Parse command line
+ */
+ int wsh_getopt(int argc, char **argv)
+@@ -5078,40 +5112,6 @@ nomoreargs:
+       return 0;
+ }
+ 
+-/**
+-* Print software version
+-*/
+-int wsh_print_version(void)
+-{
+-      printf("%s version:%s    (%s %s)\n", WNAME, WVERSION, WTIME, WDATE);
+-      return 0;
+-}
+-
+-/**
+-* Print usage
+-*/
+-int wsh_usage(char *name)
+-{
+-      printf("Usage: %s [script] [-h|-q|-v|-V] [binary1] [binary2] ... [-x 
[script_arg1] [script_arg2] ...]\n", name);
+-      printf("\n");
+-      printf("Options:\n\n");
+-      printf("    -x, --args                Optional script argument 
separator\n");
+-      printf("    -q, --quiet               Display less output\n");
+-      printf("    -v, --verbose             Display more output\n");
+-      printf("    -V, --version             Display version and build, then 
exit\n");
+-      printf("\n");
+-      printf("Script:\n\n");
+-      printf("    If the first argument is an existing file which is not a 
known binary file format,\n");
+-      printf("    it is assumed to be a lua script and gets executed.\n");
+-      printf("\n");
+-      printf("Binaries:\n\n");
+-      printf("    Any binary file name before the -x tag gets loaded before 
running the script.\n");
+-      printf("    The last binary loaded is the main binary analyzed.\n");
+-      printf("\n");
+-      return 0;
+-}
+-
+-
+ int teletype(lua_State * L)
+ {
+       char *str = 0;
diff -Nru wcc-0.0.2+dfsg/debian/patches/series 
wcc-0.0.2+dfsg/debian/patches/series
--- wcc-0.0.2+dfsg/debian/patches/series        2020-03-21 17:02:12.000000000 
+0000
+++ wcc-0.0.2+dfsg/debian/patches/series        2024-12-31 18:25:13.000000000 
+0000
@@ -10,3 +10,4 @@
 spelling_in_src.patch
 latex_build.patch
 glibc.patch
+gcc-14_ftbfs.patch

Reply via email to