Upstream update available: libatomic_ops 7.8.2 → 7.10.0 #1

Open
opened 2026-04-28 01:21:45 +03:00 by sbelikov · 0 comments
Owner

Upstream update available: libatomic_ops 7.8.27.10.0

Package

  • Package: libatomic_ops
  • RPM name: libatomic_ops
  • Branch: niceos-5.2
  • Current EVR: 7.8.2-1
  • Update class: minor
  • Compare method: python_rpm
  • Update policy: leaf
  • Risk tags: github-upstream

Upstream

Signals

  • Security-relevant keywords detected: False
  • Policy blocked: False
  • Policy reason: -
  • Labels: ai-summary, bot, needs-build, needs-triage, priority/medium, update/minor, upstream-update, upstream/github

NiceSOFT AI preliminary analysis

1. Краткий вывод

Upstream-пакет libatomic_ops обновился с версии 7.8.2 до 7.10.0. Основные изменения касаются поддержки новых архитектур (RISC-V, E2K), рефакторинга кода, исправления предупреждений компиляторов и обновления инструментов сборки (autotools, CMake). Обновление классифицировано как минорное (minor).

2. Риск для НАЙС.ОС

low. Обновление является минорным и фокусируется на улучшении совместимости с новыми платформами, устранении предупреждений и внутренних рефакторингах. Нет признаков критических уязвимостей или изменений в публичном API, которые бы нарушили стабильность зависимых пакетов в рамках минорной ветки.

3. Security/CVE

Во входных данных отсутствуют признаки безопасности. Поле security_keywords_detected_by_script равно False, список изменений не содержит упоминаний об исправлении уязвимостей (CVE), эксплойтов или проблем с безопасностью памяти.

4. ABI/API риск

Нужен ручной ABI/API анализ. В списке изменений присутствуют потенциально значимые моменты:

  • Изменение сигнатуры макроса AO_REAL_NEXT_PTR() (принятие аргумента по ссылке).
  • Введение новых макросов (AO_NO_ASM_XCHG, AO_INITIAL_HEAP_CHUNKS) и типов (AO_internal_ptr_t).
  • Удаление реализации AO_stack_push/pop на основе compare_and_swap_double.
  • Изменение поведения CMake опций (BUILD_SHARED_LIBS -> AO_BUILD_SHARED_LIBS, build_tests -> BUILD_TESTING).
    Хотя это минорное обновление, изменения в макросах и внутренних типах могут повлиять на пакеты, использующие эти символы напрямую или через обертки.

5. Риск для RPM-сборки

Вероятны проблемы со сборкой, связанные с изменением инструментов:

  • Обновление autotools (ac-2.72, am-1.18.1, lt-2.5.4, m4-1.4.20) может потребовать пересборки или обновления зависимостей в BuildRequires.
  • Изменение логики CMake (BUILD_SHARED_LIBS -> AO_BUILD_SHARED_LIBS) может сломать существующий %build секцию spec-файла, если он жестко задает старые имена переменных.
  • Отключение опции --enable-gcov может повлиять на тесты, если они зависят от этого флага.

6. Проверки мейнтейнера

  • Проверить наличие в spec файла секции %check и убедиться, что она корректно работает с новым флагом BUILD_TESTING в CMake.
  • Проверить зависимости BuildRequires на актуальность версий autoconf, automake, libtool и m4 после обновления autotools.
  • Провести локальную сборку пакета (rpmbuild -ba) для проверки отсутствия ошибок конфигурации и линковки.
  • Проверить, не используются ли в других пакетах дистрибутива напрямую удаленные или измененные макросы (AO_REAL_NEXT_PTR, AO_stack_push/pop).
  • Убедиться, что патчи, применяемые к этому пакету, не конфликтуют с новыми изменениями в заголовках или скриптах сборки.

7. Рекомендация

update candidate

8. Основание рекомендации

Отсутствие признаков уязвимостей и классификация обновления как минорного позволяют рекомендовать его как кандидата на обновление. Несмотря на изменения в инструментах сборки и макросах, это стандартная практика для поддержания совместимости с современными компиляторами и архитектурами. Рекомендуется провести стандартную процедуру тестирования сборки перед включением в репозиторий.

Upstream release notes / description

