12007-07-02 Hans Boehm <Hans.Boehm@hp.com> 2 3 * gc_config_macros.h: Also check for IA64 when setting 4 GC_HPUX_THREADS. 5 * mallocx.c: Change my_bytes_allocd to signed_word. 6 * include/pthread_redirects.h: Remove obsolete Solaris threads 7 (as opposed to pthreads) support. 8 92007-07-02 Hans Boehm <Hans.Boehm@hp.com> 10 11 * mach_dep.c (GC_with_callee_saves_pushed): Don't use getcontext() 12 on ARM/Linux. Check getcontext() return value. 13 142007-06-29 Hans Boehm <Hans.Boehm@hp.com> 15 16 * backgraph.c (per_object_func): Make argument types consistent. 17 (GC_traverse_back_graph): Mark GC_deepest_obj. 18 192007-06-29 Hans Boehm <Hans.Boehm@hp.com> 20 21 * finalize.c (GC_finalize): Change dl_size and fo_size to size_t. 22 * os_dep.c (GC_win32_get_mem): Add GC_mem_top_down option. 23 242007-06-28 Hans Boehm <Hans.Boehm@hp.com> 25 26 * doc/README.win32, doc/README, README.QUICK: Fix some of the worst 27 anachronisms. 28 * dyn_load.c: Partially support cygwin, but don't enable it yet. 29 302007-06-28 Hans Boehm <Hans.Boehm@hp.com> 31 32 * Makefile.am: Use -no-undefined for libgc. 33 * Makefile.in: Regenerate. 34 * Makefile.direct: Document USE_PROC_FOR_LIBRARIES. 35 * dyn_load.c (GC_register_map_entries): Rename prot_buf to prot 36 consistently. 37 * misc.c: Fix some WARN calls. Move GC_is_initialized setting and 38 GC_thr_init() call. 39 * os_dep.c: Consistently use WARN where appropriate. 40 * thread_local_alloc.c: Revert change to GC_WIN32_THREADS test. Instead 41 remove inappropriate pthread.h include. 42 * doc/README.linux: Remove some anachronisms. 43 442007-06-23 Hans Boehm <Hans.Boehm@hp.com> 45 46 * alloc.c: Also use GC_check_tls on non-Linux systems. 47 * mallocx.c (GC_reclaim_generic): Remove bogus declaration. 48 * include/private/gc_priv.h (GC_reclaim_generic): Declare correctly 49 with prototype. 50 512007-06-19 Hans Boehm <Hans.Boehm@hp.com> 52 53 * alloc.c (GC_adj_bytes_allocd): Avoid (long) casts, fix comment. 54 (GC_print_heap_sects): Use size_t instead of unsigned long. 55 * thread_local_alloc.c (GC_lookup_thread): Define in the correct 56 context. 57 * win32_threads.c, include/gc_config_macros.h: The last of Romano 58 Paolo Tenca's patch. Move stdint.h include to gc_config_macros.h. 59 * include/gc_inline.h: Avoid gc_priv.h dependencies. 60 * tests/test.c (check_heap_stats): Replace unsigned long with size_t. 61 622007-06-12 Hans Boehm <Hans.Boehm@hp.com> 63 64 * aclocal.m4: Regenerate to update date. 65 662007-06-10 Hans Boehm <Hans.Boehm@hp.com> 67 68 * NT_X64_STATIC_THREADS_MAKEFILE: Replace obsolete -debugtype:cv. 69 * mark_rts.c (GC_push_roots): Fix kind type. 70 712007-06-06 Hans Boehm <Hans.Boehm@hp.com> 72 73 * doc/README.win64: New file. 74 * doc/doc.am, Makefile.direct: Add README.win64. 75 * Makefile.in: Regenerate. 76 772007-06-06 Hans Boehm <Hans.Boehm@hp.com> 78 79 * Makefile.am, Makefile.direct: Add NT_X64_STATIC_THREADS_MAKEFILE. 80 * Makefile.in: Regenerate. 81 * NT_X64_STATIC_THREADS_MAKEFILE: Fix warning flags. 82 * allochblk.c, alloc.c, blacklst.c, dbg_malc.c, dyn_load.c, 83 finalize.c, headers.c, mach_dep.c, malloc.c, mark.c, misc.c, 84 obj_map.c, os_dep.c, ptr_chck.c, reclaim.c, typd_mlc.c, 85 win32_threads.c, cord/de_win.c, include/gc_mark.h, 86 include/private/gc_hdrs.h, include/private/gc_pmark.h, 87 include/private/gc_priv.h, tests/test_cpp.cc: 88 Replace old style function declarations. Clean up integral types. 89 Remove register declarations. The change in malloc.c and the 90 "int descr" declaration in mark.c are the most likely to have 91 been real bugs outside of win64. 92 * msvc_dbg.c: Disable on win64. 93 * win32_threads.c: Add AMD64 support. 94 * include/gc.h: no backtrace on AMD64 for now. 95 962007-06-06 Hans Boehm <Hans.Boehm@hp.com> 97 98 * msvc_dbg.c(GetModuleBase): Replace strcat with strcat_s. 99 1002007-06-06 Hans Boehm <Hans.Boehm@hp.com> 101 102 * include/gc.h: (GC_word, GC_signed_word): Fix win64 definitions. 103 Don't include windows.h in an extern "C" context. 104 * include/private/gcconfig.h: Fix win64/X86_64 configuration. 105 * tests/test.c: Eliminate more old style function definitions. 106 Cleanup pointer and integer casts for win64. 107 * tests/test_cpp.cc: Don't include gc_priv.h. 108 * NT_STATIC_THREADS_MAKEFILE: Restrict suffixes for VC++ 2005. 109 * NT_X64_STATIC_THREADS_MAKEFILE: New. 110 1112007-06-06 Hans Boehm <Hans.Boehm@hp.com> (Really mostly Romano Paolo Tenca) 112 113 * win32_threads.c: Separate out DEBUG_WIN32_PTHREADS_STACK. Ignore 114 FINISHED threads for suspension. (GC_pthread_join): Add 115 pthread_self() cast. (GC_pthread_start_inner): Execute cleanup 116 handler when popping it. 117 * include/private/gc_locks.h: Inline THREAD_EQUAL for 118 GC_WIN32_PTHREADS. Define USE_PTHREAD_LOCKS only if we have 119 pthreads. 120 1212007-05-23 Hans Boehm <Hans.Boehm@hp.com> (Really mostly Romano Paolo Tenca) 122 123 * gc_dlopen.c, thread_local_alloc.c, threadlibs.c, win32_threads.c, 124 tests/test.c: Accomodate GC_WIN32_PTHREADS. 125 * include/gc.h: Don't include windows.h for GC_WIN32_PTHREADS. 126 * include/gc_config_macros.h: Define both PTHREADS and 127 GC_WIN32_THREADS. 128 * include/private/gc_locks.h: Nonstandard definitions of 129 NUMERIC_THREAD_ID for GC_WIN32_PTHREADS. 130 * doc/README.win32, Makefile.direct: Include documentation 131 for GC_WIN32_PTHREADS. 132 * Makefile.direct: Remove some anachronisms in the documentation. 133 1342007-05-23 Hans Boehm <Hans.Boehm@hp.com> 135 136 * Makefile.am: Move includes to bottom. Add better library 137 dependencies. Increment library version. Remove "SUBDIRS += .". 138 * cord/cord.am, tests/tests.am: Add better library dependencies. 139 Remove now unnecessary dependencies. 140 * Makefile.in: Regenerate. 141 * include/gc.h (GC_begin_thread_ex, GC_endthreadex, GC_ExitThread): 142 Move to define on all Windows platforms. (_beginthread): define 143 to generate error if used. 144 1452007-05-22 Hans Boehm <Hans.Boehm@hp.com> 146 147 * include/private/gc_locks.h: Format to 80 columns. 148 1492007-05-22 Hans Boehm <Hans.Boehm@hp.com> 150 151 * malloc.c(GC_free): Ignore bad frees on MSWIN32 with REDIRECT_MALLOC. 152 * NT_MAKEFILE: msvc_dbg.h is in include/private. Don't use cvars 153 rc. 154 * misc.c (WIN32 GC_write): Define GC_need_to_lock in single-threaded 155 case. 156 * win32_threads.c: Test for __MINGW32__ in addition to _MINGW_VER. 157 (GC_CreateThread, GC_beginthreadex): Deallocate args even if we fail. 158 * include/gc.h: Add GC_reachable_here(). (GC_WinMain): Add GC_API. 159 (GC_beginthreadex, GC_endthreadex, GC_ExitThread): Declare. 160 * tests/test.c: Add GC_reachable_here() call. 161 1622007-05-21 Hans Boehm <Hans.Boehm@hp.com> 163 164 * alloc.c (GC_try_to_collect): Call GC_init if necessary. 165 * tests/thread_leak_test.c: Don't unconditionally define 166 GC_LINUX_THREADS. 167 1682007-05-21 Andreas Tobler <a.tobler@schweiz.org> 169 170 * Makefile.am: Remove extra_ldflags_libgc definition. 171 * Makefile.in: Regenerate. 172 1732007-05-17 Hans Boehm <Hans.Boehm@hp.com> 174 175 * include/private/gc_priv.h: Define AO_REQUIRE_CAS. 176 1772007-05-16 Hans Boehm <Hans.Boehm@hp.com> 178 179 * finalize.c (GC_unreachable_finalize_mark_proc): Don't return void 180 value. 181 1822007-05-15 Hans Boehm <Hans.Boehm@hp.com> 183 184 * configure.ac, version.h, doc/README: Change version to 7.0alpha10. 185 * configure: Regenerate. 186 187[7.0alpha9 release] 188 1892007-05-15 Hans Boehm <Hans.Boehm@hp.com> 190 191 * configure.ac, version.h, doc/README: Change version to 7.0alpha9. 192 * configure: Regenerate. 193 1942007-05-15 Hans Boehm <Hans.Boehm@hp.com> 195 196 * Makefile.am: Include NT_STSTIC_THREADS_MAKEFILE in dist. 197 * Makefile.in: Regenerate. 198 * include/private/gc_locks.h: GC_compare_and_exchange, GC_atomic_add: 199 remove. NUMERIC_THREAD_ID, THREAD_EQUAL: New. GC_lock_holder: now 200 unsigned long. I_DONT_HOLD_LOCK, I_HOLD_LOCK: Update. 201 * pthread_stop_world.c, pthread_support.c, win32_threads.c: Use 202 NUMERIC_THREAD_ID, THREAD_EQUAL. 203 * include/private/gcconfig.h: GENERIC_COMPARE_AND_SWAP: Remove. 204 * include/private/thread_local_alloc.h: Don't USE_COMPILER_TLS on 205 ARM. 206 2072007-05-11 Hans Boehm <Hans.Boehm@hp.com> 208 209 * dbg_mlc.c, include/gc.h, finalize.c: Merge Alexandre Oliva's 210 GC_debug_register_finalizer_unreachable() patch from gcc tree. 211 * thread_local_alloc.c (GC_malloc, GC_malloc_atomic): Add assertions 212 to check GC has been initialized. 213 2142007-05-10 Hans Boehm <Hans.Boehm@hp.com> 215 216 * include/gc_cpp.h: Documentation updates. 217 * include/gc_config_macros.h: Don't check for __ppc__ to set 218 DARWIN_THREADS. 219 * Makefile.am: Include configure_atomic_ops.sh in dist. 220 * Makefile.in: Regenerate. 221 2222007-05-08 Hans Boehm <Hans.Boehm@hp.com> 223 224 * Makefile.am: Dont distribute copied atomic_ops files. Include 225 libatomic_ops with "make dist". 226 * Makefile.in: Regenerate. 227 * configure: Regenerate. 228 * configure.ac: Enable THREAD_LOCAL_ALLOC for Cygwin with threads. 229 * win32_threads.c: Report error for Cygwin + GC_DLL. 230 2312007-05-08 Hans Boehm <Hans.Boehm@hp.com> 232 233 * Makefile.direct: Update THREAD_LOCAL_ALLOC documentation. 234 * cord/de_win.c: Rename and move AboutBox. Call GC_INIT. Remove 235 MakeProcInstance anachronism. 236 * doc/README.macros: Officially remove elif prohibition. 237 Remove documentation for defunct SRC_M3 support. 238 * include/gc.h: Remove more SRC_M3 references. 239 * include/private/gcconfig.h: Remove still more SRC_M3 references. 240 GC_SOLARIS_THREADS no longer needs to be checked separately. 241 2422007-05-08 Hans Boehm <Hans.Boehm@hp.com> 243 244 * thread_local_alloc.c, include/private/thread_local_alloc.h: 245 Spell __declspec correctly. 246 * NT_STATIC_THREADS_MAKEFILE: Enable thread-local allocation. 247 2482007-05-07 Hans Boehm <Hans.Boehm@hp.com> 249 250 * doc/README.win32: Adjust GC_win32_dll_threads rules again. 251 2522007-05-07 Hans Boehm <Hans.Boehm@hp.com> 253 254 * mark.c (GC_mark_some wrapper): Restructure for readability, handle 255 GC_started_thread_while_stopped. 256 * misc.c (Win32 GC_write): Lock GC_write_cs only if needed. 257 * win32_threads.c: (client_has_run): remove, 258 GC_started_thread_while_stopped, GC_attached_thread: add. 259 (GC_push_all_stacks): Add verbose output. 260 (DllMain): Avoid initializing collector or the like. 261 Never update both thread tables. 262 * doc/README.win32: Adjust GC_win32_dll_threads rules. 263 2642007-05-07 Hans Boehm <Hans.Boehm@hp.com> 265 266 * pthread_stop_world.c (GC_push_all_stacks): Print thread count with 267 GC_PRINT_VERBOSE_STATS. 268 2692007-05-01 Hans Boehm <Hans.Boehm@hp.com> 270 (and Manuel Serrano, Craig McDaniel) 271 272 * configure.ac: Comment out redundant 273 AC_DEFINE(NO_EXECUTE_PERMISSION). 274 * configure: Regenerate. 275 * sparc_mach_dep.S: Remove single quote in comment. 276 * include/private/gcconfig.h: Fix DATAEND for NONSTOP. 277 * win32_threads.c: Include stdint.h for Mingw. Add GC_API for DllMain. 278 (GC_use_DllMain): Fix assertion. 279 2802007-02-14 Andreas Tobler <a.tobler@schweiz.org> 281 282 * configure.ac: Introduce extra_ldflags_libgc. Use it for Darwin. 283 * configure: Regenerate. 284 * Makefile.am (libgc_la_LDFLAGS): Use extra_ldflags_libgc. 285 * Makefile.in: Regenerate. 286 * include/private/gcconfig.h: Enable MPROTECT_VDB for all Darwin 287 targets. Remove comments. 288 Prepare ppc64 support for Darwin. 289 2902007-01-29 Andreas Tobler <a.tobler@schweiz.org> 291 292 * darwin_stop_world.c: Clean up and reformat code. 293 2942007-01-28 Andreas Tobler <a.tobler@schweiz.org> 295 296 * darwin_stop_world.c (GC_push_all_stacks): Fix compiler warnings. 297 Make i unsigned. 298 (GC_stop_world): Likewise. Remove unused GC_thread p. 299 (GC_start_world): Likewise. 300 301 * os_dep.c: Define GC_darwin_register_mach_handler_thread extern. 302 Remove double SIG_HNDLR_PTR definition. 303 (GC_forward_exception): Fix compiler warnings, make i unsigned. 304 Initialize thread_state to NULL. 305 (catch_exception_raise): Fix compiler warnings, make i unsigned. 306 3072007-01-25 Petr Salinger and Hans Boehm <Hans.Boehm@hp.com> 308 309 * include/private/gc_priv.h (NEED_FIND_LIMIT, FREEBSD variant): 310 also define for X86_64. 311 * configure.ac: Move generic gnu (Hurd) case to below kfreebsd case. 312 * configure: Regenerate. 313 * README.changes: Point to ChangeLog. 314 3152007-01-25 Andreas Tobler <a.tobler@schweiz.org> 316 317 * darwin_stop_world.c: Move THREAD_FLD defines to ... 318 * include/private/gc_priv.h: ... here. 319 Fix THREAD_STATE definitions for ppc64. 320 * os_dep.c (catch_exception_raise): Use THREAD_FLD for exc_state member 321 access. 322 3232007-01-18 Andreas Tobler <a.tobler@schweiz.org> 324 325 * os_dep.c (if defined(MPROTECT_VDB) && defined(DARWIN)): Clean up and 326 reformat code. 327 Correct email reference. 328 3292007-01-11 Andreas Tobler <a.tobler@schweiz.org> 330 331 * configure.ac (i?86*-*-darwin*): Replaced HAS_I386_THREAD_STATE_* with 332 HAS_X86_THREAD_STATE32_*. 333 (x86_64-*-darwin*): Extended the above check for x86_64-*-darwin* with 334 HAS_X86_THREAD_STATE64_*. 335 Added value 1 in the above AC_DEFINE's. Important for the upcoming 336 Leopard. 337 * configure: Regenerated. 338 * include/private/gcconfig.h: Modified X86_64 define for Darwin. 339 Removed __x86_64__ check in POWERPC section. Added base definitions 340 for the X86_64 Darwin port. 341 * include/private/gc_priv.h: Added GC_MACH_HEADER and GC_MACH_SECTION 342 to distinguish between 32 and 64-bit applications. Added definitions 343 for X86_64 Darwin. 344 * darwin_stop_world.c: Added HAS_X86_THREAD_STATE64___RAX. And 345 replaced HAS_I386_THREAD_STATE___EAX with HAS_X86_THREAD_STATE32___EAX. 346 (GC_push_all_stacks): Added code for X86_64 Darwin. Even for the 347 !DARWIN_DONT_PARSE_STACK. Maybe obsolete. 348 * dyn_load.c (GC_dyld_name_for_hdr): Use GC_MACH_HEADER. 349 (GC_dyld_image_add): Use GC_MACH_HEADER and GC_MACH_SECTION. 350 Distinguish between getsectbynamefromheader_64 and 351 getsectbynamefromheader. 352 * os_dep.c (catch_exception_raise): Introduce exception definition for 353 X86_64 Darwin. Replaced old i386_EXCEPTION_STATE_* definition with 354 x86_EXCEPTION_STATE32_*. Add X86_64 for exc_state.faultvaddr. 355 3562007-01-09 Andreas Tobler <a.tobler@schweiz.org> 357 358 * libtool.m4: Update to version from libtool-1.5.22. 359 * ltmain.sh: Likewise. 360 * ChangeLog: Created. 361 362See doc/README.changes for earlier changes. 363 364