Extend thread-related debug messages.
All interior pointers must be enabled for finalized allocation.

* include/gc_disclaim.h: Add note about all-interior-pointers requirement.
* fnlz_mlc.c (GC_init_finalized_malloc): Abort with a useful message if all
interior pointers are not enabled.
* tests/disclaim_bench.c, tests/disclaim_test.c: Enable all interior
pointers for tests.
Move finalizer closure to the end of objects.

* fnlz_mlc.c: Move finalizer closure for finalized object kinds to the end
of objects.  This way, we don't require all interior pointers, and GC_base
returns the expected address.
* tests/disclaim_test.c: Improve test coverage.
Remove closure data from GC_register_disclaim_proc.

* include/gc_disclaim.h, fnlz_mlc.c (GC_disclaim_proc, GC_register_disclaim_proc):
Remove CD from typedef and function.
* reclaim.c (GC_reclaim_uninit, GC_reclaim_block): Adjust calls.
* include/private/gc_priv.h, misc.c: Remove CD from object kind struct and
initializers.
Export GC_push manipulation functions and function pointer.

* include/private/gc_priv.h, include/gc_mark.h: Move GC_push_all,
GC_push_conditional and GC_push_other_roots to a public header and adjust
prototypes and comment.
* mark.c, os_dep.c: Adjust prototypes accordingly.
Fix AM_CONFIG_HEADER in configure for autoconf-2.69-1

* configure.ac (AM_CONFIG_HEADER): Replace obsolete macro with with
AC_CONFIG_HEADERS one.
Fix triple-letter typos in comments and documentation

* ChangeLog: Fix triple-letter typos.
* doc/overview.html: Likewise.
* mark.c (GC_push_marked1): Fix a triple-letter typo in a comment.
* os_dep.c (GC_register_data_segments): Likewise.
Remove GC_BUILD definition from build scripts

* CMakeLists.txt (ADD_DEFINITIONS): Remove -D GC_BUILD (not
needed since it is defined in gc_priv.h, gc_pmark.h and
gc_cpp.cc).
* WCC_MAKEFILE (CFLAGS): Likewise.
* build/s60v3/libgc.mmp: Likewise.
* digimars.mak (DEFINES, tests/test.obj): Likewise.
* windows-untested/vc60/gc.dsp (ADD CPP): Likewise.
* windows-untested/vc60/libgc.dsp (ADD CPP): Likewise.
* windows-untested/vc60/libgcmt.dsp (ADD CPP): Likewise.
* windows-untested/vc70/gc.vcproj (PreprocessorDefinitions): Likewise.
* windows-untested/vc70/libgc.vcproj (PreprocessorDefinitions):
Likewise.
* windows-untested/vc70/libgcmt.vcproj (PreprocessorDefinitions):
Likewise.
* windows-untested/vc71/gc.vcproj (PreprocessorDefinitions): Likewise.
* windows-untested/vc71/libgc.vcproj (PreprocessorDefinitions):
Likewise.
* windows-untested/vc71/libgcmt.vcproj (PreprocessorDefinitions):
Likewise.
* extra/MacOS.c: Define GC_BUILD (before include of gc.h).
* extra/msvc_dbg.c: Likewise.
* windows-untested/vc60/gc.dsp (MESSAGE, ENDIF): Remove trailing
spaces at EOLn.
* windows-untested/vc60/libgc.dsp (MESSAGE, ENDIF): Likewise.
* windows-untested/vc60/libgcmt.dsp (MESSAGE, ENDIF): Likewise.
Enable staticrootstest for the case of GC shared library build