Changes

  • Add comment that overflow of a counter in AO_stack_pop is impossible
  • Add missed copyright header to ibmc/powerpc.h
  • Adjust/reformat copyright header in armcc/arm_v6.h
  • Build tests by default in CMake script
  • Change AO_REAL_NEXT_PTR() to accept argument as reference only
  • Change static initializer of initial_heap_ptr and spin_dummy to zero
  • Consistently use '__sparc' predefined macro w/o trailing underscores
  • Define AO_N_BITS to a bigger value if pointer type is larger than size_t
  • Define AO_uintptr_t and use it in AO malloc and stack (refactoring)
  • Define functions and variables of tests as static (refactoring)
  • Discontinue support of configure '--enable-gcov' option
  • Do not define AO_GCC_FORCE_HAVE_CAS for modern clang and gcc for RISC-V
  • Eliminate 'can be declared as pointer to const' cppcheck FP in test_atomic
  • Eliminate 'condition is always true' cppcheck style warnings in test_atomic
  • Fix 'libtool library used but LIBTOOL is undefined' autoreconf error
  • Give verbose error message if multiple include test_and_set_t_is_*_t.h
  • Guard against direct include of internal headers from outside (refactoring)
  • Hide AO_initial_heap internal symbol
  • Implement AO_fetch_compare_and_swap_full for sunc/sparc
  • Minor text improvement in README_details.txt and README_malloc.txt
  • New macro (AO_NO_ASM_XCHG) to use Win32 InterlockedExchange
  • Prefix/suffix no_sanitize attribute with double underscore (refactoring)
  • Provide AO_INITIAL_HEAP_CHUNKS macro to control AO_initial_heap size
  • Provide char/short-width CAS for RISC-V w/o '-latomic' if gcc v14+
  • Refine comment about AO_double_t size in standard_ao_double_t.h
  • Refine documentation when stack implementation is fully lock-free
  • Remove AO_stack_push/pop based on compare_and_swap_double
  • Rename CMake 'BUILD_SHARED_LIBS' option to 'AO_BUILD_SHARED_LIBS'
  • Replace CMake 'build_tests' option to standard 'BUILD_TESTING' one
  • Support RISC-V ILP32 ABI (rv64ilp32)
  • Support double-wide CAS on 64-bit RISC-V with Zacas extension
  • Support double-wide primitives on E2K (in 32- and 64-bit modes)
  • Support targets with double-wide pointers (CHERI, E2K protected mode)
  • Update autotools for release tar (ac-2.72, am-1.18.1, lt-2.5.4, m4-1.4.20)
  • Use AO_internal_ptr_t to operate link pointer inside AO stack and malloc
  • Use atomic_ops_sysdeps.S by configure on any SPARC with non-GCC compiler
  • Workaround 'memory leak in add_elements' cppcheck FP in test_stack

Build status

AppVeyor CI build
Github actions build
Travis CI build
Coveralls status (code coverage)

Distribution tarball

libatomic_ops-7.10.0.tar.gz (see the Assets, md5: 1de9631daa0781a8c5a8457053d57cf0)

