Леонид Юрьев (Leonid Yuriev)
3a0b857e1d
mdbx-cmake: используем -flto=auto
для GCC >= 11.4
...
При сборке посредством GCC >= 11.4 больше не возникает предупреждений:
lto-wrapper: warning: using serial compilation of # LTRANS jobs
lto-wrapper: note: see the ‘-flto’ option documentation for more information
Однако, использование auto-режима не является оптимальным решением, так
как при параллельной сборке посредством make или ninja, каждая уже
запущенная ветвь компиляции породит потоки ещё для каждого ядра ЦПУ.
Таким образом реальная нагрузка может расти квадратично, т.е. чем больше
у вас ядер -- тем хуже и при 96 ядрах может работать 9216 потоков сборки.
Тем не менее, использование `job-server` в CMake пока не возможно, а при
сборке libmdbx не так много работы чтобы чтобы обрушить систему нагрузкой.
2025-01-27 21:30:01 +03:00
Леонид Юрьев (Leonid Yuriev)
9d7495fa09
mdbx-cmake: расслабление условий для использования LTO с CLANG на Linux.
2025-01-27 20:41:44 +03:00
Леонид Юрьев (Leonid Yuriev)
c8f6d90e18
mdbx-cmake: расширение поиска LLVMgold.so
в относительных lib-директориях.
2025-01-27 20:32:02 +03:00
Леонид Юрьев (Leonid Yuriev)
56d1dbef45
mdbx: обновление года в ©.
2025-01-15 19:36:07 +03:00
Леонид Юрьев (Leonid Yuriev)
513518ca5e
mdbx-cmake: синхронизация утилит между проектами.
2024-12-12 13:06:44 +03:00
Леонид Юрьев (Leonid Yuriev)
f2dc60aa53
mdbx-cmake: новые настройки cmake-format (косметика).
2024-12-12 11:20:34 +03:00
Леонид Юрьев (Leonid Yuriev)
a2984c604d
mdbx-cmake: переформатирование cmake-скриптов.
2024-11-13 15:05:26 +03:00
Леонид Юрьев (Leonid Yuriev)
9b9d6c6d65
mdbx-cmake: очистка условий включения стандартов C и C++.
2024-11-10 20:17:44 +03:00
Леонид Юрьев (Leonid Yuriev)
8571eac81b
mdbx-cmake: корректировка пробы OpenMP.
2024-10-28 08:55:37 +03:00
Леонид Юрьев (Leonid Yuriev)
d2b74e4da5
mdbx-cmake: включение стандарта C23
.
2024-10-10 06:15:17 +03:00
Леонид Юрьев (Leonid Yuriev)
3de3d425a1
mdbx: изменение лицензии и реструктуризация исходного кода.
2024-06-19 14:18:18 +03:00
Леонид Юрьев (Leonid Yuriev)
aea40fb79f
mdbx: выпуск 0.12.10 "СЭМ"
...
Поддерживающий выпуск с исправлением обнаруженных ошибок и устранением недочетов
в память Героя России гвардии майора Дмитрия Семёнова с позывным "СЭМ".
Значимые исправления и доработки:
---------------------------------
- Устранение унаследованной от LMDB ошибки приводящей к повреждению БД при использовании `MDBX_DUPFIXED`.
- Исправление ложной ошибки `MDBX_CORRUPTED (-30796)` в сценарии работы
в режиме `MDBX_DUPFIXED` и нечетной длинной мульти-значений.
- Исправление недочета корректировки сопутствующих курсоров при разделении страницы
по сценарию добавления пустой страницы слева.
- Доработка `rebalance()` ради уменьшения WAF.
- Исправление assert-проверки внутри `check_txn()` для случая завершенных транзакций в режиме `MDBX_NO_TLS`.
Последствий ошибки, кроме срабатывания assert-проверки в отладочных сборках, нет.
- Устранение ошибки при открытии БД на файловой системе только-для-чтения.
- Удалены излишне строгие проверки в утилите `mdbx_chk`, которые
приводили к ложно-позитивным ошибкам при проверке БД после серии
последних доработок.
Более подробная информация в [ChangeLog](https://libmdbx.dqdkfa.ru/md__change_log.html ).
git diff' stat: 19 commits, 57 files changed, 751 insertions(+), 331 deletions(-)
Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>
2024-03-13 14:57:38 +03:00
Леонид Юрьев (Leonid Yuriev)
4fd21d2f7b
mdbx-cmake: незначительное уточнение пробника для std::filesystem
.
2023-05-14 01:06:52 +03:00
Leonid Yuriev
6d74b10db1
mdbx: поддержка ASAN (Address Sanitizer) при сборке посредством MSVC.
2023-02-28 00:50:30 +03:00
Леонид Юрьев (Leonid Yuriev)
c01f025bfa
mdbx: обновление года на 2023.
2023-01-16 16:32:02 +03:00
Леонид Юрьев (Leonid Yuriev)
623ab21707
mdbx-cmake: совместимость с CMake 3.0.2 для CI на старых системах.
2022-11-07 23:37:27 +03:00
Леонид Юрьев (Leonid Yuriev)
cd616447da
mdbx-cmake: set X86_32/X86_64/ARM/MIPS for Windows and Android.
2022-10-22 11:08:06 +03:00
Леонид Юрьев (Leonid Yuriev)
638d71a0c0
mdbx-cmake: sync/update modules.
2022-06-08 16:36:45 +03:00
Леонид Юрьев (Leonid Yuriev)
f6db64bea1
mdbx-cmake: add /bigobj
for MSVC.
2022-06-02 20:35:40 +03:00
Леонид Юрьев (Leonid Yuriev)
7260db2e74
mdbx-cmake: sync/refine cmake policy.
2022-06-02 20:35:35 +03:00
Леонид Юрьев (Leonid Yuriev)
cb14ea9e67
mdbx-cmake: explicit error message from probe for no-support of std::filesystem
.
2022-05-13 14:05:03 +03:00
Леонид Юрьев (Leonid Yuriev)
42f1abd7e9
mdbx-cmake: fix/refine --allow-multiple-definition
as workaround for std::filesystem
and LCC < 1.25.23
2022-04-22 23:03:58 +03:00
Леонид Юрьев (Leonid Yuriev)
fb4bd6158f
mdbx-cmake: fix extra message space (cosmetics).
2022-04-22 21:35:05 +03:00
Леонид Юрьев (Leonid Yuriev)
7770cae4b5
mdbx-cmake: provide CMAKE_HOST_ARCH
and CMAKE_HOST_CAN_RUN_EXECUTABLES_BUILT_FOR_TARGET
.
2022-04-22 17:45:28 +03:00
Леонид Юрьев (Leonid Yuriev)
039ebe1f14
mdbx-cmake: rework forming of MDBX_SYSTEM_ARCH
identity.
2022-04-22 17:30:11 +03:00
Леонид Юрьев (Leonid Yuriev)
b1101fc33e
mdbx-cmake: fix detection of Clang's LTO availability for Android.
2022-04-21 22:11:57 +03:00
Леонид Юрьев (Leonid Yuriev)
51d66494fd
mdbx-cmake: add -Wno-lto-type-mismatch
to avoid false-positive warnings from GCC < 9.x
2022-04-21 15:40:53 +03:00
Леонид Юрьев (Leonid Yuriev)
5ebcb90620
mdbx-cmake: rework linking detection for std::filesystem
.
2022-04-07 21:57:49 +03:00
Леонид Юрьев (Leonid Yuriev)
437cd0d3d7
mdbx-cmake: minor refine version detection of Elbrus LCC compiler.
2022-04-06 12:43:58 +03:00
Леонид Юрьев (Leonid Yuriev)
f054ceeab8
mdbx-cmake: add linking with stdc++fs
for LCC < 1.26
2022-04-06 12:43:58 +03:00
Leonid Yuriev
92cb0cc0db
mdbx-cmake: forcing /INCREMENTAL:NO
while using LTO/Interprocedutal optimization.
2022-03-28 23:57:24 +03:00
Leonid Yuriev
cf32f4cdb3
mdbx-cmake: removing /W3
when adding /W4
to avoid stupid MSVC warnings.
2022-03-28 23:57:24 +03:00
Леонид Юрьев (Leonid Yuriev)
18290489b2
mdbx-cmake: don't use -fno-semantic-interposition
for CLANG.
2022-02-02 19:22:50 +03:00
Леонид Юрьев (Leonid Yuriev)
ac02490c97
mdbx-cmake: sync the compiler.cmake
module with other projects.
2022-02-02 16:50:49 +03:00
Leonid Yuriev
79e1cc3bbc
mdbx: add workaround for old MSVC and/or old Windows SDK.
...
Resolves https://github.com/erthink/libmdbx/issues/265 .
Change-Id: I295b5d9d5ecd670ccf258791bf87379a3ca17f21
2022-02-01 13:28:59 +03:00
Leonid Yuriev
207124e7fb
mdbx: use -fno-semantic-interposition
.
2022-01-25 18:19:56 +03:00
Leonid Yuriev
c588af6aca
mdbx: update Copyright year.
...
Change-Id: Ib3e4c0ac94882c4b2a1e167dd98e6e26dbdf48a4
2022-01-17 11:06:14 +03:00
Leonid Yuriev
489f7a3136
mdbx-cmake: add workaround for LTO on Android ( https://reviews.llvm.org/D79919 ).
2022-01-05 17:47:45 +03:00
Леонид Юрьев (Leonid Yuriev)
3e3560753b
mdbx-cmake: minor fix detecting Elbrus/LCC.
2021-12-09 15:52:12 +03:00
Leonid Yuriev
5d4d02617d
mdbx-cmake: fix search GCC tools for LTO.
2021-08-05 02:26:36 +03:00
Leonid Yuriev
327b283136
mdbx-cmake: fix/reorder dirs list for search CLANG tools for LTO.
2021-08-05 02:26:36 +03:00
Leonid Yuriev
a9cae5e314
mdbx-cmake: avoid CMake warning about compatibility with 3.8.2
2021-08-04 14:09:47 +03:00
Leonid Yuriev
5ae120af80
mdbx-windows: more crutches for MinGW.
...
More for https://github.com/erthink/libmdbx/issues/155
Change-Id: I7de6122ff160372b2dcfd2a0a26e332cb52d0560
2021-05-08 18:38:44 +03:00
Leonid Yuriev
251eda6fb8
mdbx: HNY!
...
Change-Id: I86c7028001b349e3d06b837dc8e2f7e60fb3b1a2
2021-01-26 07:27:13 +03:00
Leonid Yuriev
bed14e60c2
mdbx-cmake: add -fsanitize-undefined-trap-on-error
to compile flags and ENABLE_UBSAN
to config.h
.
...
Change-Id: Ic18c0d59ccf32f9783a44de456893fbc8a0a7d32
2021-01-21 22:45:23 +03:00
Leonid Yuriev
c816797879
mdbx-cmake: minor/cosmetics unify quoting for add_compile_flags()
.
...
Change-Id: Idad9dccaedb71be42adb4366a7a995ccf7ab8db8
2021-01-20 23:34:30 +03:00
Leonid Yuriev
11b410dcfe
mdbx-cmake: fix stdc++fs
linking for modern GCC/CLANG.
...
Change-Id: I3dc82d09594cb32a14f2ee6673badcf4f4e411eb
2020-09-29 20:59:55 +03:00
Leonid Yuriev
860aa017db
mdbx: Merge branch 'master' into devel.
...
Change-Id: Ic130cd181097332aa2f49019d75403e18d8cba0d
2020-09-25 01:14:57 +03:00
Josh Soref
448728f584
mdbx: a lot of spelling (squashed).
...
Many Thanks to Josh Soref for these fixes.
https://github.com/jsoref
Resolves https://github.com/erthink/libmdbx/pull/118 .
Change-Id: I4e09347da5c9d7a77cdd918a3b15284371440076
2020-09-25 01:01:25 +03:00
Leonid Yuriev
17d9ed31f9
mdbx: support for building by GCC 4.8
...
Change-Id: I4ad5c5be60233ae68936e0cbca1a0f01ec786bad
2020-09-13 21:22:41 +03:00