Commit Graph

58 Commits

Author SHA1 Message Date
Alvin Moore 7006f878c1 Integrated documentation building into root Makefile 2018-03-13 13:09:52 -07:00
A.J. Beamon a5d63ce1e1 Patch up the makefiles and remove references to the completable bindings 2017-12-13 11:07:19 -08:00
Alex Miller 34b626d120 Revert adding hardening options to compile.
This appears to have caused performance regressions, which will need to be investigated.

This reverts commit 0b0284ba21989a0b8377f0a4d1057e3e7cd5fae1.
This reverts commit 4bde728b0eb8d277c8f59bfaf24869da67c68c47.
2017-12-11 17:12:46 -08:00
Alex Miller 1be6fdf687 Fix hardening compile under MacOS.
...via moving it all to linux-only.  Clang is picky about flags, and the osx
linker doesn't accept -z flags.  Technically, this will likely break
clang-on-linux, but that's not a config that we run and I'll probably end up
fixing it later.
2017-12-05 14:19:29 -08:00
Alex Miller f57880607a Add hardening flags to our compile.
This makes us fully position independant and have a noexec stack.  There's a
small chance that the former part of that can interfere with
gdb/corefiles/stackdumps, but we'll handle that if it becomes a problem.
2017-12-01 19:47:55 -08:00
Alex Miller 16e5b50685 Replace backtrace with absl::GetStackTrace on non-MacOS platforms.
backtrace() gives a list of return addresses, which means that addr2line will
print out the line after the caller. GetStackTrace returns the list of caller
addresses, so the addr2line results should be accurate.  The flow profiler was
also changed to use the new backtracing code, so flow profiles will now be
accurate as well.  Unfortunately, the abseil code doesn't work on MacOS, so we
still fall back to backtrace() in this case.

For the stack unwinder to work, we must disable -fomit-frame-pointer.  This can
result in a small performance penalty, as it effectively reduces the number of
general purpose registers available by one.  (I'm also curious if this has
anything to do with the overly frequent "<value optimized out>" messages from
gdb.)  If this shows up as a problem, we can make release builds still have
-fomit-frame-pointer, and fall back to backtrace when it's enabled then as
well.
2017-10-16 16:05:02 -07:00
Alvin Moore 01cbca891e Added OS X compilation option for c files to cpp files to support old versions of OSX 2017-07-18 11:09:10 -07:00
FDB Dev Team a674cb4ef4 Initial repository commit 2017-05-25 13:48:44 -07:00