i#1093 addendum: top 16 bits must be zero for x64

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@1975 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6
i#915: allow kernelbase to run on x64

With i#1093 fixed, we can continue past the kernelbase entry failure
for x64 now as well as x86.  The TRY_EXCEPT is nice to have but I
can't seem to reproduce the crash described on x64 in the original
i#915 entry: even when I disable kernel32 redirection and i#1093.

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@1976 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6
Fix bug in appending extension library paths to .drpath files.

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@1977 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6
fixes issue 350

Add support for TRY_EXCEPT_ALLOW_NO_DCONTEXT without a dcontext for
!dynamo_initialized.  Combined with the already-existing safe_read w/o
a dcontext, this covers all cases where we want TRY_EXCEPT w/o a
dcontext.  Removed support for TRY_EXCEPT_ALLOW_NO_DCONTEXT
post-dynamo_initialized with no thread-private dcontext.  Eliminated
duplication of the try_statement in the macros.

Implemented using a global try-except data struct.

I re-ordered callback_interception_init_start() to be earlier, before
loader_init(), so we can make use of this feature in the loader and
other init routines.  This required added no-thread-private-dcontext
support to some callback routines.

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@1978 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6
i#915: handle crashes in private library entry routines.

This uses the new TRY_EXCEPT_ALLOW_NO_DCONTEXT support during init
from i#350, and the re-ordering of Ki interception to before
loader_init().

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@1979 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6
fixes issue 1102

Swap TEB.StackLimit to avoid crashing on private library _chkstk
routines.  I'm only doing this on x64, as we've never seen an issue
for 32-bit.

Requires initializing IS_CLIENT_THREAD data structures before
loader_thread_init().

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@1980 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6
fixes issue 1103

NtFlushVirtualMemory takes in PULONG_PTR, not PULONG, for the size.

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@1981 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6
Support >4B 64-bit stats in DRgui:
+ Shrunk client stats name from 50 to 47
+ Added 3 digits to the displayed stats
+ Left DR's alone: they don't line up but that's fine

This ends up working nicely with the 64-bit stats client where the
instr count easily exceeds 4B.

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@1982 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6
fixes issue 1107

Re-add missing samples install rules.
Fix cmake unmatched if/endif.

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@1983 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6
Fix crash for standalone mode on dr_query_* asking about pretend
writable areas when those data structures are not initialized.

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@1984 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6
fixes issue 1113

Adds drsym_enumerate_lines(), implemented for PDB and DWARF with Linux
and Windows front-ends.

Adds a test to drsyms-test.
Manually tested mingw via adding the feature to Dr. Memory's symquery.exe.

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@1986 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6
update docs on public Windows pdb files

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@1987 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6
Fix assert in loader exit from TRY_EXCEPT_ALLOW_NO_DCONTEXT changes

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@1988 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6
fixes issue 1115

Fixes over-allocation in redirect_calloc().
Adds a test of the trigger scenario.

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@1989 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6
Add features to bbcov
- add nudge_kills in windows to notify the process for termination so that the exit event will be called.
- change coverage output name to bbcov.<appname>.<pid/tid>.<fileid>.<proc/tid>.log

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@1990 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6