[DynInst_API:] [dyninst/dyninst] 90e151: proccontrol: make computeAddrWidth independent of ...


Date: Tue, 09 Aug 2016 16:33:53 -0700
From: Josh Stone <cuviper@xxxxxxxxx>
Subject: [DynInst_API:] [dyninst/dyninst] 90e151: proccontrol: make computeAddrWidth independent of ...
  Branch: refs/heads/v9.2_patches
  Home:   https://github.com/dyninst/dyninst
  Commit: 90e1517732042e246286cbd248acb0a9f53a2c13
      https://github.com/dyninst/dyninst/commit/90e1517732042e246286cbd248acb0a9f53a2c13
  Author: Josh Stone <jistone@xxxxxxxxxx>
  Date:   2016-08-09 (Tue, 09 Aug 2016)

  Changed paths:
    M proccontrol/src/linux.C

  Log Message:
  -----------
  proccontrol: make computeAddrWidth independent of endianness

In linux_process::computeAddrWidth(), it's trying to guess the address
size without disk access, but commit c8d7481 started opening the exe to
figure out its endianness.  This is especially a problem if a process
was attached without specifying its executable.

We can modify the auxv scan to look at *both* little-endian and big-
endian words.  If either are all zero, we know this is a 64-bit process.
We could even report which endian it is from this, although we still
wouldn't know that for 32-bit processes.


  Commit: 0be0ab88a5d9d29eafba5ceae6e68a407c4a343b
      https://github.com/dyninst/dyninst/commit/0be0ab88a5d9d29eafba5ceae6e68a407c4a343b
  Author: Josh Stone <jistone@xxxxxxxxxx>
  Date:   2016-08-09 (Tue, 09 Aug 2016)

  Changed paths:
    M proccontrol/src/loadLibrary/codegen.C

  Log Message:
  -----------
  proccontrol: improve Codegen's exe lookup

Commit c8d7481 made `Codegen::generate` start opening the executable to
determine the ABI version of the process.  However, the llproc exe isn't
always set, if the process was attached without specifying it.  We can
instead get the right path from `proc_->libraries().getExecutable()`.


  Commit: 6e1b36f62c0830978ab4db44f763e030cc74a18d
      https://github.com/dyninst/dyninst/commit/6e1b36f62c0830978ab4db44f763e030cc74a18d
  Author: Josh Stone <cuviper@xxxxxxxxx>
  Date:   2016-08-09 (Tue, 09 Aug 2016)

  Changed paths:
    M proccontrol/src/linux.C
    M proccontrol/src/loadLibrary/codegen.C

  Log Message:
  -----------
  Merge pull request #147 from cuviper/attach-no-exe

proccontrol: fix process attachment without an exe


Compare: https://github.com/dyninst/dyninst/compare/6cca9d0ee6a4...6e1b36f62c08
[← Prev in Thread] Current Thread [Next in Thread→]
  • [DynInst_API:] [dyninst/dyninst] 90e151: proccontrol: make computeAddrWidth independent of ..., Josh Stone <=