C++ implementation of the Google logging module
Go to file
Peter Collingbourne c4d37a78cc Compute base addresses from program headers while reading /proc/self/maps.
We previously had logic to compute the base address from program
headers as part of symbolization. The problem is that we need a correct
base address earlier in order to adjust a PC into the image's address
space, as these addresses can appear in unsymbolized output.

There was previously an assumption that only the mapping that
was lowest in the address space did not need to be adjusted. This
assumption is not guaranteed (for example, the kernel may choose to
map an ET_DYN lowest) and in fact turned out to be wrong in binaries
linked with lld because the first mapping is read-only.

The solution is to move the program header reading logic into the
code that reads /proc/self/maps.

There is a change in semantics for clients that install a callback
using the InstallSymbolizeOpenObjectFileCallback function. Any such
clients will need to return a correct base address from the callback
by reading program headers using code similar to that in the function
OpenObjectFileContainingPcAndGetStartAddress.
2017-11-08 14:15:02 -08:00
cmake cmake: fixed gflags namespace detection (fixes #193) 2017-07-09 15:48:13 +02:00
doc Document update: how to modify FLAGS_* in glog 2013-01-25 06:03:56 +00:00
m4 Run autoreconf on ubuntu precise 2013-01-09 13:26:44 +00:00
packages glog: release 0.3.5 2017-05-09 16:27:57 +09:00
src Compute base addresses from program headers while reading /proc/self/maps. 2017-11-08 14:15:02 -08:00
vsprojects Add static library project and its unittest. 2009-01-23 18:56:19 +00:00
.gitignore Update gitignore for CMake and Visual Studio 2017-07-26 11:34:52 -07:00
AUTHORS Add Andrew Schwartzmeyer to authors and contributors 2017-06-26 16:21:10 -07:00
autogen.sh Remove files generated by autotools 2017-05-12 14:53:39 +09:00
ChangeLog Release glog 0.3.3 2013-02-01 06:20:46 +00:00
CMakeLists.txt Merge pull request #245 from DariuszOstolski/issue211 2017-10-20 16:09:28 +09:00
configure.ac Fix username lookup in case of missing USER environment variable 2017-09-19 22:23:53 +02:00
CONTRIBUTING.md Add the typical Google contributors and authors files. 2015-03-16 10:50:32 +00:00
CONTRIBUTORS Add Jim Ray to CONTRIBUTORS 2017-08-06 00:13:30 -07:00
COPYING A bug fix for Windows: Use GetSystemTimeAsFileTime instead of GetSystemTime. SYSTEMTIME's mSecond is not a unix time but like tm.tm_sec. 2009-04-09 07:49:44 +00:00
glog-config.cmake.in cmake: allow to refer to imported glog target as glog::glog 2016-01-08 14:55:58 +01:00
INSTALL Fix regression of r23. 2009-07-08 15:38:35 +00:00
libglog.pc.in Generation of pkg-config metadata file. 2009-04-10 05:49:58 +00:00
ltmain.sh Run autoreconf on ubuntu precise 2013-01-09 13:26:44 +00:00
Makefile.am Compute base addresses from program headers while reading /proc/self/maps. 2017-11-08 14:15:02 -08:00
NEWS glog 0.1 2008-10-07 05:43:05 +00:00
README Remove files generated by autotools 2017-05-12 14:53:39 +09:00
README.windows Update Windows readme for CMake 2017-07-26 11:35:04 -07:00

This repository contains a C++ implementation of the Google logging
module.  Documentation for the implementation is in doc/.

See INSTALL for (generic) installation instructions for C++: basically
   ./autogen.sh && ./configure && make && make install