From 6801b04a90dfe9c833f356f58fe4ceb2ad1f145d Mon Sep 17 00:00:00 2001 From: Aarav Gupta Date: Tue, 28 Apr 2026 11:47:57 +0530 Subject: [PATCH 1/2] Remove atomic patch (#329) Co-authored-by: Narukara (cherry picked from commit a5bf105038b84a399467172d7e5a444130150617) # Conflicts: # libmicroros.mk --- colcon.meta | 2 +- libmicroros.mk | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/colcon.meta b/colcon.meta index 592f1195..0b759b9b 100644 --- a/colcon.meta +++ b/colcon.meta @@ -18,7 +18,7 @@ "-DENABLE_TESTING=OFF", "-DRCUTILS_NO_FILESYSTEM=ON", "-DRCUTILS_NO_THREAD_SUPPORT=ON", - "-DRCUTILS_NO_64_ATOMIC=ON", + "-DRCUTILS_NO_64_ATOMIC=OFF", "-DRCUTILS_AVOID_DYNAMIC_ALLOCATION=ON" ] }, diff --git a/libmicroros.mk b/libmicroros.mk index 010b519b..c826a903 100644 --- a/libmicroros.mk +++ b/libmicroros.mk @@ -105,6 +105,7 @@ $(EXTENSIONS_DIR)/micro_ros_src/install: $(EXTENSIONS_DIR)/esp32_toolchain.cmake -DCMAKE_C_STANDARD=$(C_STANDARD) \ -DUCLIENT_C_STANDARD=$(C_STANDARD); +<<<<<<< HEAD patch_atomic:$(EXTENSIONS_DIR)/micro_ros_src/install # Workaround https://github.com/micro-ROS/micro_ros_espidf_component/issues/18 ifeq ($(IDF_TARGET),$(filter $(IDF_TARGET),esp32s2 esp32c3 esp32c6)) @@ -149,6 +150,9 @@ ifeq ($(IDF_TARGET),$(filter $(IDF_TARGET),esp32s3 esp32p4 esp32)) endif $(EXTENSIONS_DIR)/libmicroros.a: $(EXTENSIONS_DIR)/micro_ros_src/install patch_atomic +======= +$(EXTENSIONS_DIR)/libmicroros.a: $(EXTENSIONS_DIR)/micro_ros_src/install +>>>>>>> a5bf105 (Remove atomic patch (#329)) mkdir -p $(UROS_DIR)/libmicroros; cd $(UROS_DIR)/libmicroros; \ for file in $$(find $(UROS_DIR)/install/lib/ -name '*.a'); do \ folder=$$(echo $$file | sed -E "s/(.+)\/(.+).a/\2/"); \ From 76306696311700a189a61ccb2a996e898982d176 Mon Sep 17 00:00:00 2001 From: Narukara Date: Wed, 29 Apr 2026 18:24:21 +0800 Subject: [PATCH 2/2] Remove atomic patch --- libmicroros.mk | 47 ----------------------------------------------- 1 file changed, 47 deletions(-) diff --git a/libmicroros.mk b/libmicroros.mk index c826a903..0f0507f7 100644 --- a/libmicroros.mk +++ b/libmicroros.mk @@ -105,54 +105,7 @@ $(EXTENSIONS_DIR)/micro_ros_src/install: $(EXTENSIONS_DIR)/esp32_toolchain.cmake -DCMAKE_C_STANDARD=$(C_STANDARD) \ -DUCLIENT_C_STANDARD=$(C_STANDARD); -<<<<<<< HEAD -patch_atomic:$(EXTENSIONS_DIR)/micro_ros_src/install -# Workaround https://github.com/micro-ROS/micro_ros_espidf_component/issues/18 -ifeq ($(IDF_TARGET),$(filter $(IDF_TARGET),esp32s2 esp32c3 esp32c6)) - echo $(UROS_DIR)/atomic_workaround; \ - mkdir $(UROS_DIR)/atomic_workaround; cd $(UROS_DIR)/atomic_workaround; \ - $(X_AR) x $(UROS_DIR)/install/lib/librcutils.a; \ - $(X_STRIP) atomic_64bits.c.obj --strip-symbol=__atomic_fetch_add_8; \ - if [ $(IDF_VERSION_MAJOR) -ge 4 ] && [ $(IDF_VERSION_MINOR) -ge 3 ]; then \ - $(X_STRIP) atomic_64bits.c.obj --strip-symbol=__atomic_load_8; \ - $(X_STRIP) atomic_64bits.c.obj --strip-symbol=__atomic_store_8; \ - $(X_STRIP) atomic_64bits.c.obj --strip-symbol=__atomic_exchange_8; \ - fi; \ - if [ $(IDF_VERSION_MAJOR) -ge 4 ] && [ $(IDF_VERSION_MINOR) -ge 4 ]; then \ - $(X_STRIP) atomic_64bits.c.obj --strip-symbol=__atomic_load_8; \ - $(X_STRIP) atomic_64bits.c.obj --strip-symbol=__atomic_store_8; \ - fi; \ - if [ $(IDF_VERSION_MAJOR) -ge 5 ] && [ $(IDF_VERSION_MINOR) -ge 0 ]; then \ - $(X_STRIP) atomic_64bits.c.obj --strip-symbol=__atomic_load_8; \ - $(X_STRIP) atomic_64bits.c.obj --strip-symbol=__atomic_store_8; \ - $(X_STRIP) atomic_64bits.c.obj --strip-symbol=__atomic_exchange_8; \ - fi; \ - $(X_AR) rc -s librcutils.a *.obj; \ - cp -rf librcutils.a $(UROS_DIR)/install/lib/librcutils.a; \ - cd ..; \ - rm -rf $(UROS_DIR)/atomic_workaround; -endif -# ESP32-S3, ESP32-P4, ESP32: only need workaround in IDF 5.5 -ifeq ($(IDF_TARGET),$(filter $(IDF_TARGET),esp32s3 esp32p4 esp32)) - @if [ $(IDF_VERSION_MAJOR) -eq 5 ] && [ $(IDF_VERSION_MINOR) -eq 5 ]; then \ - echo $(UROS_DIR)/atomic_workaround; \ - mkdir $(UROS_DIR)/atomic_workaround; cd $(UROS_DIR)/atomic_workaround; \ - $(X_AR) x $(UROS_DIR)/install/lib/librcutils.a; \ - $(X_STRIP) atomic_64bits.c.obj --strip-symbol=__atomic_fetch_add_8; \ - $(X_STRIP) atomic_64bits.c.obj --strip-symbol=__atomic_load_8; \ - $(X_STRIP) atomic_64bits.c.obj --strip-symbol=__atomic_store_8; \ - $(X_STRIP) atomic_64bits.c.obj --strip-symbol=__atomic_exchange_8; \ - $(X_AR) rc -s librcutils.a *.obj; \ - cp -rf librcutils.a $(UROS_DIR)/install/lib/librcutils.a; \ - cd ..; \ - rm -rf $(UROS_DIR)/atomic_workaround; \ - fi -endif - -$(EXTENSIONS_DIR)/libmicroros.a: $(EXTENSIONS_DIR)/micro_ros_src/install patch_atomic -======= $(EXTENSIONS_DIR)/libmicroros.a: $(EXTENSIONS_DIR)/micro_ros_src/install ->>>>>>> a5bf105 (Remove atomic patch (#329)) mkdir -p $(UROS_DIR)/libmicroros; cd $(UROS_DIR)/libmicroros; \ for file in $$(find $(UROS_DIR)/install/lib/ -name '*.a'); do \ folder=$$(echo $$file | sed -E "s/(.+)\/(.+).a/\2/"); \