mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-09-27 12:30:34 -09:00
Fixes: https://autobuild.buildroot.net/results/dbd/dbdb4f386a417f7467b66036e661e77d04b82431/ https://autobuild.buildroot.net/results/042/042185a8d32765a52986cc0060d3d296a24c662b/ https://autobuild.buildroot.net/results/fc5/fc5be5e78852f6f66cd631f12a02ac10eb846e97/ The build error can be reproduced by this gcc 15-based defconfig: BR2_x86_64=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_MUSL_BLEEDING_EDGE=y BR2_PACKAGE_LIBCDIO_PARANOIA=y while this gcc 14-based defconfig builds without errors: BR2_x86_64=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_MUSL_STABLE=y BR2_PACKAGE_LIBCDIO_PARANOIA=y Signed-off-by: Bernd Kuhls <bernd@kuhls.net> Signed-off-by: Julien Olivain <ju.o@free.fr>
66 lines
2.2 KiB
Diff
66 lines
2.2 KiB
Diff
From c12e48edc5660c70509142349f4020d3f9e36218 Mon Sep 17 00:00:00 2001
|
|
From: "R. Bernstein" <rocky@gnu.org>
|
|
Date: Wed, 1 Oct 2025 15:32:52 -0400
|
|
Subject: [PATCH] Remove a GCC-15 error on getopt.c
|
|
|
|
Fixes Issue #54
|
|
|
|
Upstream: https://github.com/libcdio/libcdio-paranoia/commit/c12e48edc5660c70509142349f4020d3f9e36218
|
|
|
|
[Bernd: backported to 10.2+2.0.1]
|
|
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
|
|
---
|
|
src/getopt.c | 4 ++--
|
|
src/getopt.h | 11 +++++++++--
|
|
2 files changed, 11 insertions(+), 4 deletions(-)
|
|
|
|
diff --git a/src/getopt.c b/src/getopt.c
|
|
index e51c35b..dce7144 100644
|
|
--- a/src/getopt.c
|
|
+++ b/src/getopt.c
|
|
@@ -2,7 +2,7 @@
|
|
NOTE: getopt is part of the C library, so if you don't know what
|
|
"Keep this file name-space clean" means, talk to drepper@gnu.org
|
|
before changing it!
|
|
- Copyright (C) 1987-2014 Free Software Foundation, Inc.
|
|
+ Copyright (C) 1987-2015 Free Software Foundation, Inc.
|
|
This file is part of the GNU C Library.
|
|
|
|
The GNU C Library is free software; you can redistribute it and/or
|
|
@@ -145,7 +145,7 @@ static struct _getopt_data getopt_data;
|
|
whose names are inconsistent. */
|
|
|
|
#ifndef getenv
|
|
-extern char *getenv ();
|
|
+extern char *getenv (const char *);
|
|
#endif
|
|
|
|
#endif /* not __GNU_LIBRARY__ */
|
|
diff --git a/src/getopt.h b/src/getopt.h
|
|
index 7cc9167..0a6c1b3 100644
|
|
--- a/src/getopt.h
|
|
+++ b/src/getopt.h
|
|
@@ -1,5 +1,5 @@
|
|
/* Declarations for getopt.
|
|
- Copyright (C) 1989-2014 Free Software Foundation, Inc.
|
|
+ Copyright (C) 1989-2015 Free Software Foundation, Inc.
|
|
This file is part of the GNU C Library.
|
|
|
|
The GNU C Library is free software; you can redistribute it and/or
|
|
@@ -141,7 +141,14 @@ struct option {
|
|
arguments to the option '\0'. This behavior is specific to the GNU
|
|
`getopt'. */
|
|
|
|
-#ifdef __GNU_LIBRARY__
|
|
+/* Check for musl C library (<bits/alltypes.h> is musl specific). */
|
|
+#if !defined __GLIBC__ && __has_include(<bits/alltypes.h>)
|
|
+# ifndef __MUSL__
|
|
+# define __MUSL__ 1
|
|
+# endif
|
|
+#endif
|
|
+
|
|
+#if defined __GLIBC__ || defined __MUSL__
|
|
/* Many other libraries have conflicting prototypes for getopt, with
|
|
differences in the consts, in stdlib.h. To avoid compilation
|
|
errors, only prototype getopt for the GNU C library. */
|