NiceOS maintainer checklist

  • Confirm that the detected version is a stable upstream release.
  • Check upstream changelog for security fixes, ABI/API changes and build-system changes.
  • Check ABI/API compatibility and reverse dependencies.
  • Download source into NiceOS lookaside storage.
  • Update Version and related fields in SPECS/*.spec only if policy allows it.
  • Regenerate SOURCES/sources.lock.json, manifests, metadata and SBOM.
  • Build SRPM/RPM in a clean NiceOS buildroot.
  • Run package smoke tests.
  • Link PR/build logs and close this issue after update or triage.

Bot metadata

  • Tool: niceos_upstream_monitor.py 1.4
  • Generated at: 2026-04-28T15:40:44Z
<!-- niceos-upstream-monitor:fingerprint=upstream-update:libatomic_ops:7.10.0 --> <!-- niceos-upstream-monitor:package=libatomic_ops --> <!-- niceos-upstream-monitor:current=7.8.2 --> <!-- niceos-upstream-monitor:latest=7.10.0 --> # Upstream update available: `libatomic_ops` `7.8.2` → `7.10.0` ## Package - Package: `libatomic_ops` - RPM name: `libatomic_ops` - Branch: `niceos-5.2` - Current EVR: `7.8.2-1` - Update class: `minor` - Compare method: `python_rpm` - Update policy: `leaf` - Risk tags: `github-upstream` ## Upstream - Upstream type: `github` - Upstream project: `ivmai/libatomic_ops` - Upstream URL: https://github.com/ivmai/libatomic_ops - Detected version: `7.10.0` - Tag/release: `v7.10.0` - Source: `github_release_latest` - Published: `2025-11-28T07:32:41Z` - Release URL: https://github.com/bdwgc/libatomic_ops/releases/tag/v7.10.0 - Source URL: https://api.github.com/repos/bdwgc/libatomic_ops/tarball/v7.10.0 - Pre-release: `False` ## Signals - Security-relevant keywords detected: `False` - Policy blocked: `False` - Policy reason: `-` - Labels: `ai-summary, bot, needs-build, needs-triage, priority/medium, update/minor, upstream-update, upstream/github` ## NiceSOFT AI preliminary analysis ### 1. Краткий вывод Upstream-пакет `libatomic_ops` обновился с версии 7.8.2 до 7.10.0. Основные изменения касаются поддержки новых архитектур (RISC-V, E2K), рефакторинга кода, исправления предупреждений компиляторов и обновления инструментов сборки (autotools, CMake). Обновление классифицировано как минорное (minor). ### 2. Риск для НАЙС.ОС **low**. Обновление является минорным и фокусируется на улучшении совместимости с новыми платформами, устранении предупреждений и внутренних рефакторингах. Нет признаков критических уязвимостей или изменений в публичном API, которые бы нарушили стабильность зависимых пакетов в рамках минорной ветки. ### 3. Security/CVE Во входных данных отсутствуют признаки безопасности. Поле `security_keywords_detected_by_script` равно `False`, список изменений не содержит упоминаний об исправлении уязвимостей (CVE), эксплойтов или проблем с безопасностью памяти. ### 4. ABI/API риск Нужен ручной ABI/API анализ. В списке изменений присутствуют потенциально значимые моменты: - Изменение сигнатуры макроса `AO_REAL_NEXT_PTR()` (принятие аргумента по ссылке). - Введение новых макросов (`AO_NO_ASM_XCHG`, `AO_INITIAL_HEAP_CHUNKS`) и типов (`AO_internal_ptr_t`). - Удаление реализации `AO_stack_push/pop` на основе `compare_and_swap_double`. - Изменение поведения CMake опций (`BUILD_SHARED_LIBS` -> `AO_BUILD_SHARED_LIBS`, `build_tests` -> `BUILD_TESTING`). Хотя это минорное обновление, изменения в макросах и внутренних типах могут повлиять на пакеты, использующие эти символы напрямую или через обертки. ### 5. Риск для RPM-сборки Вероятны проблемы со сборкой, связанные с изменением инструментов: - Обновление `autotools` (ac-2.72, am-1.18.1, lt-2.5.4, m4-1.4.20) может потребовать пересборки или обновления зависимостей в `BuildRequires`. - Изменение логики CMake (`BUILD_SHARED_LIBS` -> `AO_BUILD_SHARED_LIBS`) может сломать существующий `%build` секцию spec-файла, если он жестко задает старые имена переменных. - Отключение опции `--enable-gcov` может повлиять на тесты, если они зависят от этого флага. ### 6. Проверки мейнтейнера - [ ] Проверить наличие в `spec` файла секции `%check` и убедиться, что она корректно работает с новым флагом `BUILD_TESTING` в CMake. - [ ] Проверить зависимости `BuildRequires` на актуальность версий `autoconf`, `automake`, `libtool` и `m4` после обновления autotools. - [ ] Провести локальную сборку пакета (`rpmbuild -ba`) для проверки отсутствия ошибок конфигурации и линковки. - [ ] Проверить, не используются ли в других пакетах дистрибутива напрямую удаленные или измененные макросы (`AO_REAL_NEXT_PTR`, `AO_stack_push/pop`). - [ ] Убедиться, что патчи, применяемые к этому пакету, не конфликтуют с новыми изменениями в заголовках или скриптах сборки. ### 7. Рекомендация update candidate ### 8. Основание рекомендации Отсутствие признаков уязвимостей и классификация обновления как минорного позволяют рекомендовать его как кандидата на обновление. Несмотря на изменения в инструментах сборки и макросах, это стандартная практика для поддержания совместимости с современными компиляторами и архитектурами. Рекомендуется провести стандартную процедуру тестирования сборки перед включением в репозиторий. ## Upstream release notes / description # Changes * Add comment that overflow of a counter in AO_stack_pop is impossible * Add missed copyright header to ibmc/powerpc.h * Adjust/reformat copyright header in armcc/arm_v6.h * Build tests by default in CMake script * Change AO_REAL_NEXT_PTR() to accept argument as reference only * Change static initializer of initial_heap_ptr and spin_dummy to zero * Consistently use '__sparc' predefined macro w/o trailing underscores * Define AO_N_BITS to a bigger value if pointer type is larger than size_t * Define AO_uintptr_t and use it in AO malloc and stack (refactoring) * Define functions and variables of tests as static (refactoring) * Discontinue support of configure '--enable-gcov' option * Do not define AO_GCC_FORCE_HAVE_CAS for modern clang and gcc for RISC-V * Eliminate 'can be declared as pointer to const' cppcheck FP in test_atomic * Eliminate 'condition is always true' cppcheck style warnings in test_atomic * Fix 'libtool library used but LIBTOOL is undefined' autoreconf error * Give verbose error message if multiple include test_and_set_t_is_*_t.h * Guard against direct include of internal headers from outside (refactoring) * Hide AO_initial_heap internal symbol * Implement AO_fetch_compare_and_swap_full for sunc/sparc * Minor text improvement in README_details.txt and README_malloc.txt * New macro (AO_NO_ASM_XCHG) to use Win32 InterlockedExchange * Prefix/suffix no_sanitize attribute with double underscore (refactoring) * Provide AO_INITIAL_HEAP_CHUNKS macro to control AO_initial_heap size * Provide char/short-width CAS for RISC-V w/o '-latomic' if gcc v14+ * Refine comment about AO_double_t size in standard_ao_double_t.h * Refine documentation when stack implementation is fully lock-free * Remove AO_stack_push/pop based on compare_and_swap_double * Rename CMake 'BUILD_SHARED_LIBS' option to 'AO_BUILD_SHARED_LIBS' * Replace CMake 'build_tests' option to standard 'BUILD_TESTING' one * Support RISC-V ILP32 ABI (rv64ilp32) * Support double-wide CAS on 64-bit RISC-V with Zacas extension * Support double-wide primitives on E2K (in 32- and 64-bit modes) * Support targets with double-wide pointers (CHERI, E2K protected mode) * Update autotools for release tar (ac-2.72, am-1.18.1, lt-2.5.4, m4-1.4.20) * Use AO_internal_ptr_t to operate link pointer inside AO stack and malloc * Use atomic_ops_sysdeps.S by configure on any SPARC with non-GCC compiler * Workaround 'memory leak in add_elements' cppcheck FP in test_stack # Build status [AppVeyor CI build](https://ci.appveyor.com/project/bdwgc/libatomic-ops/builds/53152823) [Github actions build](https://github.com/bdwgc/libatomic_ops/actions/runs/19756988367) [Travis CI build](https://app.travis-ci.com/github/bdwgc/libatomic_ops/builds/276939496) [Coveralls status](https://coveralls.io/github/bdwgc/libatomic_ops?branch=v7.10.0) (code coverage) # Distribution tarball libatomic_ops-7.10.0.tar.gz (see the Assets, md5: 1de9631daa0781a8c5a8457053d57cf0) ## NiceOS maintainer checklist - [ ] Confirm that the detected version is a stable upstream release. - [ ] Check upstream changelog for security fixes, ABI/API changes and build-system changes. - [ ] Check ABI/API compatibility and reverse dependencies. - [ ] Download source into NiceOS lookaside storage. - [ ] Update `Version` and related fields in `SPECS/*.spec` only if policy allows it. - [ ] Regenerate `SOURCES/sources.lock.json`, manifests, metadata and SBOM. - [ ] Build SRPM/RPM in a clean NiceOS buildroot. - [ ] Run package smoke tests. - [ ] Link PR/build logs and close this issue after update or triage. ## Bot metadata - Tool: `niceos_upstream_monitor.py 1.4` - Generated at: `2026-04-28T15:40:44Z`
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
rpms/libatomic_ops#1
No description provided.