diff options
author | Robert Griebl <robert.griebl@qt.io> | 2021-11-30 14:40:23 +0100 |
---|---|---|
committer | Robert Griebl <robert.griebl@qt.io> | 2021-11-30 20:53:31 +0100 |
commit | 65ddbe72001cc9e5a49b54d821eafd352c25ee92 (patch) | |
tree | f2cf2720cfba2e8a74022bb695890740bbde5c8e | |
parent | 1901a9d4685d1e628402566adcd348a71c5739a7 (diff) |
Fix glibc compatibility problem
glibc 2.32 deprecated sys_siglist: the symbol is not available to link
against anymore, but it is available at runtime for apps that have been
linked against an older glibc version.
Our problem is now that the CI builds release version of the AM against
an older glibc, which works for the appman binary itself, but if you
want to compile a custom appman executable on a modern, glibc 2.32
based system, you get a "missing symbol" linker error in
libQt6AppManCommon.a(unixsignalhandler.cpp.o)
Detecting this at runtime would be a nightmare for little gain, so we
fall back to using the non-async-signal-safe strsignal() function
when initially building against a glibc < 2.32.
Change-Id: I1e702c5ee00e2725fe6f76f9ce001c099ec72eea
Pick-to: 6.2 5.15
Fixes: AUTOSUITE-1667
Reviewed-by: Dominik Holland <dominik.holland@qt.io>
-rw-r--r-- | src/common-lib/unixsignalhandler.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/common-lib/unixsignalhandler.cpp b/src/common-lib/unixsignalhandler.cpp index 3878dddf..8777cd4e 100644 --- a/src/common-lib/unixsignalhandler.cpp +++ b/src/common-lib/unixsignalhandler.cpp @@ -92,7 +92,7 @@ const char *UnixSignalHandler::signalName(int sig) #if __GLIBC__ >= 2 && __GLIBC_MINOR__ >= 32 return sigdescr_np(sig); #else - return sys_siglist[sig]; + return strsignal(sig); // not async-signal-safe #endif #else Q_UNUSED(sig) |