summaryrefslogtreecommitdiff
path: root/tools
Commit message (Collapse)AuthorAgeFilesLines
* Fix missing EOLn output in threadlibs toolIvan Maidanski2018-01-191-1/+1
| | | | * tools/threadlibs.c [GC_OSF1_THREADS] (main): Print "\n" after "-lrt".
* Fix tools/setjmp_t hang (OS X)Ivan Maidanski2017-04-071-1/+1
| | | | | * tools/setjmp_t.c (main): Declare "y" static variable as volatile (to prevent reordering/optimization of y++).
* Fix various typos in comments and printed messagesKlemens Zwischenbrugger2017-04-071-1/+1
| | | | | | | | | | | | | | | | This patch contains some spelling fixes (just in comments and C strings passed to printf) as found by bot (https://github.com/ka7/misspell_fixer). * SMakefile.amiga: Fix typo in comment ("don't"). * WCC_MAKEFILE (SYSTEM): Fix typo in comment ("uncomment"). * configure.ac [!GCC] (gc_cflags): Fix typo in comment ("actually"). * configure.ac (NO_CLOCK): Fix typo in comment ("targeting"). * doc/README.amiga: Fix typos in documentation ("there's", "compliant", "documentation"). * extra/AmigaOS.c [GC_AMIGA_PRINTSTATS] (GC_amiga_free_all_mem): Fix typos in printed messages ("succeeded", "succeeding"). * include/gc.h (GC_get_heap_size): Fix typo in comment ("below"). * tools/setjmp_t.c (main): Fix typo in printed message ("won't").
* Fix 'execvp argument incompatible pointer type' compiler warning (tools)Ivan Maidanski2017-02-062-2/+2
| | | | | | | * tools/if_mach.c (main): Cast the 2nd argument of execvp to void* (to avoid compiler warning as the argument of execvp() prototype could be of "const char* const*" or "char**" type). * tools/if_not_there.c (main): Likewise.
* Suppress 'tainted string passed to vulnerable operation' false defectsIvan Maidanski2017-02-062-5/+8
| | | | | | | | | | | | * include/private/gc_priv.h (TRUSTED_STRING): New tagging macro; add comment. * misc.c (GC_init): Process the result of GETENV("GC_LOG_FILE") by TRUSTED_STRING. * tools/if_mach.c (main): Process argv[3] by TRUSTED_STRING (before passing the string to execvp). * tools/if_not_there.c (main): Declare "fname" local variable; process argv[1] and argv[2] by TRUSTED_STRING (before passing the strings to fopen/opendir and execvp, respectively).
* Fix tools/setjmp_t to prevent nested_sp inliningIvan Maidanski2016-11-081-3/+6
| | | | | | | | | | Inlined nested_sp might cause incorrect result of nested_sp()<sp. * tools/setjmp_t.c (nested_sp): Change return from int* to word. * tools/setjmp_t.c (nested_sp_fn): New global volatile variable initialized to nested_sp. * tools/setjmp_t.c (main): Use nested_sp_fn instead of nested_sp; remove redundant cast.
* Eliminate 'value stored is never read' warning of Clang static analyzerIvan Maidanski2016-11-081-0/+3
| | | | | | * tools/setjmp_t.c (g): Declare (before "main"). * tools/setjmp_t.c (main): Call g(x) to use "x" variable value after x=2.
* Workaround 'resource leak' error reported by cppcheck (tools, test)Ivan Maidanski2016-11-081-2/+8
| | | | | | | * tests/test.c [GC_GCJ_SUPPORT && TEST_WITH_SYSTEM_MALLOC] (reverse): Call GC_noop1 for malloc() result. * tools/if_not_there.c (main): Move "f" local variable assignments outside conditional expression.
* Eliminate 'printf format specifier mismatch' compiler warning (tools)Ivan Maidanski2016-11-021-1/+1
| | | | | * tools/setjmp_t.c (main): Use %lu (instead of %ld) printf format specifier for unsigned long value.
* Fix 'signed-to-bigger-unsigned value assignment' warning in GC_setpagesizeIvan Maidanski2016-03-121-1/+1
| | | | | | | | | (Apply commit 39e2468 from 'master' branch.) * include/private/gcconfig.h (GETPAGESIZE): Cast getpagesize() and sysconf() result to unsigned int. * tools/setjmp_t.c (main): Change type of "ps" local variable from long to unsigned int.
* Bump version to 7.4.0; change policy regarding version numbersgc7_4_0Ivan Maidanski2013-11-172-20/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | * ChangeLog: Update. * README.md: Bump version. * configure.ac (AC_INIT): Likewise. * include/gc_version.h (GC_TMP_VERSION_MINOR): Likewise. * alloc.c (GC_version, GC_get_version): Replace GC_TMP_ALPHA_VERSION with GC_VERSION_MICRO. * doc/debugging.html: Remove comment about "alpha" versions. * doc/overview.html: Likewise. * include/gc.h (GC_get_version): Update comment. * include/gc_version.h (GC_NOT_ALPHA): Remove. * include/gc_version.h (GC_TMP_ALPHA_VERSION): Replace with GC_TMP_VERSION_MICRO; add comment about policy. * m4/gc_set_version.m4 (GC_ALPHA_VERSION): Replace with GC_VERSION_MICRO; update comments; adjust version format test. * tests/test.c (GC_ALPHA_VERSION): Remove. * tools/add_gc_prefix.c (GC_ALPHA_VERSION): Likewise. * tools/gcname.c (GC_ALPHA_VERSION): Likewise. * tests/test.c (CHECH_GCLIB_VERSION): Replace GC_ALPHA_VERSION with GC_VERSION_MICRO. * tools/add_gc_prefix.c (main): Replace "gc%d.%d[alpha%d]" print format with "gc-%d.%d.%d" one. * tools/gcname.c (main): Likewise. * windows-untested/gc.ver (_BETA, GC_VERSION_MICRO): Remove.
* Fix all address-of-dummy operations by using GC_approx_sp() insteadIvan Maidanski2012-08-011-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | (previous commit 'd6acbda' has not solved this problem) * alloc.c (min_bytes_allocd, GC_stopped_mark): Use GC_approx_sp() instead of "&dummy"; remove 'dummy' local variable. * dyn_load.c (GC_cond_add_roots): Likewise. * misc.c (GC_init): Likewise. * os_dep.c (GC_get_stack_base, GC_get_main_stack_base): Likewise. * pthread_stop_world.c (GC_suspend_handler_inner, nacl_pre_syscall_hook, __nacl_suspend_thread_if_needed): Likewise. * pthread_support.c (GC_thr_init): Likewise. * ptr_chck.c (GC_on_stack): Likewise. * win32_threads.c (GC_push_stack_for): Likewise. * misc.c (GC_clear_stack_inner): Store address of volatile 'dummy' local array (i.e. 'sp' value) to its first element (and use it in the comparison of addresses) to prevent any harmful optimizations as C officially disallows comparisons of pointers to different objects (e.g., some Mac OS X clang releases might turn a conditional expression that uses 'dummy' address into a constant); update comment. * misc.c (GC_call_with_stack_base): Use "&base" instead of "&dummy" (it is safe to use address of base here); remove dummy variable. * os_dep.c (currently_updating): Change type from "word" to "int*". * os_dep.c (async_set_pht_entry_from_index): Remove volatile and casts for 'update_dummy' local variable. * tools/setjmp_t.c (main): Define volatile 'sp' local variable, store its address to it and use it instead of "&dummy"; remove 'dummy' local variable.
* Resolve GCC warning in setjmp_t.cIvan Maidanski2012-08-011-6/+6
| | | | | | | | * tools/setjmp_t.c (nested_sp): Change 'sp' local variable type from int to word (to avoid 'cast from pointer to int' compiler warning). * tools/setjmp_t.c (main): Cast pointers to unsigned long via word type; cast WORDSZ value passed to printf() to match format type specifier (to avoid compiler warnings).
* Fix all address-of-dummy operations by adding volatileIvan Maidanski2012-08-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * alloc.c (min_bytes_allocd, GC_stopped_mark): Use volatile for 'dummy' local variable (used to get 'sp' value) to prevent any harmful optimizations (e.g., some Mac OS X clang releases might turn a conditional expression that uses 'dummy' address into a constant). * dyn_load.c (GC_cond_add_roots): Likewise. * mach_dep.c (GC_with_callee_saves_pushed): Likewise. * misc.c (GC_clear_stack_inner, GC_init, GC_call_with_stack_base): Likewise. * os_dep.c (GC_get_stack_base, GC_get_main_stack_base, async_set_pht_entry_from_index): Likewise. * pthread_stop_world.c (nacl_pre_syscall_hook, __nacl_suspend_thread_if_needed): Likewise. * pthread_support.c (GC_thr_init): Likewise. * ptr_chck.c (GC_on_stack): Likewise. * tools/setjmp_t.c (main): Likewise. * win32_threads.c (GC_push_stack_for): Likewise. * dyn_load.c (dummy): Change variable type from char to int. * include/private/gcconfig.h: Update comment about GC_stackbottom initialization. * os_dep.c (GC_get_stack_base): Remove 'sp' local variable. * os_dep.c (GC_get_main_stack_base): Define and use volatile 'dummy' variable (instead of 'result') to get 'sp' value (revert part of commit bddc75f). * os_dep.c (GC_get_stack_base): Add missing cast of 'dummy' address (only if NEED_FIND_LIMIT). * pthread_stop_world.c (GC_suspend_handler_inner): Define and use volatile 'dummy' variable (instead of 'me') to get 'sp' value (revert part of commit 31fc0f6). * pthread_stop_world.c (nacl_pre_syscall_hook, __nacl_suspend_thread_if_needed): Rename 'local_dummy' to 'dummy' local variable.
* tools: Include proper header file for configuration macrosIvan Maidanski2012-06-163-4/+4
| | | | | | | | * tools/if_mach.c: Include private/gc_priv.h instead of private/gcconfig.h (to get proper configuration macros defined). * tools/if_not_there.c: Likewise. * tools/threadlibs.c: Likewise. * tools/threadlibs.c: Do not include gc_config_macros.h directly.
* Fix GC_ALPHA_VERSION comparison in gctest and tools filesIvan Maidanski2012-03-192-0/+8
| | | | | | | * tests/test.c (GC_ALPHA_VERSION): Define to GC_TMP_ALPHA_VERSION if not defined by gc_version.h. * tools/add_gc_prefix.c (GC_ALPHA_VERSION): Likewise. * tools/gcname.c (GC_ALPHA_VERSION): Likewise.
* Replace pointer relational comparisons with non-pointer onesIvan Maidanski2012-03-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * allchblk.c (GC_dump_regions, GC_allochblk_nth): Cast pointers to word type in relational (less-greater) comparisons. * alloc.c (GC_add_to_heap, GC_print_heap_sects, GC_expand_hp_inner): Likewise. * backgraph.c (ensure_struct, add_back_edges): Likewise. * blacklst.c (GC_number_stack_black_listed): Likewise. * checksums.c (GC_checksum, GC_check_dirty): Likewise. * darwin_stop_world.c (GC_push_all_stacks): Likewise. * dbg_mlc.c (GC_get_back_ptr_info, GC_print_smashed_obj, GC_check_heap_block): Likewise. * dyn_load.c (sort_heap_sects, GC_register_map_entries, GC_register_dynlib_callback, GC_register_dynamic_libraries_dl_iterate_phdr, GC_register_dynamic_libraries, GC_cond_add_roots): Likewise. * finalize.c (GC_ignore_self_finalize_mark_proc): Likewise. * headers.c (GC_scratch_alloc, GC_install_counts, GC_remove_counts): Likewise. * include/private/gc_pmark.h (PUSH_OBJ, PUsH_CONTENTS_HDR, GC_PUSH_ONE_STACK, GC_PUSH_ONE_HEAP, GC_mark_stack_empty): Likewise. * include/private/gc_priv.h (MAKE_COOLER, COOLER_THAN): Likewise. * mach_dep.c (GC_with_callee_saves_pushed): Likewise. * malloc.c (calloc, free): Likewise. * mark.c (GC_mark_some_inner, GC_mark_from, GC_steal_mark_stack, GC_return_mark_stack, GC_do_local_mark, GC_mark_local, GC_push_all, GC_push_selected, GC_push_all_eager, GC_push_marked1, GC_push_marked2, GC_push_marked4, GC_push_marked, GC_push_unconditionally): Likewise. * mark_rts.c (GC_is_static_root, GC_add_roots_inner, GC_remove_roots_inner, GC_is_tmp_root, GC_exclude_static_roots_inner, GC_push_conditional_with_exclusions, GC_push_all_register_sections, GC_push_all_stack_sections, GC_push_all_stack_partially_eager, GC_push_all_stack_part_eager_sections, GC_push_current_stack): Likewise. * misc.c (GC_clear_stack_inner, GC_clear_stack, GC_base, GC_call_with_gc_active): Likewise. * new_hblk.c (GC_build_fl_clear2, GC_build_fl_clear4, GC_build_fl2, GC_build_fl4, GC_build_fl): Likewise. * os_dep.c (GC_enclosing_mapping, GC_text_mapping, tiny_sbrk, GC_find_limit_openbsd, GC_skip_hole_openbsd, GC_find_limit_with_bound, GC_get_main_stack_base, GC_get_stack_base, GC_least_described_address, GC_register_root_section, GC_register_data_segments, GC_unmap_start, GC_gww_read_dirty, GC_remove_protection, GC_protect_heap, GC_unprotect_range, GC_read_dirty, GC_page_was_dirty, GC_save_callers, GC_print_callers): Likewise. * pcr_interface.c (GC_enumerate_block): Likewise. * pthread_support.c (GC_is_thread_tsd_valid, GC_segment_is_thread_stack, GC_greatest_stack_base_below, GC_call_with_gc_active): Likewise. * ptr_chck.c (GC_same_obj, GC_is_valid_displacement, GC_on_stack, GC_is_visible): Likewise. * reclaim.c (GC_reclaim_clear, GC_reclaim_uninit, GC_disclaim_and_reclaim, GC_reclaim_check, GC_start_reclaim): Likewise. * tests/test.c (cons): Likewise. * tools/setjmp_t.c (main): Likewise. * typd_mlc.c (GC_typed_mark_proc): Likewise. * win32_threads.c (GC_is_thread_tsd_valid, GC_call_with_gc_active, GC_push_stack_for, GC_get_next_stack): Likewise. * extra/msvc_dbg.c (GetDescriptionFromAddress, GetDescriptionFromStack): Cast pointers to GC_ULONG_PTR in relational comparisons. * include/gc.h (GC_DATASTART, GC_DATAEND): Cast pointers to GC_word in relational comparisons. * misc.c (GC_init): Remove static assertion on ((ptr_t)-1 > 0) since no longer required; add the comment. * pcr_interface.c: Expand tabs to spaces.
* tools: Prevent compiler warnings regarding unused argument and printfIvan Maidanski2012-02-293-8/+16
| | | | | | | | | | | | * tools/if_mach.c (main): Remove unused "envp" argument. * tools/if_not_there.c (main): Likewise. * tools/if_mach.c: Expand tabs to spaces. * tools/if_not_there.c: Likewise. * tools/setjmp_t.c (getpagesize): Define for Win32; include windows.h. * tools/setjmp_t.c (main): Make printf() format specifier string non-empty (to suppress compiler warning). * tools/setjmp_t.c (main): Adjust printf() format specifier for WORDSZ value (unsigned long instead of int).
* tools: Change some functions declaration style from K-R to ANSI CIvan Maidanski2012-02-292-11/+8
| | | | | | | * tools/add_gc_prefix.c (main): Remove unused "envp" argument. * tools/add_gc_prefix.c (main): Replace the K&R-style function definition with the ANSI C one. * tools/gcname.c (main): Likewise.
* Remove trailing spaces at EOLn in all filesIvan Maidanski2011-12-223-6/+4
|
* Move and rename "callprocs" utility to tools/callprocs.sh.Ivan Maidanski2011-09-141-0/+4
| | | | | | | | | | | | | * callprocs: Move/rename to tools/callprocs.sh. * Makefile.am (dist_noinst_SCRIPTS): Remove. * Makefile.am (EXTRA_DIST): Add tools/callprocs.sh (move from dist_noinst_SCRIPTS). * Makefile.direct (OTHER_FILES): Rename callprocs to tools/callprocs.sh. * Makefile.dj (OTHER_FILES): Likewise. * README: Likewise. * doc/leak.html: Likewise. * README: Fix a typo.
* Move build tools sources from "extra" to "tools" folder.Ivan Maidanski2011-08-256-0/+315
* EMX_MAKEFILE (setjmp_test): Move setjmp_t.c to "tools" folder. * Makefile.am (EXTRA_DIST): Move add_gc_prefix.c, gcname.c, if_mach.c, if_not_there.c, setjmp_t.c and threadlibs.c to "tools" folder. * Makefile.direct (SRCS, OTHER_FILES, if_mach, threadlibs, if_not_there, setjmp_test, add_gc_prefix, gcname): Ditto. * Makefile.dj (SRCS, OTHER_FILES, if_mach, threadlibs, if_not_there, setjmp_test, add_gc_prefix): Ditto. * PCR-Makefile (if_mach, if_not_there): Ditto. * SMakefile.amiga (setjmp_t): Ditto. * doc/simple_example.html: Change folder name for threadlibs.c file. * EMX_MAKEFILE: Remove trailing spaces at EOLn. * SMakefile.amiga: Ditto.