3337 Commits

Author SHA1 Message Date
Леонид Юрьев (Leonid Yuriev)
bcf42ddf83 mdbx-make: use dots in tarball filename. 2022-04-23 23:23:15 +03:00
Леонид Юрьев (Leonid Yuriev)
ce229c7500 mdbx-docs: more refine/clarify Doxygen descriptions. 2022-04-23 23:23:15 +03:00
Леонид Юрьев (Leonid Yuriev)
9c569b41ed mdbx-docs: fix/refine C++ API docs by Doxygen. 2022-04-23 23:23:15 +03:00
Леонид Юрьев (Leonid Yuriev)
c9a214f038 mdbx: minor refine ChangeLog.md. 2022-04-23 23:23:15 +03:00
Леонид Юрьев (Leonid Yuriev)
08081109b7 mdbx: split-out TODO.md from ChangeLog.md. 2022-04-23 23:23:15 +03:00
Леонид Юрьев (Leonid Yuriev)
2ce00b6359 mdbx: update .gitignore. 2022-04-23 23:23:14 +03:00
Леонид Юрьев (Leonid Yuriev)
d744d103c8 mdbx: use https://web.archive.org/web/20220414235959 instead of todo4recovery://erased_by_github for md-files. 2022-04-23 17:46:46 +03:00
Леонид Юрьев (Leonid Yuriev)
40ec559c8c
mdbx: release v0.11.7
The stable risen release after the Github's intentional malicious disaster.

We have migrated to a reliable trusted infrastructure
-----------------------------------------------------