* tests/staticrootslib.c (GC_TEST_EXPORT_API): New macro (defined to
set GCC default visibility attribute if GC_VISIBILITY_HIDDEN_SET
unless Win32).
* tests/staticrootslib.c (root): Remove unused global variable.
* tests/staticrootslib.c (libsrl_mktree, libsrl_init): Decorate with
GC_TEST_EXPORT_API.
* tests/staticrootstest.c (GC_VISIBILITY_HIDDEN_SET): Do not check (do
not skip the test).
* tests/staticrootstest.c (GC_TEST_IMPORT_API): New macro.
* tests/staticrootstest.c (root): Explicitly specify zero initializer.
* tests/staticrootstest.c (libsrl_mktree, libsrl_init): Decorate with
GC_TEST_IMPORT_API.
* tests/staticrootstest.c (mktree, main): Remove commented out code.
* tests/staticrootstest.c (main): Avoid code duplication.
* tests/tests.am (staticrootstest_LDADD, check_LTLIBRARIES,
libstaticrootslib_la): Rename libstaticrootslib to
libstaticrootslib_test.
Improve staticrootstest: add global data to library, add lib w/o GC_INIT

* tests/staticrootslib.c: Do not include stdio.h (not needed).
* tests/staticrootslib.c (root, root_nz): New static variables.
* tests/staticrootstest.c (root_nz): Likewise.
* tests/staticrootslib.c (libsrl_getpelem): New exported function
(exported as "libsrl_getpelem2" if STATICROOTSLIB2).
* tests/staticrootslib.c (libsrl_mktree, libsrl_init): Do not define
if STATICROOTSLIB2.
* tests/staticrootslib.c (libsrl_init): Do not call GC_INIT if
STATICROOTSLIB_INIT_IN_MAIN defined.
* tests/staticrootstest.c (libsrl_getpelem, libsrl_getpelem2): Declare
imported function.
* tests/staticrootstest.c (main): Call GC_INIT if
STATICROOTSLIB_INIT_IN_MAIN defined; set *libsrl_getpelem2() (only if
STATICROOTSLIB2 defined), *libsrl_getpelem() and root_nz[] elements
(similar to that of root[]).
Adjust build scripts to enable additional test library in staticrootstest
(The 2nd test library contains global data too but has no GC_INIT call.)

* tests/tests.am (staticrootstest_CFLAGS,
libstaticrootslib2_test_la_CFLAGS): New definition (to test with
libsrl_getpelem2() enabled).
* tests/tests.am (staticrootstest_LDADD, check_LTLIBRARIES): Add
libstaticrootslib2_test.la.
* tests/tests.am (libstaticrootslib2_test_la_SOURCES,
libstaticrootslib2_test_la_LIBADD,
libstaticrootslib2_test_la_LDFLAGS): New definition (similar to that
of libstaticrootslib_test_la_X).
Convert readme to markdown.
Adjust README filename in README.QUICK
Adjust README.md title and references to doc .html files in it
Default to use libc_stack_end in single-threaded GC on glibc targets

* include/private/gcconfig.h (USE_LIBC_PRIVATES): Define for glibc
(unless DONT_USE_LIBC_PRIVATES is defined).
Fix GC_INIT_CONF_ROOTS in gc.h for Android (define __data_start as weak)

* include/gc.h (GC_INIT_CONF_ROOTS): Define __data_start as weak
symbol for Android (including x86 and MIPS targets); do not call
GC_add_roots if __data_start symbol is unresolved.
Register dynamic libraries via dl_iterate_phdr on Android if possible

* dyn_load.c (HAVE_DL_ITERATE_PHDR): Define also for Android.
* dyn_load.c (dl_iterate_phdr): Declare explicitly for Android (since
no prototype in NDK link.h for ARM).
Register dynamic libraries via dl_iterate_phdr on OpenBSD

* dyn_load.c (HAVE_DL_ITERATE_PHDR): Define for OpenBSD (with release
date 2005.19 or later).
Update AUTHORS file
Remove unused UTHREAD_SP_OFFSET macro (OpenBSD)

* include/private/gcconfig.h (UTHREAD_SP_OFFSET): Do not define (since
no longer used for OpenBSD because pthread_stackseg_np is used to get
thread stack pointer).