Refactor map_elf_phdrs into elf_loader_t

Partially implements an optimization to avoid an extra mmap() syscall in
favor of read().  The private loader still mmaps the whole file to
get the address of the .text section.

Prepares to reuse the loader code to implement ptrace-based injection.

Review URL: https://codereview.appspot.com/6901057

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@1812 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6
fixed issue 1041
- Add MAP_32BITS back to os_heap_reserve
- Add os_raw_mem_alloc/free for dr_raw_mem_alloc/free
- Change dr_raw_mem_alloc API to return the address actually allocated

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@1813 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6
Update docs for 4.0.1 release.  Added separators between changelists as
we now have quite a few.

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

Lack of OS_OPEN_APPEND implies truncation, so set O_TRUNC on Linux.

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@1816 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6
fix VPS build failure

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@1817 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6
i#1051: pcache + reset

1) Fix bug where coarse units are marked non-primary post-reset, which
   prevented any persistence post-reset.
2) Disable reset when -persist is specified, until we come up with
   reasonable ways to combine their behavior.

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@1818 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6
- add drtable extension
- add bbcov sample
- update release.dox about drtable

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@1819 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6
- upgrade drtable size from uint to ptr_uint_t
- add option in bbcov sample
- add cbr target/fall online check in bbcov sample

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@1820 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6
Final static branch commit.
add gcc44
Merge branch 'master' into fix-static-build
i#975: Hide symbols in the STATIC_LIBRARY build on Unix

This is accomplished by doing a partial link (ld -r) and then using
objcopy --localize-hidden.  In GNU visiblity lingo, "hidden" means
public outside the individual translation unit, and "local" means the
same thing as C static.

In particular, we need to hide our string routines and our getenv
implementation.

Re-enables linux.fib-static and -pie which now pass with STATIC_LIBRARY.

Review URL: https://codereview.appspot.com/7029052

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@1821 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6
Merge branch 'master' into fix-static-build