The binary rewriter now outputs a separate file for each mapped_object
authormlam <mlam>
Mon, 27 Oct 2008 17:23:53 +0000 (17:23 +0000)
committermlam <mlam>
Mon, 27 Oct 2008 17:23:53 +0000 (17:23 +0000)
commit6b680836658ddaf2649cc5a44a4457a39e278321
tree94736cc4665a06f6fb76e0cad1aefe9f87083df9
parent3ba9b9055fd58b0d2eccdec5c9f7211b7e8962b6
The binary rewriter now outputs a separate file for each mapped_object
that is loaded (including shared libraries, as long as they have been
modified). There are also a few misc. fixes.

- separate memory trackers for each object, and
  emit files for each instrumented ("dirty") object
M core/dyninstAPI/src/binaryEdit.C
M core/dyninstAPI/src/binaryEdit.h

- re-enabled "dirty" tracking for mapped objects
M core/dyninstAPI/src/mapped_object.h

- mark objects as "dirty" when instrumented
M core/dyninstAPI/src/function.C

- don't require shared status for fileDescriptor
  (this can be determined automatically later)
M core/dyninstAPI/src/symtab.h

- update fileDescriptor object with shared status
M core/dyninstAPI/src/symtab.C

- added dynamic library name substitution mapping
  (so rewriter can rename shared libraries)
M core/symtabAPI/h/Symtab.h
M core/symtabAPI/src/Symtab.C

- re-enabled annotation usage in Symbol
M core/symtabAPI/src/Object.C

- no negative segment addresses in program headers
  partial fix for absolute/undefined symbol distinction
  dynamic library name substitution support
M core/symtabAPI/src/emitElf.C
M core/symtabAPI/src/emitElf.h

- don't drop undefined symbols
M core/symtabAPI/src/Object-elf.C

- fixed "unused variable" warning
M core/dyninstAPI/src/registerSpace.C
13 files changed:
dyninstAPI/src/binaryEdit.C
dyninstAPI/src/binaryEdit.h
dyninstAPI/src/function.C
dyninstAPI/src/mapped_object.h
dyninstAPI/src/registerSpace.C
dyninstAPI/src/symtab.C
dyninstAPI/src/symtab.h
symtabAPI/h/Symtab.h
symtabAPI/src/Object-elf.C
symtabAPI/src/Object.C
symtabAPI/src/Symtab.C
symtabAPI/src/emitElf.C
symtabAPI/src/emitElf.h