Commit Graph

188 Commits

Author SHA1 Message Date
Andrew Noyes 68c03a7e32
Jemalloc integration fixes (#6626)
* Set default for USE_JEMALLOC initially in ConfigureCompiler

Instead of trying to change the value later on. This fixes the valgrind
build, which was previously incorrectly getting jemalloc involved.

* Check aligned_alloc result for null

And OOM if so - don't assert

* Check that we can allocate magazines with no internal fragmentation

We may want to do this so that the jemalloc heap profiler has some
knowledge of FastAlloc

* Populate TestFile field for noSim tests in TestHarness

* Remove handling for nonexistent "ActualRun"
2022-03-17 15:17:27 -07:00
Steve Atherton 415d1958d4
Build configuration fix: USE_JEMALLOC=OFF had no effect, did not disable using jemalloc on platforms that support it. (#6590) 2022-03-14 11:00:34 -07:00
zhenfeng yang 847cff72b7
Add a target to generate profile (#6396)
add a target to generate profile
2022-02-28 17:00:30 -06:00
vikasgupta8 595f50ce26 indentation corrected 2022-02-15 13:03:12 +00:00
root 15159a5deb resolved format error 2022-02-11 09:57:24 +00:00
vikasgupta8 edfff755bf added support for ppc64le 2022-02-11 06:17:15 +00:00
sfc-gh-zyang 0968935665 rename params and add disallow users to set both of PROFILE_INSTR_GENERATE and PROFILE_INSTR_USE 2022-02-07 12:34:27 -08:00
sfc-gh-zyang ddb05b6e8e fix typo during merge 2022-02-04 17:03:15 -08:00
sfc-gh-zyang 93f22ea381 Merge https://github.com/sfc-gh-zyang/foundationdb into zyang/fdo 2022-02-04 16:59:16 -08:00
sfc-gh-zyang 2ec6633ef3 support fdo 2022-02-04 16:51:45 -08:00
sfc-gh-zyang 58034d2554 support fdo 2022-02-04 16:46:17 -08:00
sfc-gh-zyang a263191387 support instrumented build 2022-01-26 16:52:47 -08:00
Andrew Noyes 03b4a3a74a Add TRACE_PC_GUARD_INSTRUMENTATION_LIB 2022-01-20 13:24:23 -08:00
Andrew Noyes fd33d31ff5 Enable -Wdelete-non-virtual-dtor for clang build
We had been disabling -Wdelete-non-virtual-dtor, because this seems to be done intentionally in the generated code of the actor compiler. I spent some time trying to rewrite it in a way that doesn't literally delete/destroy through a pointer to a base class without a virtual destructor, but I was unable to come up with something that passes correctness. My best guess is that we do this so that we can destroy actor state classes, call callbacks registered on the actor SAV, and then destroy the SAV.

Anyway now we'll detect new usages of deleting through a pointer to a base class without a virtual destructor.
2021-12-20 16:19:31 -08:00
zhenfeng yang 76974605c1
support lto (#6140)
* support lto

* use relative path

* add another variable to control lto

* remove unnecessary code
2021-12-14 15:45:07 -08:00
Aaron Molitor 77db63274b use FDB_VERSION in lieu of PROJECT_VERSION or CMAKE_PROJECT_VERSION
write FDB_VERSION to a file to avoid regex golf in other build scripts
2021-11-29 15:11:20 -08:00
sfc-gh-tclinkenbeard c745002607 Merge remote-tracking branch 'origin/master' into add-format-warning 2021-11-18 11:13:03 -08:00
Tao Lin 9a07a117d2
Not warn on constant-logical-operand when compile with clang (#5990) 2021-11-17 16:23:20 -08:00
sfc-gh-tclinkenbeard 62efeb6812 Merge remote-tracking branch 'origin/master' into add-format-warning 2021-11-12 11:50:36 -08:00
sfc-gh-tclinkenbeard 7f09bdbda4 Remove -Wclass-memaccess for clang 2021-11-01 14:18:31 -07:00
sfc-gh-tclinkenbeard 27db99a77f Enable clang comment warnings 2021-11-01 14:18:31 -07:00
sfc-gh-tclinkenbeard c7b28abaf0 Enable unknown-pragmas warning for clang 2021-11-01 14:18:31 -07:00
sfc-gh-tclinkenbeard 8a69aa08a2 Enable tautological-pointer-compare clang warning 2021-11-01 14:18:31 -07:00
sfc-gh-tclinkenbeard d0c9cf4fb0 Enable mismatched-tags clang warning 2021-11-01 14:18:31 -07:00
sfc-gh-tclinkenbeard ebcc023b6f Enable missing-field-initializers clang warning 2021-11-01 14:18:31 -07:00
sfc-gh-tclinkenbeard 25257f6f87 Enable unused-function warning for clang 2021-11-01 14:18:31 -07:00
sfc-gh-tclinkenbeard b0cec29849 Enable unused-local-typedef clang warning 2021-11-01 14:18:31 -07:00
sfc-gh-tclinkenbeard 13bb7838aa Enable clang -Wformat warning 2021-10-30 21:07:38 -07:00
Markus Pilman defa41b502 Don't use -latomic with clang 2021-08-05 11:51:44 -06:00
Xiaoge Su f6beda6623 When using non-Apple clang, link to libatomic 2021-08-05 07:32:41 -07:00
Andrew Noyes 353efe7db2
Merge pull request #5264 from sfc-gh-tclinkenbeard/fix-more-clang-warnings
Enable more warnings for `clang`
2021-07-29 15:43:54 -07:00
sfc-gh-tclinkenbeard cedaa72c0f Enable reorder and reorder-ctor warnings 2021-07-24 23:23:52 -07:00
sfc-gh-tclinkenbeard 13fe89ff06 Enable self-assign warning for clang 2021-07-23 17:32:01 -07:00
sfc-gh-tclinkenbeard 8d4569b63c Enable dangling-else warning for clang 2021-07-23 17:26:37 -07:00
sfc-gh-tclinkenbeard 8fe3e45fc6 Enable more clang warnings 2021-07-23 10:07:04 -07:00
Mohamed Oulmahdi 7b590c2447 Add support for building on Windows via Docker
- Add Dockerfile.windows and Dockerfile..windows.devel
- build.ps1: script that produces the binaries (MSI, tools)
- CMake: disable building documentation on windows (not supported)
- Fix invalid path when building setup with WIX
- Remove deprecated @Action attribute from wix project
2021-07-08 11:42:16 +02:00
Andrew Noyes 8a00c6cdf8 Add -Wshift-sign-overflow
This catches the bug fixed in #4656 at compile time
2021-04-21 23:49:26 +00:00
Andrew Noyes b5084c634d Inform boost context of valgrind usage
This fixes the "client switching stacks?" warning that valgrind is
currently issuing.

Also fix a memory error that currently doesn't manifest because of the
way FastAllocator works (if you free a small buffer and then immediately
allocate the same size buffer in FastAllocator you always get the same
buffer back). You can see it if you set FDB_VALGRIND_PRECISE= (causes
FastAllocator to use malloc)

Also minor refactoring and cleanup of CoroFlow.actor.cpp

Also (probably) fix the other sanitizer builds, although I didn't test
that
2021-03-09 01:33:32 +00:00
Markus Pilman f514194aec Merge remote-tracking branch 'origin/master' into features/coroutine2 2021-02-17 09:03:07 -07:00
A.J. Beamon 601a548cfe Revert "Move new config to config.h.cmake"
This reverts commit 2951ebb4e7.
2021-02-08 14:01:02 -08:00
A.J. Beamon 2951ebb4e7 Move new config to config.h.cmake 2021-02-08 13:34:17 -08:00
A.J. Beamon 85ec192169 Remove bad merge line 2021-02-08 13:02:55 -08:00
A.J. Beamon aaf0a9aa7b Merge branch 'release-6.3' into merge-release-6.3-into-master
# Conflicts:
#	build/docker-compose.yaml
#	cmake/ConfigureCompiler.cmake
#	fdbclient/FileBackupAgent.actor.cpp
#	fdbrpc/AsyncFileCached.actor.h
#	fdbrpc/IAsyncFile.h
#	fdbrpc/IRateControl.h
#	fdbrpc/simulator.h
#	fdbserver/KeyValueStoreSQLite.actor.cpp
#	fdbserver/storageserver.actor.cpp
#	fdbservice/ServiceBase.cpp
2021-02-08 12:58:34 -08:00
Markus Pilman 6e571ab87b Merge branch 'master' of github.com:apple/foundationdb into features/coroutine2 2021-02-08 10:25:29 -07:00
Andrew Noyes e4a55908ff
Merge pull request #4222 from sfc-gh-mpilman/features/jemalloc
Replace standard malloc with jemalloc
2021-02-04 12:47:29 -08:00
Markus Pilman 7b489da13b introduce USE_JEMALLOC and some refactoring 2021-02-04 11:53:28 -07:00
Christophe Chevalier ff0667b28d winbuild: define BOOST_USE_WINDOWS_H, WIN32_LEAN_AND_MEAN and NOMINMAX to fix various macro expansions issues
- NOMINMAX to fix confusion between std::max(..) and max(..) macro redefinition
- BOOST_USE_WINDOWS_H to prevent boost from redefining win32 APIs
- WIN32_LEAN_AND_MEAN to fix include ordering issues with winsock.h
2021-01-30 15:15:02 +01:00
Markus Pilman 7c64e3943b compile boost for sanitizers 2021-01-27 19:13:02 -07:00
Markus Pilman 0696c2d9b4 several bug fixes 2021-01-27 18:22:48 -07:00
Andrew Noyes 341069fcce WIP asan on boost coroutine2 2021-01-26 17:10:13 -07:00