From: Mark Wielaard Date: Mon, 6 Feb 2023 09:21:58 +0000 (+0100) Subject: debuginfod: Make sure there is only one typedef for debuginfod_client X-Git-Tag: elfutils-0.189~32 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=45576ab5f24cd39669a418fa8e005b4d04f8e9ca;p=thirdparty%2Felfutils.git debuginfod: Make sure there is only one typedef for debuginfod_client Both debuginfod.h and libdwfl.h have a simple typedef for struct debuginfod_client. Some compilers pedantically warn when including both headers that such typedefs are only officially supported in C11. So guard them with _ELFUTILS_DEBUGINFOD_CLIENT_TYPEDEF to make them happy. https://sourceware.org/bugzilla/show_bug.cgi?id=30077 Signed-off-by: Mark Wielaard --- diff --git a/debuginfod/ChangeLog b/debuginfod/ChangeLog index fc44e0396..fe368c486 100644 --- a/debuginfod/ChangeLog +++ b/debuginfod/ChangeLog @@ -1,3 +1,8 @@ +2023-02-06 Mark Wielaard + + * debuginfod.h.in: Guard debuginfod_client typedef with + _ELFUTILS_DEBUGINFOD_CLIENT_TYPEDEF. + 2023-01-10 Mark Wielaard * debuginfod-client.c (debuginfod_query_server): Use diff --git a/debuginfod/debuginfod.h.in b/debuginfod/debuginfod.h.in index 69c9efd2c..4a256ba9a 100644 --- a/debuginfod/debuginfod.h.in +++ b/debuginfod/debuginfod.h.in @@ -44,7 +44,10 @@ #define DEBUGINFOD_SONAME "@LIBDEBUGINFOD_SONAME@" /* Handle for debuginfod-client connection. */ +#ifndef _ELFUTILS_DEBUGINFOD_CLIENT_TYPEDEF typedef struct debuginfod_client debuginfod_client; +#define _ELFUTILS_DEBUGINFOD_CLIENT_TYPEDEF 1 +#endif #ifdef __cplusplus extern "C" { diff --git a/libdwfl/ChangeLog b/libdwfl/ChangeLog index 9cd2f03ca..daef28285 100644 --- a/libdwfl/ChangeLog +++ b/libdwfl/ChangeLog @@ -1,3 +1,8 @@ +2023-02-06 Mark Wielaard + + * libdwfl.h: Guard debuginfod_client typedef with + _ELFUTILS_DEBUGINFOD_CLIENT_TYPEDEF. + 2022-12-21 Mark Wielaard * core-file.c: Don't undef _. diff --git a/libdwfl/libdwfl.h b/libdwfl/libdwfl.h index 9114f7f05..49ad66648 100644 --- a/libdwfl/libdwfl.h +++ b/libdwfl/libdwfl.h @@ -50,7 +50,10 @@ typedef struct Dwfl_Thread Dwfl_Thread; typedef struct Dwfl_Frame Dwfl_Frame; /* Handle for debuginfod-client connection. */ +#ifndef _ELFUTILS_DEBUGINFOD_CLIENT_TYPEDEF typedef struct debuginfod_client debuginfod_client; +#define _ELFUTILS_DEBUGINFOD_CLIENT_TYPEDEF 1 +#endif /* Callbacks. */ typedef struct