The origin for now is at [GitFlic](https://gitflic.ru/project/erthink/libmdbx)
since on 2022-04-15 the Github administration, without any warning nor
explanation, deleted _libmdbx_ along with a lot of other projects,
simultaneously blocking access for many developers.
For the same reason ~~Github~~ is blacklisted forever.

GitFlic already support Russian and English languages, plan to support more,
including 和 中文. You are welcome!

New:
----

 - Added the `tools-static` make target to build statically linked MDBX tools.
 - Support for Microsoft Visual Studio 2022.
 - Support build by MinGW' make from command line without CMake.
 - Added `mdbx::filesystem` C++ API namespace that corresponds to `std::filesystem` or `std::experimental::filesystem`.
 - Created [website](https://libmdbx.website.yandexcloud.net/) for online auto-generated documentation.
 - Used `todo4recovery://erased_by_github/` for dead (or temporarily lost) resources deleted by ~~Github~~.
 - Added `--loglevel=` command-line option to the `mdbx_test` tool.
 - Added few fast smoke-like tests into CMake builds.

Fixes:
------

 - Fixed a race between starting a transaction and creating a DBI descriptor that could lead to `SIGSEGV` in the cursor tracking code.
 - Clarified description of `MDBX_EPERM` error returned from `mdbx_env_set_geometry()`.
 - Fixed non-promoting the parent transaction to be dirty in case the undo of the geometry update failed during abortion of a nested transaction.
 - Resolved linking issues with `libstdc++fs`/`libc++fs`/`libc++experimental` for C++ `std::filesystem` or `std::experimental::filesystem` for legacy compilers.
 - Added workaround for GNU Make 3.81 and earlier.
 - Added workaround for Elbrus/LCC 1.25 compiler bug of class inline `static constexpr` member field.
 - [Fixed](https://github.com/ledgerwatch/erigon/issues/3874) minor assertion regression (only debug builds were affected).
 - Fixed detection of `C++20` concepts accessibility.
 - Fixed detection of Clang's LTO availability for Android.
 - Fixed build for ARM/ARM64 by MSVC.
 - Fixed non-x86 Windows builds with `MDBX_WITHOUT_MSVC_CRT=ON` and `MDBX_BUILD_SHARED_LIBRARY=ON`.

Minors:
-------

 - Resolve minor MSVC warnings: avoid `/INCREMENTAL[:YES]` with `/LTCG`, `/W4` with `/W3`, the `C5105` warning.
 - Switched to using `MDBX_EPERM` instead of `MDBX_RESULT_TRUE' to indicate that the geometry cannot be updated.
 - Added `NULL` checking during memory allocation inside `mdbx_chk`.
 - Resolved all warnings from MinGW while used without CMake.
 - Added inheretable `target_include_directories()` to `CMakeLists.txt` for easy integration.
 - Added build-time checks and paranoid runtime assertions for the `off_t` arguments of `fcntl()` which are used for locking.
 - Added `-Wno-lto-type-mismatch` to avoid false-positive warnings from old GCC during LTO-enabled builds.
 - Added checking for TID (system thread id) to avoid hang on 32-bit Bionic/Android  within `pthread_mutex_lock()`.
 - Reworked `MDBX_BUILD_TARGET` of CMake builds.
 - Added `CMAKE_HOST_ARCH` and `CMAKE_HOST_CAN_RUN_EXECUTABLES_BUILT_FOR_TARGET`.

Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>
v0.11.7
2022-04-22 23:28:56 +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)
b327cafe1a mdbx-cmake: seeding cmake tests. 2022-04-22 22:07:42 +03:00
Леонид Юрьев (Leonid Yuriev)
fb4bd6158f mdbx-cmake: fix extra message space (cosmetics). 2022-04-22 21:35:05 +03:00
Леонид Юрьев (Leonid Yuriev)
a878b47343 mdbx-cmake: refine fetch_version macro for no-git-tags case (sync cmake modules). 2022-04-22 21:32:38 +03:00
Леонид Юрьев (Leonid Yuriev)
f866ad2fa3 mdbx: update ChangeLog. 2022-04-22 21:03:11 +03:00
Леонид Юрьев (Leonid Yuriev)
f341129afa mdbx-windows: fix for non-x86 with MDBX_WITHOUT_MSVC_CRT=ON and MDBX_BUILD_SHARED_LIBRARY=ON. 2022-04-22 18:31:49 +03:00
Леонид Юрьев (Leonid Yuriev)
03e7e3be74 mdbx-cmake: avoid tests with mdbx_chk when MDBX_BUILD_TOOLS=OFF. 2022-04-22 18:07:51 +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
5eeb260c08 mdbx-cmake: rework making MDBX_BUILD_TARGET value. 2022-04-22 17:28:56 +03:00
Леонид Юрьев (Leonid Yuriev)
1ec5687d36 mdbx: fix build for ARM/ARM64 by MSVC. 2022-04-22 17:18:58 +03:00
Леонид Юрьев (Leonid Yuriev)
e3b0602664 mdbx-cmake: set loglevel=verbose for smoke test to speedup CI. 2022-04-22 09:32:47 +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)
bdf5fb7a72 mdbx++: avoid clang++ minor/extra warnings. 2022-04-21 21:53:46 +03:00
Леонид Юрьев (Leonid Yuriev)
e00f827de7 mdbx++: fix/refine detection of C++20 concepts accessibility. 2022-04-21 21:53:29 +03:00
Леонид Юрьев (Leonid Yuriev)
abc2341cb4 cmake-test: avoid run tests in case cross-compilation without emulator. 2022-04-21 20:35:45 +03:00
Леонид Юрьев (Leonid Yuriev)
03f9ed8820 mdbx-cmake: add a few smoke-like tests. 2022-04-21 20:35:45 +03:00
Леонид Юрьев (Leonid Yuriev)
e875d2128e mdbx-test: add --loglevel= option. 2022-04-21 20:35:41 +03:00
Леонид Юрьев (Leonid Yuriev)
bb377fd20e mdbx: merge branch master into devel. 2022-04-21 15:44:23 +03:00
Леонид Юрьев (Leonid Yuriev)
a2aa6667e1 mdbx: avoid 32-bit Bionic/Android hang within pthread_mutex_lock(). 2022-04-21 15:41:25 +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)
ed9e51d31d mdbx: update ChangeLog. 2022-04-21 15:34:56 +03:00
Леонид Юрьев (Leonid Yuriev)
2921711638 mdbx: minor refine note about migration from dead github. 2022-04-21 15:34:56 +03:00
Леонид Юрьев (Leonid Yuriev)
6d15836171 mdbx: use todo4recovery://erased_by_github/ for dead (or temporarily lost) resources. 2022-04-21 15:34:53 +03:00
Леонид Юрьев (Leonid Yuriev)
3f840ecd89 mdbx-doc: reorder restrictions section. 2022-04-20 23:55:25 +03:00
Леонид Юрьев (Leonid Yuriev)
9aa53d1616 mdbx: update ChangeLog and captions. 2022-04-20 23:55:25 +03:00
Леонид Юрьев (Leonid Yuriev)
35b5abc103 mdbx: minor fix/refix Doxygen descriptions. 2022-04-20 18:04:04 +03:00
Леонид Юрьев (Leonid Yuriev)
8ece0dfa93 mdbx-docs: update Doxygen.in 2022-04-20 18:00:54 +03:00
Леонид Юрьев (Leonid Yuriev)
ed23956e11 mdbx: basic cleanup from dead github and another corrupted services. 2022-04-20 06:42:16 +03:00
Леонид Юрьев (Leonid Yuriev)
1a471ed04b
mdbx: github is dead and blacklisted forever.
Основной репозиторий проекта перемещен на
https://gitflic.ru/project/erthink/libmdbx, так как 15 апреля
2022 администрация Github без предупреждения и без объяснения
причин удалила libmdbx вместе с массой других проектов,
одновременно заблокировав доступ многим разработчикам. По той
же причине Github навсегда занесен в черный список.

   На случай если это была случайность или ошибка мы ждали 5
суток (три рабочих дня), но чуда не случилось. Github умер, как
и многие декларируемые либеральные ценности (свобода слова,
презумпция невиновности и право на суд, неприкосновенность
личности и частной собственности и т.д.).

---

   The origin repository of the project has been moved to
https://gitflic.ru/project/erthink/libmdbx since on April 15,
2022, the Github administration, without warning and without
explanation, deleted libmdbx along with a lot of other
projects, simultaneously blocking access to many developers.
For the same reason Github is blacklisted forever.

   In case it was an accident or a mistake, we waited 5 days
(three working days), but no miracle happened. So Github is
died, as well as many declared liberal values (freedom of
speech, presumption of innocence and right to trial,
inviolability of the person and private property, etc).

Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>
2022-04-20 02:24:31 +03:00
Леонид Юрьев (Leonid Yuriev)
eb8bc865d1 mdbx: fix and check width of off_t for Android. 2022-04-19 20:00:29 +03:00
Леонид Юрьев (Leonid Yuriev)
682ff99f1c mdbx-make: add smoke-assertion, test-assertion, long-test-assertion targets. 2022-04-19 19:43:42 +03:00
Леонид Юрьев (Leonid Yuriev)
4628ac6863 mdbx: add paranoid assertions for off_t args of fcntl(). 2022-04-19 19:43:42 +03:00
Леонид Юрьев (Leonid Yuriev)
bb8f431817 mdbx-cmake: use target_include_directories() instead of include_directories(). 2022-04-13 11:05:50 +03:00
Леонид Юрьев (Leonid Yuriev)
8fb63c3675 mdbx: minor refine API descriptions. 2022-04-13 11:05:03 +03:00
Леонид Юрьев (Leonid Yuriev)
3792dd1007 mdbx: now we accept donations only in Russian Rubles. 2022-04-12 15:08:49 +03:00
Леонид Юрьев (Leonid Yuriev)
15cc7d5ed3 mdbx: update ChangeLog. 2022-04-12 10:20:50 +03:00
Леонид Юрьев (Leonid Yuriev)
9fa4e21165 mdbx: fix assertion regression.
Fixes https://github.com/ledgerwatch/erigon/issues/3874.

This was a minor regression after the c4a5325aafd3f03ce7520731b9da7253d7d178f0
that affects only debug builgs (with enabled assertions) and only when the added
code catch a incoherency of unified page/buffer cache.
2022-04-11 21:52:46 +03:00
Леонид Юрьев (Leonid Yuriev)
3872c0ab74 mdbx: update ChangeLog. 2022-04-08 01:01:01 +03:00
Леонид Юрьев (Leonid Yuriev)
d71b293de5 mdbx: fix spelling. 2022-04-08 01:00:58 +03:00
Леонид Юрьев (Leonid Yuriev)
5ebcb90620 mdbx-cmake: rework linking detection for std::filesystem. 2022-04-07 21:57:49 +03:00
Леонид Юрьев (Leonid Yuriev)
39a4a89650 mdbx++: declare mdbx::filesystem if available. 2022-04-07 18:00:23 +03:00