FreeBSD, code relocation, and dwarf parsing fixes
authorParadyn Project <paradyn@paradyn-freebsd.(none)>
Tue, 25 Sep 2012 17:00:19 +0000 (12:00 -0500)
committerAndrew Bernat <bernat@cs.wisc.edu>
Fri, 28 Sep 2012 20:17:26 +0000 (15:17 -0500)
commitebd68e1b9921ed7f7ed4dd4c92abec4606c4f776
treed6ba82f821012003d44804320840a9e1e538513d
parent6ac9aabb5b728a7882b4fd1cb08d58b71fd1d216
FreeBSD, code relocation, and dwarf parsing fixes

1) FreeBSD has a workaround for modifying registers on stopped process. The kernel prevents changing some flags that we can ignore. This was enabled for 32-bit; now enabled for both 32- and 64-bit.
2) We were incorrectly handling replacing a function that overlapped with other code du eto a simple logic bug. Fixed.
3) We weren't considering all names of a function in non-returning-by-name code. Fixed.
4) Our dwarf parser couldn't handle signed constants. Fixed.
25 files changed:
common/src/freebsdKludges.C
dwarf/src/dwarfFrameParser.C
dwarf/src/dwarfResult.C
dyninstAPI/src/Relocation/CFG/RelocBlock.C
dyninstAPI/src/Relocation/CodeMover.C
dyninstAPI/src/addressSpace.C
dyninstAPI/src/binaryEdit.C
dyninstAPI/src/dynProcess.C
dyninstAPI/src/function.C
dyninstAPI/src/image.C
dyninstAPI/src/mapped_object.C
dyninstAPI/src/syscallNotification.C
parseAPI/src/SymLiteCodeSource.C
parseAPI/src/SymtabCodeSource.C
proccontrol/src/freebsd.C
proccontrol/src/freebsd.h
proccontrol/src/process.C
proccontrol/src/procpool.C
proccontrol/src/sysv.C
proccontrol/src/sysv.h
stackwalk/src/sw_pcontrol.C
symlite/src/SymLite-elf.C
symtabAPI/src/Object-elf.C
symtabAPI/src/dwarfWalker.C
testsuite/src/proccontrol/pcontrol_mutatee_tools.c