1. 14 Jul, 2016 2 commits
  2. 23 Jun, 2016 1 commit
    • Peter Collingbourne's avatar
      symbolize: Calculate a module's zero VA using program headers. · a93a4511
      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.
      a93a4511
  3. 15 Apr, 2016 1 commit
  4. 13 Apr, 2016 2 commits
  5. 11 Apr, 2016 1 commit
  6. 31 Mar, 2016 2 commits
  7. 21 Mar, 2016 1 commit
  8. 08 Jan, 2016 2 commits
  9. 17 Dec, 2015 4 commits
  10. 27 Nov, 2015 1 commit
  11. 26 Nov, 2015 1 commit
  12. 10 Nov, 2015 3 commits
  13. 08 Sep, 2015 1 commit
    • Ruslan Baratov's avatar
      Fix missing public include directory · ccacef43
      Ruslan Baratov authored
      Path "<prefix>/include" will not be added to the headers search of dependent
      targets without specifying INSTALL_INTERFACE, i.e. compilation
      will fail with error:
      
        "fatal error: 'glog/logging.h' file not found".
      ccacef43
  14. 06 Sep, 2015 2 commits
  15. 12 Aug, 2015 4 commits
  16. 11 Aug, 2015 1 commit
  17. 10 Aug, 2015 1 commit
  18. 08 Aug, 2015 1 commit
  19. 06 Aug, 2015 8 commits
  20. 15 Jul, 2015 1 commit