From d573777550073b36bf5c9896cd09572f925f4d06 Mon Sep 17 00:00:00 2001 From: Rama Malladi <98832537+RamaMalladiAWS@users.noreply.github.com> Date: Sun, 1 Dec 2024 10:25:24 -0600 Subject: [PATCH] build: cmake: fix UNICODE-escaped characters on aarch64 (#8851) Signed-off-by: Rama Malladi --- .github/workflows/unit-tests.yaml | 2 +- CMakeLists.txt | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/unit-tests.yaml b/.github/workflows/unit-tests.yaml index abd82c05472..3d4a7564ce8 100644 --- a/.github/workflows/unit-tests.yaml +++ b/.github/workflows/unit-tests.yaml @@ -127,7 +127,7 @@ jobs: config: - name: "Aarch64 actuated testing" flb_option: "-DFLB_WITHOUT_flb-it-network=1 -DFLB_WITHOUT_flb-it-fstore=1" - omit_option: "-DFLB_WITHOUT_flb-it-utils=1 -DFLB_WITHOUT_flb-it-pack=1" + omit_option: "" global_option: "-DFLB_BACKTRACE=Off -DFLB_SHARED_LIB=Off -DFLB_DEBUG=On -DFLB_ALL=On -DFLB_EXAMPLES=Off" unit_test_option: "-DFLB_TESTS_INTERNAL=On" compiler: gcc diff --git a/CMakeLists.txt b/CMakeLists.txt index de5b5973974..08ecfb7ad94 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,6 +30,10 @@ endif() if(CMAKE_SYSTEM_NAME MATCHES "Linux") set(FLB_SYSTEM_LINUX On) add_definitions(-DFLB_SYSTEM_LINUX) + if (CMAKE_SYSTEM_PROCESSOR MATCHES "^(arm64|aarch64)") + set(FLB_LINUX_ON_AARCH64 On) + add_definitions(-DFLB_LINUX_ON_AARCH64) + endif() endif() # Update CFLAGS @@ -317,6 +321,12 @@ if (FLB_SYSTEM_LINUX) include(cmake/s390x.cmake) endif () +# Enable signed char support on Linux AARCH64 if specified +if (FLB_LINUX_ON_AARCH64) + set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsigned-char") + message(STATUS "Enabling signed char") +endif() + # Extract Git commit information for debug output. # Note that this is only set when cmake is run, the intent here is to use in CI for verification of releases so is acceptable. # For a better solution see https://jonathanhamberg.com/post/cmake-embedding-git-hash/ but this is simple and easy.