Hi Nam,

On amd64 latest snap, a recent w3m package installation segfaults on run:

(gdb) r
Starting program: /usr/local/bin/w3m 

Program received signal SIGSEGV, Segmentation fault.
0x000016d1b18988e7 in GC_mark_from () from /usr/local/lib/libgc.so.4.0
Current language:  auto; currently minimal
(gdb) bt
#0  0x000016d1b18988e7 in GC_mark_from () from /usr/local/lib/libgc.so.4.0
#1  0x000016d1b189847c in GC_mark_some () from /usr/local/lib/libgc.so.4.0
#2  0x000016d1b188d67d in GC_stopped_mark () from /usr/local/lib/libgc.so.4.0
#3  0x000016d1b188d520 in GC_try_to_collect_inner () from 
/usr/local/lib/libgc.so.4.0
#4  0x000016d1b189ce6e in GC_init () from /usr/local/lib/libgc.so.4.0
#5  0x000016cf2d1384ad in ?? () from /usr/local/bin/w3m
#6  0x000016cf2d138148 in ?? () from /usr/local/bin/w3m
#7  0x0000000000000000 in ?? ()
(gdb) q

Please, test this again after the latest ports changes (gettext related).

Kind regards,
Anton Lazarov

Tue, 7 May 2019 09:27:25 +0100 Stuart Henderson <[email protected]>
> On 2019/05/06 05:45, Nam Nguyen wrote:
> > This is an update for boehm-gc 8.0.4 (released March 2, 2019) and
> > libatomic_ops 7.6.10 (released March 1, 2019). I tested on amd64 with
> > w3m. I do not have access to aarch64 to test the patches.  
> 
> boehm-gc has many machine-dependent parts, it wants testing on more arches
> than just amd64+aarch64.
> 
> > Changelogs:
> > https://github.com/ivmai/bdwgc/commit/d3dede3ce4462cd82a15f161af797ca51654546a
> > https://github.com/ivmai/libatomic_ops/commit/7702826f7a8a0aa1b08293322adf49510f4438d1
> > 
> > - I am willing to become maintainer, although I do not understand the
> >   patches. I have familiarized myself with this port now.  
> 
> I would say that somebody maintaining boehm-gc should really understand
> the patches a bit..
> 
> > - HOMEPAGE uses https://
> > - Fixed patches to apply cleanly, with the biggest change being
> >   patch-include_private_gcconfig_h where we no longer need "- use
> >   __data_start instead of _fdata on OpenBSD/mips64", as it has already
> >   been applied upstream.
> > - --enable-static=yes is a new configure flag.
> >   How did I notice this new flag? First, I noticed some missing
> >   symbols. Next, am_libgc_la_OBJECTS is commented out in the generated
> >   Makefile, but the old behavior has the complement commented out.
> > --8<---------------cut here---------------start------------->8---
> > #am_libgc_la_OBJECTS = allchblk.lo alloc.lo \
> > #       blacklst.lo dbg_mlc.lo dyn_load.lo \
> > #       finalize.lo gc_dlopen.lo gcj_mlc.lo \
> > #       headers.lo mach_dep.lo malloc.lo \
> > #       mallocx.lo mark.lo mark_rts.lo misc.lo \
> > #       new_hblk.lo obj_map.lo os_dep.lo \
> > #       ptr_chck.lo reclaim.lo specific.lo \
> > #       typd_mlc.lo $(am__objects_1) \
> > #       $(am__objects_2) $(am__objects_3) \
> > #       $(am__objects_4) $(am__objects_5) \
> > #       $(am__objects_6) $(am__objects_7) \
> > #       $(am__objects_8)
> > am_libgc_la_OBJECTS = extra/gc.lo $(am__objects_9) \
> >         $(am__objects_1) $(am__objects_2) \
> >         $(am__objects_3) $(am__objects_4) \
> >         $(am__objects_5) $(am__objects_6) \
> >         $(am__objects_7) $(am__objects_8)
> > --8<---------------cut here---------------end--------------->8---
> > 
> > As the porting guide suggests under Handling Complex Situations > Know
> > the Software, "Read the configure script options." Lesson learned.
> > --8<---------------cut here---------------start------------->8---
> > $ ./configure --help
> > old version:
> >   --enable-shared[=PKGS]  build shared libraries [default=yes]
> >   --enable-static[=PKGS]  build static libraries [default=yes]
> > new version:
> >   --enable-static[=PKGS]  build static libraries [default=no]
> >   --enable-shared[=PKGS]  build shared libraries [default=yes]
> > --8<---------------cut here---------------end--------------->8---
> > 
> > SHARED_LIBS +=  gc              4.0 -> 5.0
> > SHARED_LIBS +=  gccpp           0.0 -> 0.1
> > SHARED_LIBS +=  cord            2.3   
> > SHARED_LIBS +=  atomic_ops      2.0    
> > SHARED_LIBS +=  atomic_ops_gpl  2.0
> > 
> > gccpp: new symbols
> > --8<---------------cut here---------------start------------->8---
> > --- /tmp/libgccpp.old       Mon May  6 02:22:14 2019
> > +++ /tmp/libgccpp.new       Mon May  6 02:21:53 2019
> > @@ -1,5 +1,8 @@
> > +T _Z18GC_throw_bad_allocv
> >  T _ZdaPv
> > +T _ZdaPvm
> >  T _ZdlPv
> > +T _ZdlPvm
> >  T _Znam
> >  T _Znwm
> >  T _fini
> > --8<---------------cut here---------------end--------------->8---
> > 
> > gc: Removal of GC_unix_sbrk_get_mem behind a conditional macro means
> > libgc 4.0 -> 5.0.
> > --8<---------------cut here---------------start------------->8---
> > --- /tmp/libgc.old  Mon May  6 02:18:37 2019
> > +++ /tmp/libgc.new  Mon May  6 02:18:27 2019
> > @@ -3,6 +3,8 @@
> >  T AO_pause
> >  T AO_store_full_emulation
> >  T GC_FirstDLOpenedLinkMap
> > +T GC_abort_on_oom
> > +T GC_acquire_mark_lock
> >  T GC_add_ext_descriptor
> >  T GC_add_map_entry
> >  T GC_add_roots
> > @@ -69,6 +71,7 @@
> >  T GC_cond_register_dynamic_libraries
> >  T GC_continue_reclaim
> >  T GC_copy_bl
> > +T GC_core_gcj_malloc
> >  T GC_debug_change_stubborn
> >  T GC_debug_end_stubborn_change
> >  T GC_debug_free
> > @@ -85,6 +88,7 @@
> >  T GC_debug_malloc_stubborn
> >  T GC_debug_malloc_uncollectable
> >  T GC_debug_print_heap_obj_proc
> > +T GC_debug_ptr_store_and_dirty
> >  T GC_debug_realloc
> >  T GC_debug_realloc_replacement
> >  T GC_debug_register_displacement
> > @@ -102,10 +106,13 @@
> >  T GC_default_push_other_roots
> >  T GC_default_same_obj_print_proc
> >  T GC_default_warn_proc
> > +T GC_deinit
> >  T GC_delete_gc_thread
> >  T GC_delete_thread
> >  T GC_descr_obj_size
> > +T GC_destroy_thread_local
> >  T GC_dirty_init
> > +T GC_dirty_inner
> >  T GC_disable
> >  T GC_disclaim_and_reclaim
> >  T GC_disclaim_and_reclaim_or_free_small_block
> > @@ -113,10 +120,13 @@
> >  T GC_do_blocking
> >  T GC_do_blocking_inner
> >  T GC_do_enumerate_reachable_objects
> > +T GC_do_local_mark
> > +T GC_do_parallel_mark
> >  T GC_double_descr
> >  T GC_dump
> >  T GC_dump_finalization
> >  T GC_dump_finalization_links
> > +T GC_dump_named
> >  T GC_dump_regions
> >  T GC_enable
> >  T GC_enable_incremental
> > @@ -152,6 +162,7 @@
> >  T GC_gcollect
> >  T GC_gcollect_and_unmap
> >  T GC_general_register_disappearing_link
> > +T GC_generic_lock
> >  T GC_generic_malloc
> >  T GC_generic_malloc_ignore_off_page
> >  T GC_generic_malloc_inner
> > @@ -165,6 +176,7 @@
> >  T GC_get_bytes_since_gc
> >  T GC_get_dont_expand
> >  T GC_get_dont_precollect
> > +T GC_get_expl_freed_bytes_since_gc
> >  T GC_get_finalize_on_demand
> >  T GC_get_finalizer_notifier
> >  T GC_get_find_leak
> > @@ -173,14 +185,18 @@
> >  T GC_get_free_bytes
> >  T GC_get_free_space_divisor
> >  T GC_get_full_freq
> > +T GC_get_full_gc_total_time
> >  T GC_get_gc_no
> >  T GC_get_heap_size
> >  T GC_get_heap_usage_safe
> >  T GC_get_java_finalization
> >  T GC_get_kind_and_size
> >  T GC_get_main_stack_base
> > +T GC_get_manual_vdb_allowed
> > +T GC_get_max_prior_attempts
> >  T GC_get_max_retries
> >  T GC_get_memory_use
> > +T GC_get_min_bytes_allocd
> >  T GC_get_no_dls
> >  T GC_get_non_gc_bytes
> >  T GC_get_nprocs
> > @@ -193,6 +209,8 @@
> >  T GC_get_prof_stats
> >  T GC_get_prof_stats_unsafe
> >  T GC_get_push_other_roots
> > +T GC_get_rate
> > +T GC_get_size_map_at
> >  T GC_get_stack_base
> >  T GC_get_start_callback
> >  T GC_get_stop_func
> > @@ -208,6 +226,7 @@
> >  T GC_has_other_debug_info
> >  T GC_hblk_fl_from_blocks
> >  T GC_header_cache_miss
> > +T GC_help_marker
> >  T GC_ignore_self_finalize_mark_proc
> >  T GC_ignore_warn_proc
> >  T GC_incr_bytes_allocd
> > @@ -220,6 +239,7 @@
> >  T GC_init_headers
> >  T GC_init_parallel
> >  T GC_init_size_map
> > +T GC_init_thread_local
> >  T GC_initialize_offsets
> >  T GC_initiate_gc
> >  T GC_inner_start_routine
> > @@ -230,10 +250,14 @@
> >  T GC_is_black_listed
> >  T GC_is_disabled
> >  T GC_is_heap_ptr
> > +T GC_is_incremental_mode
> > +T GC_is_init_called
> >  T GC_is_marked
> >  T GC_is_thread_suspended
> > +T GC_is_tmp_root
> >  T GC_is_valid_displacement
> >  T GC_is_visible
> > +T GC_key_create_inner
> >  T GC_lock
> >  T GC_log_printf
> >  T GC_lookup_thread
> > @@ -257,10 +281,15 @@
> >  T GC_mark_and_push_stack
> >  T GC_mark_from
> >  T GC_mark_init
> > +T GC_mark_local
> >  T GC_mark_some
> > +T GC_mark_thread
> > +T GC_mark_thread_local_fls_for
> > +T GC_mark_thread_local_free_lists
> >  T GC_mark_togglerefs
> >  T GC_maybe_gc
> >  T GC_memalign
> > +T GC_merge_unmapped
> >  T GC_move_disappearing_link
> >  T GC_move_disappearing_link_inner
> >  T GC_move_long_link
> > @@ -279,6 +308,8 @@
> >  T GC_noop1
> >  T GC_noop6
> >  T GC_normal_finalize_mark_proc
> > +T GC_notify_all_builder
> > +T GC_notify_all_marker
> >  T GC_notify_or_invoke_finalizers
> >  T GC_null_finalize_mark_proc
> >  T GC_number_stack_black_listed
> > @@ -307,6 +338,7 @@
> >  T GC_pthread_create
> >  T GC_pthread_detach
> >  T GC_pthread_join
> > +T GC_ptr_store_and_dirty
> >  T GC_push_all
> >  T GC_push_all_eager
> >  T GC_push_all_stack
> > @@ -319,9 +351,6 @@
> >  T GC_push_finalizer_structures
> >  T GC_push_gc_structures
> >  T GC_push_marked
> > -T GC_push_marked1
> > -T GC_push_marked2
> > -T GC_push_marked4
> >  T GC_push_next_marked
> >  T GC_push_next_marked_dirty
> >  T GC_push_next_marked_uncollectable
> > @@ -364,6 +393,8 @@
> >  T GC_register_main_static_data
> >  T GC_register_my_thread
> >  T GC_register_my_thread_inner
> > +T GC_release_mark_lock
> > +T GC_remap
> >  T GC_remove_all_threads_but_me
> >  T GC_remove_allowed_signals
> >  T GC_remove_counts
> > @@ -373,14 +404,18 @@
> >  T GC_remove_root_at_pos
> >  T GC_remove_roots
> >  T GC_remove_roots_inner
> > +T GC_remove_specific_after_fork
> >  T GC_remove_tmp_roots
> >  T GC_reset_fault_handler
> >  T GC_reset_finalizer_nested
> > +T GC_restart_all
> >  T GC_restart_handler
> >  T GC_resume_thread
> > +T GC_return_mark_stack
> >  T GC_roots_present
> >  T GC_same_obj
> >  T GC_scratch_alloc
> > +T GC_scratch_recycle_inner
> >  T GC_set_abort_func
> >  T GC_set_all_interior_pointers
> >  T GC_set_and_save_fault_handler
> > @@ -398,9 +433,12 @@
> >  T GC_set_hdr_marks
> >  T GC_set_java_finalization
> >  T GC_set_log_fd
> > +T GC_set_manual_vdb_allowed
> >  T GC_set_mark_bit
> >  T GC_set_max_heap_size
> > +T GC_set_max_prior_attempts
> >  T GC_set_max_retries
> > +T GC_set_min_bytes_allocd
> >  T GC_set_no_dls
> >  T GC_set_non_gc_bytes
> >  T GC_set_on_collection_event
> > @@ -409,6 +447,7 @@
> >  T GC_set_oom_fn
> >  T GC_set_pages_executable
> >  T GC_set_push_other_roots
> > +T GC_set_rate
> >  T GC_set_start_callback
> >  T GC_set_stop_func
> >  T GC_set_suspend_signal
> > @@ -417,24 +456,29 @@
> >  T GC_set_toggleref_func
> >  T GC_set_warn_proc
> >  T GC_setpagesize
> > +T GC_setspecific
> >  T GC_setup_temporary_fault_handler
> >  T GC_should_collect
> >  T GC_should_invoke_finalizers
> >  T GC_signal_mark_stack_overflow
> >  T GC_size
> >  T GC_skip_hole_openbsd
> > +T GC_slow_getspecific
> >  T GC_split_block
> > -T GC_start_debugging
> >  T GC_start_debugging_inner
> >  T GC_start_mark_threads
> > +T GC_start_mark_threads_inner
> > +T GC_start_performance_measurement
> >  T GC_start_reclaim
> >  T GC_start_routine
> >  T GC_start_rtn_prepare_thread
> >  T GC_start_world
> > +T GC_start_world_external
> > +T GC_steal_mark_stack
> >  T GC_stop_init
> >  T GC_stop_world
> > +T GC_stop_world_external
> >  T GC_stopped_mark
> > -T GC_store_debug_info
> >  T GC_store_debug_info_inner
> >  T GC_strdup
> >  T GC_strndup
> > @@ -452,14 +496,23 @@
> >  T GC_try_to_collect_inner
> >  T GC_typed_mark_proc
> >  T GC_unix_get_mem
> > -T GC_unix_sbrk_get_mem
> > +T GC_unix_mmap_get_mem
> > +T GC_unmap
> > +T GC_unmap_end
> > +T GC_unmap_gap
> > +T GC_unmap_old
> > +T GC_unmap_start
> >  T GC_unpromote_black_lists
> >  T GC_unreachable_finalize_mark_proc
> >  T GC_unregister_disappearing_link
> >  T GC_unregister_long_link
> >  T GC_unregister_my_thread
> >  T GC_unregister_my_thread_inner
> > +T GC_wait_builder
> >  T GC_wait_for_gc_completion
> > +T GC_wait_for_markers_init
> > +T GC_wait_for_reclaim
> > +T GC_wait_marker
> >  T GC_with_callee_saves_pushed
> >  T GC_write
> >  T _fini
> > --8<---------------cut here---------------end--------------->8---
> > 
> > diff:
> > Index: Makefile
> > ===================================================================
> > RCS file: /cvs/ports/devel/boehm-gc/Makefile,v
> > retrieving revision 1.70
> > diff -u -p -r1.70 Makefile
> > --- Makefile        30 Dec 2018 17:08:09 -0000      1.70
> > +++ Makefile        6 May 2019 12:00:07 -0000
> > @@ -3,50 +3,51 @@
> >  COMMENT-main=      garbage collection and memory leak detection for C and 
> > C++
> >  COMMENT-atomic=    access to hardware provided atomic memory operations
> >  
> > -VERSION=   7.6.0
> > -LIBAO_VERSION=     7.6.6
> > +VERSION=   8.0.4
> > +LIBAO_VERSION=     7.6.10
> >  
> >  DISTNAME=  gc-${VERSION}
> >  
> >  PKGNAME-atomic=    libatomic_ops-${LIBAO_VERSION}
> >  PKGNAME-main=      boehm-gc-${VERSION}
> > -REVISION-main=     2
> >  
> >  DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \
> >             libatomic_ops-${LIBAO_VERSION}${EXTRACT_SUFX}
> >  
> >  MULTI_PACKAGES=    -main -atomic
> >  
> > -SHARED_LIBS +=     gc              4.0     # 1.3
> > -SHARED_LIBS +=     gccpp           0.0     # 1.3
> > -SHARED_LIBS +=     cord            2.3     # 1.3
> > -SHARED_LIBS +=  atomic_ops 2.0     # 1.3
> > -SHARED_LIBS +=  atomic_ops_gpl     2.0     # 1.3
> > +SHARED_LIBS+=      gc              5.0     # 5.3
> > +SHARED_LIBS+=      gccpp           0.1     # 5.0
> > +SHARED_LIBS+=      cord            2.3     # 5.0
> > +SHARED_LIBS+=      atomic_ops      2.0     # 2.1
> > +SHARED_LIBS+=      atomic_ops_gpl  2.0     # 2.2
> >  
> >  CATEGORIES=        devel
> >  
> >  MASTER_SITES=      ${HOMEPAGE}gc_source/
> >  
> > -HOMEPAGE=  http://hboehm.info/gc/
> > +HOMEPAGE=  https://hboehm.info/gc/
> > +MAINTAINER=        Nam Nguyen <[email protected]>
> >  
> >  # currently works only on most ELF archs
> >  NOT_FOR_ARCHS=     m88k
> >  
> >  PERMIT_PACKAGE_CDROM=      Yes
> >  
> > -WANTLIB-main += m pthread ${COMPILER_LIBCXX}
> > +WANTLIB-main+=     m pthread ${COMPILER_LIBCXX}
> >  
> > -COMPILER =         base-clang ports-gcc base-gcc
> > +COMPILER=          base-clang ports-gcc base-gcc
> >  
> >  MAKE_ENV=  CP="cp" \
> >             INSTALL_DATA="${INSTALL_DATA}" \
> >             INSTALL_MAN="${INSTALL_MAN}"
> >  
> > -CONFIGURE_STYLE= gnu
> > +CONFIGURE_STYLE=   gnu
> >  
> > -CONFIGURE_ARGS= --with-libatomic-ops=no \
> > +CONFIGURE_ARGS=    --with-libatomic-ops=no \
> >             --enable-cplusplus \
> > -           --enable-threads=pthreads
> > +           --enable-threads=pthreads \
> > +           --enable-static=yes
> >  
> >  post-extract:
> >     @perl -pi -e "s,/usr/local,${PREFIX},g" ${WRKSRC}/doc/gc.man
> > Index: distinfo
> > ===================================================================
> > RCS file: /cvs/ports/devel/boehm-gc/distinfo,v
> > retrieving revision 1.11
> > diff -u -p -r1.11 distinfo
> > --- distinfo        30 Dec 2018 17:08:09 -0000      1.11
> > +++ distinfo        6 May 2019 12:00:07 -0000
> > @@ -1,4 +1,4 @@
> > -SHA256 (gc-7.6.0.tar.gz) = oUoosRKb6Q5VzW9xEn/8VZThCR1dVBMVKMJM0MA7fZA=
> > -SHA256 (libatomic_ops-7.6.6.tar.gz) = 
> > mf6rxfVId/MU20+t6xCfCz4dGlSvtrSz37oecH444HQ=
> > -SIZE (gc-7.6.0.tar.gz) = 1111751
> > -SIZE (libatomic_ops-7.6.6.tar.gz) = 498187
> > +SHA256 (gc-8.0.4.tar.gz) = Q2oN3GexrAsEBbYalnW8qeB1yBVvTevR0G86VsfNKJ0=
> > +SHA256 (libatomic_ops-7.6.10.tar.gz) = 
> > WH7fYIF/Vtrx4as4pLPHKbjoRv9ntPYqYVcYNwjwma8=
> > +SIZE (gc-8.0.4.tar.gz) = 1160528
> > +SIZE (libatomic_ops-7.6.10.tar.gz) = 503734
> > Index: patches/patch-bdw-gc_pc_in
> > ===================================================================
> > RCS file: /cvs/ports/devel/boehm-gc/patches/patch-bdw-gc_pc_in,v
> > retrieving revision 1.1
> > diff -u -p -r1.1 patch-bdw-gc_pc_in
> > --- patches/patch-bdw-gc_pc_in      9 Dec 2009 20:36:49 -0000       1.1
> > +++ patches/patch-bdw-gc_pc_in      6 May 2019 12:00:07 -0000
> > @@ -1,10 +1,11 @@
> >  $OpenBSD: patch-bdw-gc_pc_in,v 1.1 2009/12/09 20:36:49 sthen Exp $
> > ---- bdw-gc.pc.in.orig      Mon Dec  7 10:57:34 2009
> > -+++ bdw-gc.pc.in   Mon Dec  7 10:57:46 2009
> > +Index: bdw-gc.pc.in
> > +--- bdw-gc.pc.in.orig
> > ++++ bdw-gc.pc.in
> >  @@ -6,5 +6,5 @@ includedir=@includedir@
> >   Name: Boehm-Demers-Weiser Conservative Garbage Collector
> >   Description: A garbage collector for C and C++
> >   Version: @PACKAGE_VERSION@
> > --Libs: -L${libdir} -lgc
> > -+Libs: -L${libdir} -lgc -pthread
> > +-Libs: -L${libdir} @ATOMIC_OPS_LIBS@ -lgc
> > ++Libs: -L${libdir} @ATOMIC_OPS_LIBS@ -lgc -pthread
> >   Cflags: -I${includedir}
> > Index: patches/patch-include_gc_config_macros_h
> > ===================================================================
> > RCS file: 
> > /cvs/ports/devel/boehm-gc/patches/patch-include_gc_config_macros_h,v
> > retrieving revision 1.3
> > diff -u -p -r1.3 patch-include_gc_config_macros_h
> > --- patches/patch-include_gc_config_macros_h        9 Feb 2014 06:01:54 
> > -0000       1.3
> > +++ patches/patch-include_gc_config_macros_h        6 May 2019 12:00:07 
> > -0000
> > @@ -1,21 +1,23 @@
> >  $OpenBSD: patch-include_gc_config_macros_h,v 1.3 2014/02/09 06:01:54 
> > shadchin Exp $
> > ---- include/gc_config_macros.h.orig        Sat Jan 18 23:56:01 2014
> > -+++ include/gc_config_macros.h     Sat Jan 18 23:54:59 2014
> > -@@ -87,14 +87,14 @@
> > - # if defined(__mips) && !defined(__linux__)
> > - #   define GC_IRIX_THREADS
> > +Index: include/gc_config_macros.h
> > +--- include/gc_config_macros.h.orig
> > ++++ include/gc_config_macros.h
> > +@@ -81,15 +81,15 @@
> > + #   define GC_THREADS
> >   # endif
> > --# if defined(__sparc) && !defined(__linux__) \
> > + #elif defined(GC_THREADS)
> > +-# if defined(__linux__)
> >  +# if defined(__OpenBSD__)
> >  +#   define GC_OPENBSD_THREADS
> > -+# elif defined(__sparc) && !defined(__linux__) \
> > -      || defined(sun) && (defined(i386) || defined(__i386__) \
> > -                          || defined(__amd64__))
> > - #   define GC_SOLARIS_THREADS
> > - # elif defined(__APPLE__) && defined(__MACH__)
> > - #   define GC_DARWIN_THREADS
> > ++# elif defined(__linux__)
> > + #   define GC_LINUX_THREADS
> > + # elif defined(_PA_RISC1_1) || defined(_PA_RISC2_0) || defined(hppa) \
> > +        || defined(__HPPA) || (defined(__ia64) && defined(_HPUX_SOURCE))
> > + #   define GC_HPUX_THREADS
> > + # elif defined(__HAIKU__)
> > + #   define GC_HAIKU_THREADS
> >  -# elif defined(__OpenBSD__)
> >  -#   define GC_OPENBSD_THREADS
> > - # elif !defined(GC_LINUX_THREADS) && !defined(GC_HPUX_THREADS) \
> > -        && !defined(GC_OSF1_THREADS) && !defined(GC_IRIX_THREADS)
> > -     /* FIXME: Should we really need for FreeBSD and NetBSD to check     */
> > + # elif defined(__DragonFly__) || defined(__FreeBSD_kernel__) \
> > +        || (defined(__FreeBSD__) && !defined(SN_TARGET_ORBIS))
> > + #   define GC_FREEBSD_THREADS
> > Index: patches/patch-include_private_gcconfig_h
> > ===================================================================
> > RCS file: 
> > /cvs/ports/devel/boehm-gc/patches/patch-include_private_gcconfig_h,v
> > retrieving revision 1.22
> > diff -u -p -r1.22 patch-include_private_gcconfig_h
> > --- patches/patch-include_private_gcconfig_h        15 Apr 2017 14:02:46 
> > -0000      1.22
> > +++ patches/patch-include_private_gcconfig_h        6 May 2019 12:00:07 
> > -0000
> > @@ -1,22 +1,22 @@
> >  $OpenBSD: patch-include_private_gcconfig_h,v 1.22 2017/04/15 14:02:46 
> > naddy Exp $
> >  
> >  - All OpenBSD mips platforms are 64-bit, so correct the wordsize and 
> > alignment
> > -- use __data_start instead of _fdata on OpenBSD/mips64
> >  - add support for OpenBSD/aarch64
> >  
> > ---- include/private/gcconfig.h.orig        Tue Aug  2 21:36:14 2016
> > -+++ include/private/gcconfig.h     Fri Apr 14 17:44:40 2017
> > -@@ -102,7 +102,8 @@
> > - # endif
> > +Index: include/private/gcconfig.h
> > +--- include/private/gcconfig.h.orig
> > ++++ include/private/gcconfig.h
> > +@@ -160,7 +160,8 @@ EXTERN_C_BEGIN
> >   # if defined(__aarch64__)
> >   #    define AARCH64
> > --#    if !defined(LINUX) && !defined(DARWIN) && !defined(FREEBSD)
> > -+#    if !defined(LINUX) && !defined(DARWIN) && !defined(FREEBSD) \
> > -+  && !defined(OPENBSD)
> > + #    if !defined(LINUX) && !defined(DARWIN) && !defined(FREEBSD) \
> > +-        && !defined(NETBSD) && !defined(NN_BUILD_TARGET_PLATFORM_NX)
> > ++        && !defined(NETBSD) && !defined(OPENBSD) \
> > ++  && !defined(NN_BUILD_TARGET_PLATFORM_NX)
> >   #      define NOSYS
> >   #      define mach_type_known
> >   #    endif
> > -@@ -137,6 +138,10 @@
> > +@@ -196,6 +197,10 @@ EXTERN_C_BEGIN
> >   #    define ARM32
> >   #    define mach_type_known
> >   # endif
> > @@ -27,26 +27,17 @@ $OpenBSD: patch-include_private_gcconfig
> >   # if defined(OPENBSD) && defined(__sh__)
> >   #    define SH
> >   #    define mach_type_known
> > -@@ -1712,14 +1717,15 @@
> > - #  endif
> > - #  ifdef OPENBSD
> > - #    define OS_TYPE "OPENBSD"
> > --#    define ALIGNMENT 4
> > -+#    define CPP_WORDSZ 64
> > -+#    define ALIGNMENT 8
> > +@@ -1076,7 +1081,8 @@ EXTERN_C_BEGIN
> > + #   endif
> > + #   ifdef OPENBSD
> > + #     define OS_TYPE "OPENBSD"
> > +-#     define ALIGNMENT 4
> > ++#     define CPP_WORDSZ 64
> > ++#     define ALIGNMENT 8
> >   #     ifndef GC_OPENBSD_THREADS
> > - #      include <sys/param.h>
> > - #      include <uvm/uvm_extern.h>
> > - #      define STACKBOTTOM ((ptr_t)USRSTACK)
> > - #    endif
> > --     extern int _fdata[];
> > --#    define DATASTART ((ptr_t)_fdata)
> > -+     extern int __data_start[];
> > -+#    define DATASTART ((ptr_t)__data_start)
> > -      extern int _end[];
> > - #    define DATAEND ((ptr_t)(&_end))
> > - #    define DYNAMIC_LOADING
> > -@@ -2165,6 +2171,19 @@
> > +         EXTERN_C_END
> > + #       include <sys/param.h>
> > +@@ -2328,6 +2334,19 @@ EXTERN_C_BEGIN
> >         extern char etext[];
> >   #     define DATASTART GC_FreeBSDGetDataStart(0x1000, (ptr_t)etext)
> >   #     define DATASTART_USES_BSDGETDATASTART
> > @@ -64,5 +55,5 @@ $OpenBSD: patch-include_private_gcconfig
> >  +#     define DATAEND ((ptr_t)(&_end))
> >  +#     define DYNAMIC_LOADING
> >   #   endif
> > - #   ifdef NOSYS
> > -       /* __data_start is usually defined in the target linker script.   */
> > + #   ifdef NETBSD
> > + #     define OS_TYPE "NETBSD"
> > Index: pkg/PLIST-main
> > ===================================================================
> > RCS file: /cvs/ports/devel/boehm-gc/pkg/PLIST-main,v
> > retrieving revision 1.5
> > diff -u -p -r1.5 PLIST-main
> > --- pkg/PLIST-main  12 Nov 2016 10:33:04 -0000      1.5
> > +++ pkg/PLIST-main  6 May 2019 12:00:07 -0000
> > @@ -20,7 +20,6 @@ include/gc/gc_typed.h
> >  include/gc/gc_version.h
> >  include/gc/javaxfc.h
> >  include/gc/leak_detector.h
> > -include/gc/weakpointer.h
> >  include/gc_cpp.h
> >  lib/libcord.a
> >  lib/libcord.la
> > @@ -33,38 +32,37 @@ lib/libgccpp.la
> >  @lib lib/libgccpp.so.${LIBgccpp_VERSION}
> >  lib/pkgconfig/bdw-gc.pc
> >  @man man/man3/gc.3
> > -share/gc/
> > -share/gc/AUTHORS
> > -share/gc/README.DGUX386
> > -share/gc/README.Mac
> > -share/gc/README.OS2
> > -share/gc/README.amiga
> > -share/gc/README.arm.cross
> > -share/gc/README.autoconf
> > -share/gc/README.cmake
> > -share/gc/README.cords
> > -share/gc/README.darwin
> > -share/gc/README.environment
> > -share/gc/README.ews4800
> > -share/gc/README.hp
> > -share/gc/README.linux
> > -share/gc/README.macros
> > -share/gc/README.md
> > -share/gc/README.rs6000
> > -share/gc/README.sgi
> > -share/gc/README.solaris2
> > -share/gc/README.symbian
> > -share/gc/README.uts
> > -share/gc/README.win32
> > -share/gc/README.win64
> > -share/gc/debugging.html
> > -share/gc/finalization.html
> > -@comment share/gc/gc.man
> > -share/gc/gcdescr.html
> > -share/gc/gcinterface.html
> > -share/gc/leak.html
> > -share/gc/overview.html
> > -share/gc/porting.html
> > -share/gc/scale.html
> > -share/gc/simple_example.html
> > -share/gc/tree.html
> > +share/doc/gc/
> > +share/doc/gc/AUTHORS
> > +share/doc/gc/README.DGUX386
> > +share/doc/gc/README.Mac
> > +share/doc/gc/README.OS2
> > +share/doc/gc/README.amiga
> > +share/doc/gc/README.arm.cross
> > +share/doc/gc/README.autoconf
> > +share/doc/gc/README.cmake
> > +share/doc/gc/README.cords
> > +share/doc/gc/README.darwin
> > +share/doc/gc/README.environment
> > +share/doc/gc/README.ews4800
> > +share/doc/gc/README.hp
> > +share/doc/gc/README.linux
> > +share/doc/gc/README.macros
> > +share/doc/gc/README.md
> > +share/doc/gc/README.rs6000
> > +share/doc/gc/README.sgi
> > +share/doc/gc/README.solaris2
> > +share/doc/gc/README.symbian
> > +share/doc/gc/README.uts
> > +share/doc/gc/README.win32
> > +share/doc/gc/README.win64
> > +share/doc/gc/debugging.md
> > +share/doc/gc/finalization.md
> > +share/doc/gc/gcdescr.md
> > +share/doc/gc/gcinterface.md
> > +share/doc/gc/leak.md
> > +share/doc/gc/overview.md
> > +share/doc/gc/porting.md
> > +share/doc/gc/scale.md
> > +share/doc/gc/simple_example.md
> > +share/doc/gc/tree.md
> >   
> 

Reply via email to