From 5cf4e2bbd53bb1a4611446a173eac18eefa4a938 Mon Sep 17 00:00:00 2001 From: Reshma V Kumar Date: Thu, 25 Sep 2025 07:32:38 -0500 Subject: [PATCH 1/3] Disable the use of getloadavg, my_fpe, feenableexcept and -rdynamic in AIX --- cli/processexecutor.cpp | 2 +- test/signal/CMakeLists.txt | 12 ++++++++++-- test/signal/test-signalhandler.cpp | 4 ++-- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/cli/processexecutor.cpp b/cli/processexecutor.cpp index b839e179750..ac632bd1da4 100644 --- a/cli/processexecutor.cpp +++ b/cli/processexecutor.cpp @@ -276,7 +276,7 @@ bool ProcessExecutor::handleRead(int rpipe, unsigned int &result, const std::str bool ProcessExecutor::checkLoadAverage(size_t nchildren) { -#if defined(__QNX__) || defined(__HAIKU__) // getloadavg() is unsupported on Qnx, Haiku. +#if defined(__QNX__) || defined(__HAIKU__) || defined(_AIX)// getloadavg() is unsupported on Qnx, Haiku, AIX. (void)nchildren; return true; #else diff --git a/test/signal/CMakeLists.txt b/test/signal/CMakeLists.txt index 65fea741d82..ae5ed6a508e 100644 --- a/test/signal/CMakeLists.txt +++ b/test/signal/CMakeLists.txt @@ -8,7 +8,11 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang" target_compile_options_safe(test-signalhandler -Wno-missing-declarations) target_compile_options_safe(test-signalhandler -Wno-missing-prototypes) # required for backtrace() to produce function names - target_link_options(test-signalhandler PRIVATE -rdynamic) + if(CMAKE_SYSTEM_NAME MATCHES AIX) + target_link_options(test-signalhandler PRIVATE) + else() + target_link_options(test-signalhandler PRIVATE -rdynamic) + endif() endif() add_executable(test-stacktrace @@ -20,5 +24,9 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang" target_compile_options_safe(test-stacktrace -Wno-missing-declarations) target_compile_options_safe(test-stacktrace -Wno-missing-prototypes) # required for backtrace() to produce function names - target_link_options(test-stacktrace PRIVATE -rdynamic) + if(CMAKE_SYSTEM_NAME MATCHES AIX) + target_link_options(test-signalhandler PRIVATE) + else() + target_link_options(test-stacktrace PRIVATE -rdynamic) + endif() endif() diff --git a/test/signal/test-signalhandler.cpp b/test/signal/test-signalhandler.cpp index 31634f15640..153ec95f245 100644 --- a/test/signal/test-signalhandler.cpp +++ b/test/signal/test-signalhandler.cpp @@ -54,7 +54,7 @@ ++*static_cast(nullptr); // NOLINT(clang-analyzer-core.NullDereference) } -#if !defined(__APPLE__) +#if !defined(__APPLE__) && !defined(_AIX) /*static*/ int my_fpe() // NOLINT(misc-use-internal-linkage) { if (feenableexcept(FE_ALL_EXCEPT) == -1) @@ -80,7 +80,7 @@ int main(int argc, const char * const argv[]) my_abort(); else if (strcmp(argv[1], "segv") == 0) my_segv(); -#if !defined(__APPLE__) +#if !defined(__APPLE__) && !defined(_AIX) else if (strcmp(argv[1], "fpe") == 0) return my_fpe(); #endif From 218144e84e55bd0cb0f874711bcaa5d54bc06277 Mon Sep 17 00:00:00 2001 From: Reshma V Kumar Date: Tue, 7 Oct 2025 20:00:02 -0500 Subject: [PATCH 2/3] Remove extra spaces and invert the if condition to check whether the OS is AIX --- cli/processexecutor.cpp | 2 +- test/signal/CMakeLists.txt | 8 ++------ 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/cli/processexecutor.cpp b/cli/processexecutor.cpp index ac632bd1da4..8d25bf3803c 100644 --- a/cli/processexecutor.cpp +++ b/cli/processexecutor.cpp @@ -276,7 +276,7 @@ bool ProcessExecutor::handleRead(int rpipe, unsigned int &result, const std::str bool ProcessExecutor::checkLoadAverage(size_t nchildren) { -#if defined(__QNX__) || defined(__HAIKU__) || defined(_AIX)// getloadavg() is unsupported on Qnx, Haiku, AIX. +#if defined(__QNX__) || defined(__HAIKU__) || defined(_AIX) // getloadavg() is unsupported on Qnx, Haiku, AIX. (void)nchildren; return true; #else diff --git a/test/signal/CMakeLists.txt b/test/signal/CMakeLists.txt index ae5ed6a508e..0bd186fff20 100644 --- a/test/signal/CMakeLists.txt +++ b/test/signal/CMakeLists.txt @@ -8,9 +8,7 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang" target_compile_options_safe(test-signalhandler -Wno-missing-declarations) target_compile_options_safe(test-signalhandler -Wno-missing-prototypes) # required for backtrace() to produce function names - if(CMAKE_SYSTEM_NAME MATCHES AIX) - target_link_options(test-signalhandler PRIVATE) - else() + if(NOT CMAKE_SYSTEM_NAME MATCHES AIX) target_link_options(test-signalhandler PRIVATE -rdynamic) endif() endif() @@ -24,9 +22,7 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang" target_compile_options_safe(test-stacktrace -Wno-missing-declarations) target_compile_options_safe(test-stacktrace -Wno-missing-prototypes) # required for backtrace() to produce function names - if(CMAKE_SYSTEM_NAME MATCHES AIX) - target_link_options(test-signalhandler PRIVATE) - else() + if(NOT CMAKE_SYSTEM_NAME MATCHES AIX) target_link_options(test-stacktrace PRIVATE -rdynamic) endif() endif() From bdf1fffef2bdb0b4a91bfba3746a40a2046f00fd Mon Sep 17 00:00:00 2001 From: Reshma V Kumar Date: Wed, 8 Oct 2025 03:45:15 -0500 Subject: [PATCH 3/3] Add contributor name to AUTHORS --- AUTHORS | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS b/AUTHORS index 6c72fe81730..687d02541a0 100644 --- a/AUTHORS +++ b/AUTHORS @@ -326,6 +326,7 @@ Ramzan Bekbulatov Raphael Geissert Razvan Ioan Alexe Reijo Tomperi +Reshma V Kumar Rainer Wiesenfarth Riccardo Ghetta Richard A. Smith