Friday, June 07, 2019

w3m broken, Re: update boehm-gc 8.0.4 libatomic_ops 7.6.10

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 <stu@spacehopper.org>
> 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 <namn@berkeley.edu>
> >
> > # 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
> >
>

No comments:

Post a Comment