mirror of
https://git.busybox.net/buildroot.git
synced 2024-11-27 07:23:30 +08:00
package/zip: fix build with GCC 14
Builds with GCC 14 print the following error > zip.h:726:10: error: conflicting types for 'memset'; have 'char *(char *, int, unsigned int)' This is because with GCC 14, Zip incorrectly detects that the memset functions exist. Which enables the ZMEM flag and declares its own version of memset. This is because the ./unix/configure script attempts to compile a C file using 'memset' but it does not include the <string.h>. This was allowed in gnu89, but in GCC 14 -Werror=implicit-function-declaration is enabled by default[1]. We forcefully set '-std=gnu89' so that Zip will compile everything against gnu89, which suppresses the warning. [1] https://gcc.gnu.org/gcc-14/porting_to.html#warnings-as-errors Signed-off-by: Brandon Maier <brandon.maier@collins.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
parent
23ef540288
commit
29c6fe13d3
@ -31,7 +31,7 @@ ZIP_TARGET_CFLAGS = \
|
||||
define ZIP_BUILD_CMDS
|
||||
$(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) \
|
||||
CFLAGS="$(ZIP_TARGET_CFLAGS) $(ZIP_CFLAGS)" \
|
||||
AS="$(TARGET_CC) -c" \
|
||||
CC="$(TARGET_CC) -std=gnu89" AS="$(TARGET_CC) -c" \
|
||||
-f unix/Makefile generic
|
||||
endef
|
||||
|
||||
@ -43,7 +43,7 @@ endef
|
||||
define HOST_ZIP_BUILD_CMDS
|
||||
$(HOST_MAKE_ENV) $(MAKE) $(HOST_CONFIGURE_OPTS) -C $(@D) \
|
||||
CFLAGS="$(HOST_CFLAGS) $(ZIP_CFLAGS)" \
|
||||
AS="$(HOSTCC) -c" \
|
||||
CC="$(HOSTCC) -std=gnu89" AS="$(HOSTCC) -c" \
|
||||
-f unix/Makefile generic
|
||||
endef
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user