Source: flex
Version: 2.6.4-8.2
Severity: important
Justification: regresses architecture cross bootstrap
User: debian-cr...@lists.debian.org
Usertags: ftcbfs

flex fails to cross build from source with gcc-15. During a cross build,
the file lib/malloc.c is compiled. This does not happen during native
builds, which is why native builds are unaffected. In any case, this
file declares

    void *malloc();

and while gcc <= 14 interpret this as the arguments being unknown,
gcc >= 15 understands this as no arguments. Now when rpl_malloc calls
malloc(n), gcc >= 15 is very unhappy as it only expected 0 arguments.

This function is never used during builds on and for glibc, but it still
makes the build fail. I propose declaring the correct function
prototype.

Helmut
--- flex-2.6.4.orig/lib/malloc.c
+++ flex-2.6.4/lib/malloc.c
@@ -3,7 +3,7 @@
      
      #include <sys/types.h>
      
-     void *malloc ();
+     void *malloc (size_t);
      
      /* Allocate an N-byte block of memory from the heap.
         If N is zero, allocate a 1-byte block.  */

Reply via email to