- 23 Jun, 2016 1 commit
-
-
Peter Collingbourne authored
Previously we were using a module's "start address", i.e. the address at which the module's executable region was mapped, as the zero virtual address, i.e. the address from which the DSO's virtual addresses are calculated. This works fine for DSOs created by the bfd and gold linkers, which will emit a PT_LOAD directive into the program header which loads the executable region at virtual address (p_vaddr) and file offset (p_offset) 0. However, the lld linker may place a read-only region before the executable region, meaning that both p_vaddr and p_offset for the executable region are non-zero. This means that any symbols resolved by the symbolizer are resolved to an incorrect virtual address. To correctly calculate the address corresponding to virtual address zero, we need to take into account p_vaddr and p_offset. Specifically, the calculation starts with the "base address", i.e. the start address minus the file offset. To get from the base address to virtual address zero, we first add p_offset. This gives us the mapped address of the start of the segment, or in other words the mapped address corresponding to the virtual address of the segment. (Note that this is distinct from the start address, as p_offset is not guaranteed to be page aligned.) We then subtract p_vaddr, which takes us to virtual address zero.
-
- 11 Apr, 2016 1 commit
-
-
Yaz Saito on W541 authored
least in Ubuntu14, a binary file that's writable by the process owner has permission "rwx", not "r-x".
-
- 01 Mar, 2014 1 commit
-
-
their own implementation of OpenObjectFileContainingPcAndGetStartAddress. GTTF: Make stack trace symbolization code recognize more symbols. One example is __libc_start_main (easy to check), there may be more. Include the correct elf header on OpenBSD and Android. Fix Coverity NO_EFFECT defect. Comparing unsigned greater than or equal zero is always true. git-svn-id: https://google-glog.googlecode.com/svn/trunk@140 eb4d4688-79bd-11dd-afb4-1d65580434c0
-
- 29 Jul, 2013 1 commit
-
-
This patch is given by Nico (thanks!) git-svn-id: https://google-glog.googlecode.com/svn/trunk@137 eb4d4688-79bd-11dd-afb4-1d65580434c0
-
- 12 Jan, 2012 1 commit
-
-
git-svn-id: https://google-glog.googlecode.com/svn/trunk@107 eb4d4688-79bd-11dd-afb4-1d65580434c0
-
- 11 Nov, 2009 1 commit
-
-
It seems a version of arm-linux-gcc doesn't have this symbol. http://code.google.com/p/google-glog/issues/detail?id=18 git-svn-id: https://google-glog.googlecode.com/svn/trunk@73 eb4d4688-79bd-11dd-afb4-1d65580434c0
-
- 10 Mar, 2009 1 commit
-
-
git-svn-id: https://google-glog.googlecode.com/svn/trunk@41 eb4d4688-79bd-11dd-afb4-1d65580434c0
-
- 28 Jan, 2009 1 commit
-
-
git-svn-id: https://google-glog.googlecode.com/svn/trunk@39 eb4d4688-79bd-11dd-afb4-1d65580434c0
-
- 17 Oct, 2008 1 commit
-
-
has execinfo.h (e.g., MacOSX 10.5). Though dladdr may not be async signal safe, it's OK since glog's stacktrace doesn't depend on signals. git-svn-id: https://google-glog.googlecode.com/svn/trunk@7 eb4d4688-79bd-11dd-afb4-1d65580434c0
-
- 07 Oct, 2008 1 commit
-
-
git-svn-id: https://google-glog.googlecode.com/svn/trunk@2 eb4d4688-79bd-11dd-afb4-1d65580434c0
-