diff --git a/doc/website/release-notes/iceoryx-unreleased.md b/doc/website/release-notes/iceoryx-unreleased.md index 4a1f6bf565..f0390bba62 100644 --- a/doc/website/release-notes/iceoryx-unreleased.md +++ b/doc/website/release-notes/iceoryx-unreleased.md @@ -8,6 +8,7 @@ - The minimal supported GCC compiler is now 8.3 - The required C++ standard is now C++17 +- Experimental 32-bit support for all platforms supporting 64-bit atomic operations **Features:** @@ -1467,5 +1468,3 @@ ``` 64. The non-functional `iox::popo::Node` was removed - -65. 32-bit support is disabled by default. For development purposes iceoryx can be build with the `-DIOX_IGNORE_32_BIT_CHECK=ON` diff --git a/iceoryx_hoofs/BUILD.bazel b/iceoryx_hoofs/BUILD.bazel index 0d5f4bc5fd..aaa397e4ff 100644 --- a/iceoryx_hoofs/BUILD.bazel +++ b/iceoryx_hoofs/BUILD.bazel @@ -22,7 +22,6 @@ configure_file( src = "cmake/iceoryx_hoofs_deployment.hpp.in", out = "generated/include/iox/iceoryx_hoofs_deployment.hpp", config = { - "IOX_IGNORE_32_BIT_CHECK_FLAG": "false", "IOX_MAX_NAMED_PIPE_MESSAGE_SIZE": "4096", "IOX_MAX_NAMED_PIPE_NUMBER_OF_MESSAGES": "10", # FIXME: for values see "iceoryx_hoofs/cmake/IceoryxHoofsDeployment.cmake" ... for now some nice defaults diff --git a/iceoryx_hoofs/cmake/IceoryxHoofsDeployment.cmake b/iceoryx_hoofs/cmake/IceoryxHoofsDeployment.cmake index 67bea9cfc8..a3404300e9 100644 --- a/iceoryx_hoofs/cmake/IceoryxHoofsDeployment.cmake +++ b/iceoryx_hoofs/cmake/IceoryxHoofsDeployment.cmake @@ -31,11 +31,6 @@ configure_option( DEFAULT_VALUE 10 ) -if(IOX_IGNORE_32_BIT_CHECK) - set(IOX_IGNORE_32_BIT_CHECK_FLAG true) -else() - set(IOX_IGNORE_32_BIT_CHECK_FLAG false) -endif() message(STATUS "[i] IOX_EXPERIMENTAL_POSH_FLAG: ${IOX_EXPERIMENTAL_POSH_FLAG}") message(STATUS "[i] <<<<<<<<<<<<<< End iceoryx_hoofs configuration: >>>>>>>>>>>>>>") diff --git a/iceoryx_hoofs/cmake/iceoryx_hoofs_deployment.hpp.in b/iceoryx_hoofs/cmake/iceoryx_hoofs_deployment.hpp.in index e9e2bf5fca..218db9b65a 100644 --- a/iceoryx_hoofs/cmake/iceoryx_hoofs_deployment.hpp.in +++ b/iceoryx_hoofs/cmake/iceoryx_hoofs_deployment.hpp.in @@ -35,8 +35,6 @@ constexpr iox::log::LogLevel IOX_MINIMAL_LOG_LEVEL = iox::log::LogLevel::@IOX_MI constexpr uint64_t IOX_MAX_NAMED_PIPE_MESSAGE_SIZE = static_cast(@IOX_MAX_NAMED_PIPE_MESSAGE_SIZE@); constexpr uint32_t IOX_MAX_NAMED_PIPE_NUMBER_OF_MESSAGES = static_cast(@IOX_MAX_NAMED_PIPE_NUMBER_OF_MESSAGES@); -constexpr bool IOX_IGNORE_32_BIT_CHECK_FLAG = @IOX_IGNORE_32_BIT_CHECK_FLAG@; - } // namespace build } // namespace iox diff --git a/iceoryx_hoofs/posix/utility/include/iox/detail/system_configuration.hpp b/iceoryx_hoofs/posix/utility/include/iox/detail/system_configuration.hpp index 8ff8c99a62..6ed96be76e 100644 --- a/iceoryx_hoofs/posix/utility/include/iox/detail/system_configuration.hpp +++ b/iceoryx_hoofs/posix/utility/include/iox/detail/system_configuration.hpp @@ -32,10 +32,6 @@ uint64_t pageSize() noexcept; /// @return True if called on 32-bit, false if not 32-bit system constexpr bool isCompiledOn32BitSystem() noexcept { - static_assert(build::IOX_IGNORE_32_BIT_CHECK_FLAG || INTPTR_MAX > INT32_MAX, - "iceoryx is only supported on 64-bit systems. Using it on 32-bit will result in race conditions in " - "the lock-free constructs!"); - return INTPTR_MAX == INT32_MAX; } } // namespace detail diff --git a/iceoryx_meta/build_options.cmake b/iceoryx_meta/build_options.cmake index 63953c85c2..8986a807b0 100644 --- a/iceoryx_meta/build_options.cmake +++ b/iceoryx_meta/build_options.cmake @@ -37,7 +37,6 @@ option(TEST_WITH_ADDITIONAL_USER "Build Test with additional user accounts for t option(TEST_WITH_HUGE_PAYLOAD "Build Tests which use payload bigger than 2GB" OFF) option(TOML_CONFIG "TOML support for RouDi with dynamic configuration" ON) option(IOX_EXPERIMENTAL_POSH "Export experimental posh features (no guarantees)" OFF) -option(IOX_IGNORE_32_BIT_CHECK "Ignores the check for 32 bit systems! It is not recommended to turn this on in production systems" OFF) option(IOX_REPRODUCIBLE_BUILD "Create reproducible builds by omit setting the build timestamp in the version header" ON) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) # "Create compile_commands.json file" @@ -97,6 +96,5 @@ function(show_config_options) message(" TEST_WITH_HUGE_PAYLOAD ..............: " ${TEST_WITH_HUGE_PAYLOAD}) message(" TOML_CONFIG..........................: " ${TOML_CONFIG}) message(" IOX_EXPERIMENTAL_POSH................: " ${IOX_EXPERIMENTAL_POSH}) - message(" IOX_IGNORE_32_BIT_CHECK..............: " ${IOX_IGNORE_32_BIT_CHECK}) message(" IOX_REPRODUCIBLE_BUILD...............: " ${IOX_REPRODUCIBLE_BUILD}) endfunction() diff --git a/iceoryx_posh/source/roudi/roudi.cpp b/iceoryx_posh/source/roudi/roudi.cpp index 2289913c59..096ef0dc47 100644 --- a/iceoryx_posh/source/roudi/roudi.cpp +++ b/iceoryx_posh/source/roudi/roudi.cpp @@ -52,7 +52,7 @@ RouDi::RouDi(RouDiMemoryInterface& roudiMemoryInterface, { if (detail::isCompiledOn32BitSystem()) { - IOX_LOG(WARN, "Runnning RouDi on 32-bit architectures is not supported! Use at your own risk!"); + IOX_LOG(WARN, "Runnning RouDi on 32-bit architectures is experimental! Use at your own risk!"); } m_processIntrospection.registerPublisherPort( PublisherPortUserType(m_prcMgr->addIntrospectionPublisherPort(IntrospectionProcessService))); diff --git a/iceoryx_posh/source/runtime/posh_runtime.cpp b/iceoryx_posh/source/runtime/posh_runtime.cpp index bc84a50dfa..90970f7778 100644 --- a/iceoryx_posh/source/runtime/posh_runtime.cpp +++ b/iceoryx_posh/source/runtime/posh_runtime.cpp @@ -123,7 +123,7 @@ PoshRuntime::PoshRuntime(optional name) noexcept { if (detail::isCompiledOn32BitSystem()) { - IOX_LOG(WARN, "Running applications on 32-bit architectures is not supported! Use at your own risk!"); + IOX_LOG(WARN, "Running applications on 32-bit architectures is experimental! Use at your own risk!"); } }