Commit Graph

484 Commits

Author SHA1 Message Date
Shinichiro Hamaji
b3695ee325 Merge pull request #218 from andschwa/remove-sln
Update Windows docs
2017-08-01 14:41:47 +09:00
Andrew Schwartzmeyer
a2a66f611c Update Windows readme for CMake 2017-07-26 11:35:04 -07:00
Andrew Schwartzmeyer
9f121e5493 Update gitignore for CMake and Visual Studio 2017-07-26 11:34:52 -07:00
Andrew Schwartzmeyer
c7c689fbb9 Delete ancient Visual Studio Solution file. 2017-07-26 11:34:40 -07:00
Shinichiro Hamaji
3faeb50cae Merge pull request #216 from google/revert-120-master
Revert "configure.ac: Allow user to disable gflags"
2017-07-26 17:46:57 +09:00
Shinichiro Hamaji
a6ffefa7e5 Revert "configure.ac: Allow user to disable gflags" 2017-07-26 17:44:25 +09:00
Shinichiro Hamaji
dc8aa29f2c Merge pull request #120 from ribalda/master
configure.ac: Allow user to disable gflags
2017-07-19 23:51:20 +09:00
Shinichiro Hamaji
ce8799c8e2 Merge pull request #209 from sergiud/cmake-icc-fix
cmake: fixed gflags namespace detection (fixes #193)
2017-07-10 01:53:19 +09:00
Sergiu Deitsch
e50aeaa5ee cmake: fixed gflags namespace detection (fixes #193)
This commit fixes gflags namespace detection using Intel compiler and ensures
the generated try_compile command line does not produce malformed paths.
2017-07-09 15:48:13 +02:00
Shinichiro Hamaji
40fc21467a Merge pull request #153 from sergiud/cmake-gnu-install-dirs
cmake: do not hardcode relative install directories
2017-07-06 15:01:10 +09:00
Shinichiro Hamaji
a9b9ee8e8c Merge pull request #152 from sergiud/cmake-project-name
cmake: changed project name from google-glog to glog
2017-07-06 15:00:37 +09:00
Shinichiro Hamaji
a808e435b7 Merge pull request #157 from sergiud/cygwin-support
Cygwin support
2017-07-06 15:00:06 +09:00
Shinichiro Hamaji
a835da8e08 Merge pull request #158 from sergiud/zero-allocation
[RFC] reduce heap memory allocations to zero
2017-07-06 14:58:37 +09:00
Shinichiro Hamaji
96f6656551 Merge pull request #145 from pixelb/rate-limit-posix-fadvise
rate limit calls to posix_fadvise()
2017-07-06 14:52:13 +09:00
Hans-Andreas Engel
2df0ca34aa reduce memory allocations to zero 2017-07-06 00:02:38 +02:00
Shinichiro Hamaji
80bec2ba45 Merge pull request #199 from v1bri/brian-fix-gflags-link
Use gflags ALIAS instead of ${gflags_XXX} vars
2017-06-29 12:36:25 +09:00
Shinichiro Hamaji
5cfa9a28f5 Merge pull request #168 from andschwa/windows-stacktrace
Port stack tracing to Windows
2017-06-28 12:31:40 +09:00
Andrew Schwartzmeyer
d1f49ba5aa Support signal handler on Windows 2017-06-27 10:50:20 -07:00
Andrew Schwartzmeyer
7f95ecfdc7 Link to DbgHelp using pre-processor directive
This method ensure that all users of glog get automatically linked to
the DbgHelp library without needing to set compiler flags.
2017-06-27 10:50:20 -07:00
Andrew Schwartzmeyer
e2caf9876e Export GetStackTrace
Necessary when building with BUILD_SHARED_LIBS=1.
2017-06-27 10:50:20 -07:00
Andrew Schwartzmeyer
f1d64f7deb Support symbolizer and demangler on Windows 2017-06-27 10:50:20 -07:00
Andrew Schwartzmeyer
e5d36443c6 Support stacktrace on Windows 2017-06-26 18:47:34 -07:00
Andrew Schwartzmeyer
9c1d0e6f6e Copy stacktrace_generic-inl.h for Windows 2017-06-26 16:21:10 -07:00
Andrew Schwartzmeyer
bcaaa5d29b Add Andrew Schwartzmeyer to authors and contributors 2017-06-26 16:21:10 -07:00
Brian Orr
baf6c8b2c5 Specify gflags version in CMakeLists.txt 2017-06-22 11:24:58 -07:00
Brian Orr
e1cae334a1 Use gflags ALIAS instead of ${gflags_XXX} vars
The gflags project updated their CMake config last year with a
`gflags` ALIAS target. This can be used instead of the legacy
`${gflags_LIBRARIES}` and `${gflags_INCLUDE_DIRS}` variables. It also
looks cleaner.

Fixes #198
2017-06-22 00:25:13 -07:00
Fumitoshi Ukai
77a0e36b7a Merge pull request #188 from shinh/remove-configure
Remove files generated by autotools

closes #165
2017-05-12 14:57:09 +09:00
Shinichiro Hamaji
4f3e18bf26 Remove files generated by autotools
for #165. I think not many projects have them in their repo.
2017-05-12 14:53:39 +09:00
Shinichiro Hamaji
d166ae3881 Update the version in CMakeLists.txt to 0.3.5 2017-05-10 20:44:01 +09:00
Fumitoshi Ukai
70f0f55813 Merge pull request #186 from shinh/backport
Backport internal changes
2017-05-10 12:51:39 +09:00
Shinichiro Hamaji
a6266db97a Add a hack for naive include scanners 2017-05-09 17:35:18 +09:00
Shinichiro Hamaji
ee9d487782 Define OS_LINUX only if it's not defined yet 2017-05-09 17:22:38 +09:00
Shinichiro Hamaji
c4814b729a symbolize: Allow 4kB stack consumption on PPC64 2017-05-09 17:21:16 +09:00
Shinichiro Hamaji
f278d734c1 x86 stacktrace: Use __builtin_frame_address if possible 2017-05-09 17:14:15 +09:00
Shinichiro Hamaji
0d78884a22 Relax test for symbolize
Don't rely on an internal-linkage extern "C" function having an
unmangled name. This isn't required by the ABI, and in fact is not
valid for a conforming compiler(!). Instead, allow symbolization to
produce either a mangled or an unmangled name here.
2017-05-09 17:14:15 +09:00
Shinichiro Hamaji
7314fa3f86 Use LOG(FATAL) instead of CHECK(false) 2017-05-09 17:14:12 +09:00
Shinichiro Hamaji
f012836db1 Run src/windows/preprocess.sh 2017-05-09 16:41:58 +09:00
Shinichiro Hamaji
ce4fab2960 glog: release 0.3.5 2017-05-09 16:27:57 +09:00
Fumitoshi Ukai
e56ed55208 Merge pull request #179 from renning22/master
CHECK_NOTNULL works with smart pointers when compiled in C++11.
2017-04-21 09:54:53 +09:00
Ning Ren
0d8c6340f8 CHECK_NOTNULL works with smart pointers when compiled in C++11. 2017-04-20 15:32:24 -07:00
Fumitoshi Ukai
da816ea706 Merge pull request #169 from mayah/windows-no-return
Add __declspec(noreturn) on Win
2017-03-07 12:44:37 +09:00
mayah
8fa778aa12 Add __declspec(noreturn) on Win
Currently cl.exe doesn't know LOG(FATAL) exits the program. Set
__declspec(noreturn).
2017-03-07 11:22:24 +09:00
Fumitoshi Ukai
ab6545470b Merge pull request #164 from yoshisatoyanagisawa/dcheck_always_on
DCHECK_ALWAYS_ON to make D* enabled under NDEBUG
2017-02-09 11:04:00 +09:00
Yoshisato Yanagisawa
027332ffac DCHECK_ALWAYS_ON to make D* enabled under NDEBUG
The macro NDEBUG could be automatically defined for release build on
some build environments (e.g. MSVC).  If we use NDEBUG as a key to
distinguish using DCHECK as CHECK (I call this DCHECK is enabled) or
not, we cannot make DCHECK enabled for release build on such
environments.

Considering people use a program with glog for presubmit testing or
dogfooding, they should need to do release build with DCHECK enabled.
2017-02-08 17:23:37 +09:00
Mike Percy
f581614a78 Use thread local for libunwind GetStackTrace()
Previously, the implementation of google::GetStackTrace() that uses
libunwind uses a global variable that enforces that only one thread may
invoke libunwind at a time. However, libunwind is thread-safe. The
comment above the variable indicates that it is to protect against
reentrancy issues.

Instead of using a global variable, it would be much better to use a
thread-local variable to protect against these reentrancy issues. That
should provide the needed reentrancy protection while allowing multiple
threads to get stack traces at the same time.

It also allows for the removal of the atomic CAS operations on the
variable.

Resolves #160.
2017-01-27 21:24:11 -08:00
Sergiu Deitsch
96a09ae01a fixed cygwin compilation errors 2017-01-17 12:47:11 +01:00
Sergiu Deitsch
b3dea50f33 cmake: do not hardcode relative install directories 2017-01-10 11:34:42 +01:00
Sergiu Deitsch
f2157a387b cmake: changed project name from google-glog to glog
This fixes the default install location on Windows. Specifically,
find_package works now out-of-the box with the default
CMAKE_INSTALL_PREFIX.
2017-01-10 11:15:18 +01:00
Pádraig Brady
dacd296796 rate limit calls to posix_fadvise()
There can be a large kernel overhead involved in POSIX_FADV_DONTNEED.
There is no point in calling this per item logged, so rate limit
to at most once per 2MiB written.

With a simple test program that logs 100K items at WARNING level:

Before:

  $ time strace -c -e fadvise64 log.test \
    -log_dir=/dev/shm -logtofiles=true -logtostderr=false
  % time     seconds  usecs/call     calls    errors syscall
  ------ ----------- ----------- --------- --------- ----------------
  100.00   12.522509         125     99957           fadvise64
  ------ ----------- ----------- --------- --------- ----------------
  real    0m52.671s
  user    0m2.194s
  sys     0m44.022s

After:

  $ time strace -c -e fadvise64 log.test \
    -log_dir=/dev/shm -logtofiles=true -logtostderr=false

  % time     seconds  usecs/call     calls    errors syscall
  ------ ----------- ----------- --------- --------- ----------------
  100.00    0.000759         152         5           fadvise64
  ------ ----------- ----------- --------- --------- ----------------
  real    0m4.206s
  user    0m1.436s
  sys     0m3.153s

Fixes issue #84
2016-12-09 19:45:34 +00:00
Ricardo Ribalda Delgado
5da5f2cac5 configure.ac: Allow user to disable gflags
Under some circumstances like cross-compilation, the user might not want
to enable support for gflags.

This patch allows support for --without-gflags

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
2016-10-20 15:59:19 +02:00