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