aboutsummaryrefslogtreecommitdiff
path: root/boehm-gc/os_dep.c
AgeCommit message (Collapse)AuthorFilesLines
2015-08-27Avoid unstructured procfs on SolarisRainer Orth1-5/+3
* os_dep.c [GC_SOLARIS_THREADS] (GC_dirty_init): Use /proc/<pid>/pagedata instead of PIOCOPENPD. From-SVN: r227254
2013-03-06Use thr_stksegment to determine Solaris stack baseRainer Orth1-1/+53
* os_dep.c [SOLARIS_STACKBOTTOM] (GC_solaris_stack_base): New function. [!BEOS && !AMIGA && !MSWIN32 && !MSWINCE && !OS2 && !NOSYS && !ECOS] (GC_get_stack_base): Use it. * include/private/gcconfig.h [SPARC && SUNOS5] (SOLARIS_STACKBOTTOM): Define. (STACKBOTTOM, HEURISTIC2): Remove. [I386 && SUNOS5] (SOLARIS_STACKBOTTOM): Define. (STACKBOTTOM): Remove. From-SVN: r196490
2012-11-04configure.ac: Add stanza for *-*-gnu* threads configuration.Samuel Thibault1-2/+2
boehm-gc/ * configure.ac: Add stanza for *-*-gnu* threads configuration. * configure: Regenerate. * include/gc_config.h.in: Likewise. * dyn_load.c (_GNU_SOURCE): Define for __GNU__. * include/gc_config_macros.h (_REENTRANT, GC_PTHREADS): Define for GC_GNU_THREADS. * include/private/gcconfig.h (DATASTART): Don't define for I386 && HURD. (SIG_SUSPEND, SIG_THR_RESTART, SEARCH_FOR_DATA_START): Define for I386 && HURD. (UNIX_LIKE, REGISTER_LIBRARIES_EARLY): Define for HURD. * os_dep.c (GC_init_linux_data_start): Handle for HURD. * pthread_support.c (GC_thr_init): Add case for GC_GNU_THREADS. * specific.c: Use for GC_GNU_THREADS. * threadlibs.c: Add case for GC_GNU_THREADS. From-SVN: r193142
2010-03-21PR target/42811 (prerequisite)Dave Korn1-7/+19
PR target/42811 (prerequisite) * include/private/gc_priv.h (struct roots) [CYGWIN32]: Don't declare r_next member on Cygwin as on other windows hosts. (LOG_RT_SIZE) [CYGWIN32]: Don't define likewise. (RT_SIZE) [CYGWIN32]: Likewise. (struct _GC_arrays) [CYGWIN32]: Do declare _heap_bases[] member likewise. (GC_heap_bases) [CYGWIN32]: Do define likewise. (struct _SYSTEM_INFO) [CYGWIN32]: Do forward-declare likewise. (GC_sysinfo) [CYGWIN32]: Do declare extern likewise. (GC_n_heap_bases) [CYGWIN32]: Likewise. (GC_is_tmp_root) [CYGWIN32]: Do prototype likewise. * include/private/gcconfig.h (GC_win32_get_mem) [CYGWIN32]: Likewise. (GET_MEM) [CYGWIN32]: Do define likewise. * boehm-gc/ptr_chck.c (GC_is_visible) [CYGWIN32]: Do handle dynamic registration likewise. * boehm-gc/os_dep.c (GC_setpagesize) [CYGWIN32]: Do define likewise. (GC_no_win32_dlls) [CYGWIN32]: Define as constant false, unlike other windows hosts. (GC_sysinfo) [CYGWIN32]: Define as on other windows hosts. (GC_n_heap_bases) [CYGWIN32]: Likewise. (GLOBAL_ALLOC_TEST) [CYGWIN32]: Likewise. (GC_win32_get_mem) [CYGWIN32]: Likewise, but wrapping GC_unix_get_mem rather than GlobalAlloc/VirtualAlloc. (GC_win32_free_heap) [CYGWIN32]: Likewise, but wrapping free instead of GlobalFree (even though the function body is optimised away). * boehm-gc/mark_rts.c (add_roots_to_index) [CYGWIN32]: Define as on other windows hosts. (GC_add_roots_inner) [CYGWIN32]: Avoid overlapping or adjacent intervals likewise. (GC_clear_roots) [CYGWIN32]: Clear GC_root_index[] likewise. (GC_rebuild_root_index) [CYGWIN32]: Define as on other windows hosts. (GC_remove_tmp_roots) [CYGWIN32]: Call it likewise. (GC_remove_roots) [CYGWIN32]: Don't define, as on other windows hosts. (GC_is_tmp_root) [CYGWIN32]: Define, as on other windows hosts. (GC_cond_register_dynamic_libraries) [CYGWIN32]: Handle temporary roots and dynamic registration likewise. * boehm-gc/dyn_load.c (GC_has_static_roots) [CYGWIN32]: Define as on other windows hosts. (GC_register_has_static_roots_callback) [CYGWIN32]: Likewise. (GC_cond_add_roots) [CYGWIN32]: Likewise. (GC_register_main_static_data) [CYGWIN32]: Define to always return false, as on MSWINCE (HAVE_REGISTER_MAIN_STATIC_DATA) [CYGWIN32]: Define as on other windows hosts. (GC_warn_fb) [CYGWIN32]: Likewise. (GC_disallow_ignore_fb) [CYGWIN32]: Likewise. (GC_ignore_fb_mb) [CYGWIN32]: Likewise. (GC_ignore_fb) [CYGWIN32]: Likewise. (is_frame_buffer) [CYGWIN32]: Likewise. (GC_dump_meminfo) [CYGWIN32]: Likewise. (GC_wnt) [CYGWIN32]: Define to constant true. (GC_register_dynamic_libraries) [CYGWIN32]: Define as on other windows hosts. From-SVN: r157604
2009-11-30os_dep.c: Use the POSIX signal API in preference to the BSD API.Ben Elliston1-6/+8
* os_dep.c: Use the POSIX signal API in preference to the BSD API. Generate a compilation error if neither the POSIX nor BSD APIs can be detected. From-SVN: r154747
2007-01-19os_dep.c (defined(MPROTECT_VDB) && defined(DARWIN)): Moved recently added ↵Andreas Tobler1-10/+1
defines to include/private/gc_priv.h 2007-01-19 Andreas Tobler <a.tobler@schweiz.org> * os_dep.c (defined(MPROTECT_VDB) && defined(DARWIN)): Moved recently added defines to include/private/gc_priv.h * darwin_stop_world.c: Removed the above defines. (catch_exception_raise): Added THREAD_FLD in exc_state for POWERPC too. * include/private/gc_priv.h: Moved definitions from darwin_stop_world.c and os_dep.c to here. Fixed THREAD definition fixes for ppc64. From-SVN: r120977
2007-01-17* os_dep.c: Fix i686-apple-darwin9 builds.Mike Stump1-1/+10
From-SVN: r120874
2007-01-16gcconfig.h: Handle amd64/x86-64 cpu under GNU/kFreeBSD.Petr Salinger1-2/+2
2007-01-16 Petr Salinger <Petr.Salinger@seznam.cz> * include/private/gcconfig.h: Handle amd64/x86-64 cpu under GNU/kFreeBSD. * os_dep.c: Likewise. From-SVN: r120831
2007-01-15os_dep.c (defined(MPROTECT_VDB) && defined(DARWIN)): Adjust mail reference.Andreas Tobler1-2/+2
2007-01-15 Andreas Tobler <a.tobler@schweiz.org> * os_dep.c (defined(MPROTECT_VDB) && defined(DARWIN)): Adjust mail reference. (catch_exception_raise): Fix typo in the I386 exc_state. From-SVN: r120801
2007-01-11configure.ac: Replaced HAS_I386_THREAD_STATE_* with HAS_X86_THREAD_STATE32_* ↵Andreas Tobler1-6/+12
and... 2007-01-11 Andreas Tobler <a.tobler@schweiz.org> * configure.ac: Replaced HAS_I386_THREAD_STATE_* with HAS_X86_THREAD_STATE32_* and HAS_X86_THREAD_STATE64_* respectively. * configure: Regenerated. * include/private/gcconfig.h (DARWIN): Added X86_64 define for Darwin. Added base definitions for the X86_64 Darwin port. * include/private/gc_priv.h: Added definitions for Darwin MACH thread operations. Moved existing THREAD_STATE info from darwin_stop_world.c. * darwin_stop_world.c: Removed THREAD_STATE info. Added HAS_X86_THREAD_STATE64___RAX. And replaced HAS_I386_THREAD_STATE___EAX with HAS_X86_THREAD_STATE32___EAX. (GC_push_all_stacks): Use GC_MACH_THREAD_STATE_COUNT. Add code for X86_64 Darwin. * dyn_load.c (GC_dyld_name_for_hdr): Use GC_MACH_HEADER. (GC_dyld_image_add): Use GC_MACH_HEADER and GC_MACH_SECTION. Distinguish between getsectbynamefromheader_64 and getsectbynamefromheader. (GC_dyld_image_remove): Likewise. * os_dep.c (GC_dirty_init): Use GC_MACH_THREAD_STATE. (catch_exception_raise): Introduce exception information for I386 and X86_64 Darwin. Add X86_64 for exc_state.faultvaddr. From-SVN: r120684
2006-09-21os_dep.c: Port to Darwin/i386Sandro Tolaini1-0/+10
2006-09-21 Sandro Tolaini <tolaini@libero.it> * os_dep.c: Port to Darwin/i386 * darwin_stop_world.c: Likewise * include/private/gcconfig.h: Likewise From-SVN: r117126
2006-06-20Backport Windows 9x/ME VirtualQuery() fix from GC 6.7.Ranjit Mathew1-1/+4
* os_dep.c (GC_wnt): Define. (GC_init_win32): Set GC_wnt. * dyn_load.c (GC_register_dynamic_libraries): Consider MEM_PRIVATE sections also on Windows 9x/ME. From-SVN: r114818
2006-01-25Import Boehm GC version 6.6.Bryce McKinlay1-74/+107
From-SVN: r110204
2005-06-15os_dep.c: Add FreeBSD/PowerPC bits.Andreas Tobler1-2/+2
2005-06-15 Andreas Tobler <a.tobler@schweiz.ch> * os_dep.c: Add FreeBSD/PowerPC bits. (GC_SysVGetDataStart): Likewise. * include/private/gcconfig.h: Likewise. From-SVN: r100997
2005-04-19os_dep.c, gc_locks.h: Import CRIS port by Simon Posnjak from gc6.4.Hans-Peter Nilsson1-1/+5
* os_dep.c, include/private/gc_locks.h: Import CRIS port by Simon Posnjak from gc6.4. * include/private/gcconfig.h: Ditto. Add M32R note from gc6.4. From-SVN: r98414
2005-04-17gcconfig.h (sparc-linux): Use LINUX_STACKBOTTOM.David S. Miller1-0/+9
2005-04-17 David S. Miller <davem@davemloft.net> * include/private/gcconfig.h (sparc-linux): Use LINUX_STACKBOTTOM. * os_dep.c (GC_linux_stack_base): Check for bug present in some Sparc glibc variants where __libc_stack_end is erroneously set to "1". Fallback to procfs code in that case. From-SVN: r98303
2004-08-14configure.in (GCINCS): Don't use "boehm-cflags".Bryce McKinlay1-148/+247
libjava: 2004-08-13 Bryce McKinlay <mckinlay@redhat.com> * configure.in (GCINCS): Don't use "boehm-cflags". Instead, -I boehm-gc's include dirs. * configure: Rebuilt. * include/boehm-gc.h: Include gc_config.h. boehm-gc: 2004-08-13 Bryce McKinlay <mckinlay@redhat.com> * configure.ac (gc_cflags): Add -Iinclude. (AC_CONFIG_HEADERS): New. Configure gc_config.h header. Don't write DEFS to boehm-cflags file. * configure: Rebuilt. * gcj_mlc.c: Check #ifdef GC_GCJ_SUPPORT after including headers. * specific.c: Check #ifdef GC_LINUX_THREADS after including headers. * include/gc_config_macros.h: Remove backward-compatibility redefinitions of GC_ names. * include/gc.h: Include <gc_config.h>. 2004-08-13 Bryce McKinlay <mckinlay@redhat.com> Import Boehm GC version 6.3. From-SVN: r85972
2004-07-06os-dep.c (GC_task_self): Declare as static and remove the second declaration.Andrew Pinski1-3/+1
2004-07-06 Andrew Pinski <apinski@apple.com> * os-dep.c (GC_task_self): Declare as static and remove the second declaration. From-SVN: r84188
2003-09-22Another newlib fixAnthony Green1-2/+2
From-SVN: r71654
2003-07-29* os_dep.c: Remove redundancy introduced in last merge.Loren J. Rittle1-4/+0
From-SVN: r69912
2003-07-28Import GC 6.3alpha1.Jeff Sturm1-296/+1176
* BCC_MAKEFILE: Merge with GC 6.3alpha1 release. * ChangeLog: Likewise. * Makefile.am: Likewise. * Makefile.direct: Likewise. * Makefile.dj: Likewise. * allchblk.c: Likewise. * alloc.c: Likewise. * backgraph.c: Likewise. * configure.host: Likewise. * configure.in: Likewise. * dbg_mlc.c: Likewise. * dyn_load.c: Likewise. * finalize.c: Likewise. * gc_cpp.cc: Likewise. * gc_dlopen.c: Likewise. * gcj_mlc.c: Likewise. * if_mach.c: Likewise. * mach_dep.c: Likewise. * malloc.c: Likewise. * mallocx.c: Likewise. * mark.c: Likewise. * mark_rts.c: Likewise. * misc.c: Likewise. * os_dep.c: Likewise. * ptr_chck.c: Likewise. * reclaim.c: Likewise. * solaris_pthreads.c: Likewise. * solaris_threads.c: Likewise. * sparc_mach_dep.S: Likewise. * threadlibs.c: Likewise. * typd_mlc.c: Likewise. * version.h: Likewise. * win32_threads.c: Likewise. * Mac_files/MacOS_Test_config.h: Likewise. * Mac_files/MacOS_config.h: Likewise. * cord/cordbscs.c: Likewise. * cord/cordprnt.c: Likewise. * cord/de_win.c: Likewise. * doc/README: Likewise. * doc/README.MacOSX: Likewise. * doc/README.changes: Likewise. * doc/README.environment: Likewise. * doc/README.ews4800: Likewise. * doc/README.linux: Likewise. * doc/README.macros: Likewise. * doc/README.win32: Likewise. * doc/debugging.html: Likewise. * doc/gcdescr.html: Likewise. * doc/tree.html: Likewise. * include/Makefile.in: Likewise. * include/gc.h: Likewise. * include/gc_cpp.h: Likewise. * include/gc_local_alloc.h: Likewise. * include/gc_mark.h: Likewise. * include/gc_pthread_redirects.h: Likewise. * include/gc_typed.h: Likewise. * include/new_gc_alloc.h: Likewise. * include/private/dbg_mlc.h: Likewise. * include/private/gc_hdrs.h: Likewise. * include/private/gc_locks.h: Likewise. * include/private/gc_pmark.h: Likewise. * include/private/gc_priv.h: Likewise. * include/private/gcconfig.h: Likewise. * include/private/solaris_threads.h: Likewise. * include/private/specific.h: Likewise. * tests/test.c: Likewise. * tests/test_cpp.cc: Likewise. * configure: Rebuild. * Makefile.in: Rebuild. * mips_sgi_mach_dep.s: Add. * alpha_mach_dep.s: Remove. * irix_threads.c: Remove. * linux_threads.c: Remove. * mips_sgi_mach_dep.S: Remove. * missing: Remove. * powerpc_macosx_mach_dep.s: Remove. * doc/Makefile.am: Remove. * doc/Makefile.in: Remove. From-SVN: r69880
2002-07-19gcconfig.h: Add x86-64 definitions.Bo Thorsen1-1/+1
2002-07-18 Bo Thorsen <bo@suse.de> * include/private/gcconfig.h: Add x86-64 definitions. * os_dep.c: Add x86-64 support. * configure.in: Likewise. * configure: Regenerate. Approved by Hans Boehm. From-SVN: r55584
2002-03-27os_dep.c (GC_init_linux_data_start): Fix references to __data_start and _end.Richard Henderson1-8/+8
* os_dep.c (GC_init_linux_data_start): Fix references to __data_start and _end. From-SVN: r51467
2002-03-22gcconfig.h: Add unified test for FreeBSD.Loren J. Rittle1-6/+6
* include/private/gcconfig.h: Add unified test for FreeBSD. Support FreeBSD/alpha. * os_dep.c: Do not include <machine/trap.h> unless available. (GC_freebsd_stack_base): Fix types. From-SVN: r51159
2002-03-12dyn_load.c: Renamed GC_win32s to GC_no_win32_dlls.Adam Megacz1-13/+11
2002-03-12 Adam Megacz <adam@xwt.org> * dyn_load.c: Renamed GC_win32s to GC_no_win32_dlls. * misc.c: Renamed GC_is_win32s() to GC_no_win32_dlls * os_dep.c: Renamed GC_win32s to GC_no_win32_dlls and statically initialized it to TRUE if compiling with GCC. * win32_threads.c (thread_start): We no longer use SEH if compiling with GCC. * mark.c (GC_mark_some): We no longer use SEH if compiling with GCC. From-SVN: r50671
2002-02-12Imported GC 6.1 Alpha 3. Finally.Bryce McKinlay1-34/+167
From-SVN: r49698
2002-02-09xscale-elf supportAnthony Green1-51/+50
From-SVN: r49626
2001-10-16Makefile.am, [...]: Imported GC 6.1 Alpha 1 and merged local changes.Bryce McKinlay1-27/+27
* Makefile.am, acinclude.m4, configure.in: Imported GC 6.1 Alpha 1 and merged local changes. From-SVN: r46283
2001-08-18Makefile.am, [...]: Imported GC 6.0 and merged local changes.Tom Tromey1-39/+83
* Makefile.am, acinclude.m4, configure.in: Imported GC 6.0 and merged local changes. From-SVN: r44994
2001-05-21Imported version version 6.0alpha7.Bryce McKinlay1-323/+693
* README, README.Mac, README.OS2, README.QUICK, README.alpha, README.amiga, README.debugging, README.dj, README.hp, README.linux, README.rs6000, README.sgi, README.solaris2, README.uts, README.win32, SCoptions.amiga, backptr.h, barrett_diagram, dbg_mlc.h, gc.h, gc.man, gc_alloc.h, gc_cpp.h, gc_hdrs.h, gc_mark.h, gc_priv.h, gc_private.h, gc_typed.h, gcconfig.h, hpux_irix_threads.c, makefile.depend, nursery.c, solaris_threads.h, test.c, test_cpp.cc, weakpointer.h, cord/README, cord/SCOPTIONS.amiga, cord/SMakefile.amiga, cord/cord.h, cord/ec.h, cord/gc.h, cord/private/cord_pos.h, include/backptr.h, include/gc_copy_descr.h, include/gc_nursery.h: Remove obsolete/moved files. From-SVN: r42379
2001-04-05finalize.c: - Accomodate finalization requests for static objects.Hans Boehm1-4/+21
2001-04-04 Hans Boehm <hans_boehm@hp.com> * finalize.c: - Accomodate finalization requests for static objects. (Will be required by hash synchronization. May be needed in some configurations now.) * gc_priv.h: - Define MIN_WORDS. All allocation requests are rounded up to at least this size. Removes a subtle assumption that Java objects have a 2 word header. * gcconfig.h: - Adjust Linux/IA64 configuration for non-ancient kernels. (Necessary fix for IA64.) * linux_threads.c: - Fix syntax error in currently unused code. Will be needed for Linux/PA-RISC. * malloc.c: - Handle MIN_WORDS. * misc.c: - Handle MIN_WORDS. - Change stack cleaning code to typically clear about one tenth the memory it used to in the threads configuration. Occasionally still clear more. (This is really a fix for a long-standing and fairly significant performance bug with threads.) * os_dep.c: - Fix the code for finding the beginning of the data segment under Linux. I believe this is necessary for some IA64 Linux distributions. It will also helo other platforms, though those may additionally require a gcconfig.h adjustment. (This basically works around the absence of a data_start or __data_start definition in glibc.) * test.c: - Handle rounding due to MIN_WORDS. From-SVN: r41102
2000-06-19os_dep.c (read): Pass two dummy args to syscall().Andrew Haley1-1/+4
2000-06-19 Andrew Haley <aph@cygnus.com> * os_dep.c (read): Pass two dummy args to syscall(). From-SVN: r34598
2000-05-10Imported 5.0 release version.Bryce McKinlay1-1/+1
2000-05-11 Bryce McKinlay <bryce@albatross.co.nz> Imported 5.0 release version. * acinclude.m4: Increment version to 5.0. From-SVN: r33832
2000-05-07Imported version 5.0alpha7.Bryce McKinlay1-9/+26
2000-05-07 Bryce McKinlay <bryce@albatross.co.nz> Imported version 5.0alpha7. * acinclude.m4: Update version to 5.0a7. From-SVN: r33750
2000-04-27<<<<<<< ChangeLogJakub Jelinek1-19/+41
2000-04-26 Jakub Jelinek <jakub@redhat.com> * gcconfig.h (SPARC): Define ALIGNMENT to 8 for 64bit SPARC. (SPARC/LINUX): Use GC_SysVGetDataStart instead of LINUX_DATA_START - sparc glibc does not provide it. (SAVE_CALL_CHAIN, ASM_CLEAR_CODE): Define on sparc*-linux*. Make STACKBOTTOM depend on the wordsize. * os_dep.c (GC_SysVGetDataStart): Compile in on sparc*-linux*. (struct frame): Declare on sparc*-linux*. (GC_save_callers): Bias the frame pointers if needed (sparc64). * mach_dep.c (GC_save_regs_in_stack): Optimize on sparc32. Implement on sparc64. (GC_clear_stack_inner): Implement on sparc64. * gc_priv.h (GC_test_and_set): Implement for sparc. * linux_threads.c (GC_suspend_handler, GC_push_all_stacks): Use From-SVN: r33452
2000-04-19Imported version version 5.0alpha6.Bryce McKinlay1-11/+39
* acinclude.m4: Bump version to 5.0a6. * configure.in: Don't use alpha_mach_dep.s. * include/private/config.h, irix_threads.c gc_watcom.asm: Delete obsolete files. From-SVN: r33251
1999-12-20gcconfig.h: Use libgcj hack for Alpha Linux.Anthony Green1-2/+2
* gcconfig.h: Use libgcj hack for Alpha Linux. Undefine MPROTEXT_VDB (from Jeff Sturm). * os_dep.c: Remove Alpha Linux hacks. * misc.c: Ditto. From-SVN: r31028
1999-12-12gcconfig.h (DATASTART): Define as (&data_start) for PowerPC Linux.Anthony Green1-3/+2
* gcconfig.h (DATASTART): Define as (&data_start) for PowerPC Linux. (DYNAMIC_LOADING): Define for PowerPC Linux. * os_dep.c: Remove some special cases for PowerPC Linux. * misc.c (GC_init_inner): Don't call GC_init_linux_data_start for PowerPC Linux. From-SVN: r30873
1999-11-04configure: Rebuilt.Tom Tromey1-2/+1
* configure: Rebuilt. * configure.in: Removed qt threads case. * dyn_load.c: Don't mention QUICK_THREADS. * os_dep.c: Don't mention QUICK_THREADS. * misc.c: Don't mention QUICK_THREADS. * gcconfig.h: Don't mention QUICK_THREADS. * gc_priv.h: Removed QUICK_THREADS code. * quick_threads.c: Removed. From-SVN: r30394
1999-11-01Merged GC 5.0alpha4 with local changes, plus:Tom Tromey1-134/+440
* Makefile.in: Rebuilt. * Makefile.am (gctest_LDADD): Added THREADLIB. (TESTS): New macro. * configure: Rebuilt. * configure.in (INCLUDES): New subst. From-SVN: r30332
1999-06-21Alpha patch from Jeff Sturm:Tom Tromey1-1/+77
* os_dep.c (GC_init_linuxalpha): New function. * misc.c: Initialize for alpha linux. * gc_priv.h (GC_test_and_set): Define for alpha. * config.h: Don't assume __data_start on alpha. From-SVN: r27670
1999-04-21os_dep.c: glibc 2.1 requires asm/sigcontext.h, not sigcontext.h.Tom Tromey1-1/+1
* os_dep.c: glibc 2.1 requires asm/sigcontext.h, not sigcontext.h. From Matthias Klose <doko@itso.de>. From-SVN: r26574
1999-04-07Cygnus/libgcj changes to Boehm GC.Tom Tromey1-3/+53
From-SVN: r26257
1999-04-07Initial revisionTom Tromey1-0/+2181
From-SVN: r26255