Source: libgc Version: 1:8.0.4-3 Tags: patch User: helm...@debian.org Usertags: rebootstrap User: debian-cr...@lists.debian.org Usertags: ftcbfs
libgc fails to cross build from source for nios2 due to symbol differences. A closer look reveals that nios2 is one of the few architectures where the cross build does not enable the use of atomic builtins, but a native build does. Once enabled, we get a very different and larger pile of symbol differences that look much more reasonable. Looks like the previous symbol update wasn't correct. Please consider applying the attached patch to fix that. Helmut
diff --minimal -Nru libgc-8.0.4/debian/changelog libgc-8.0.4/debian/changelog --- libgc-8.0.4/debian/changelog 2020-12-06 12:44:00.000000000 +0100 +++ libgc-8.0.4/debian/changelog 2021-07-20 06:30:56.000000000 +0200 @@ -1,3 +1,10 @@ +libgc (1:8.0.4-3.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Also use atomic builtins on nios2 and adapt symbol file. (Closes: #-1) + + -- Helmut Grohne <hel...@subdivi.de> Tue, 20 Jul 2021 06:30:56 +0200 + libgc (1:8.0.4-3) unstable; urgency=medium * Fix cross/native difference: explicitly disable usage of diff --minimal -Nru libgc-8.0.4/debian/libgc1.symbols libgc-8.0.4/debian/libgc1.symbols --- libgc-8.0.4/debian/libgc1.symbols 2020-10-27 14:07:51.000000000 +0100 +++ libgc-8.0.4/debian/libgc1.symbols 2021-07-20 06:30:54.000000000 +0200 @@ -4,8 +4,8 @@ (arch=kfreebsd-amd64 kfreebsd-i386)GC_FreeBSDGetDataStart@Base 1:7.2d (arch=sparc sparc64)GC_SysVGetDataStart@Base 1:7.2d GC_abort_on_oom@Base 1:8.0 - (arch=!nios2 !sh4)GC_acquire_mark_lock@Base 1:8.0 - (arch=!nios2 !sh4)GC_active_count@Base 1:8.0 + (arch=!sh4)GC_acquire_mark_lock@Base 1:8.0 + (arch=!sh4)GC_active_count@Base 1:8.0 GC_add_ext_descriptor@Base 1:7.2d GC_add_map_entry@Base 1:7.2d GC_add_roots@Base 1:7.2d @@ -53,7 +53,7 @@ GC_build_fl@Base 1:7.2d GC_build_fl_clear2@Base 1:7.2d GC_build_fl_clear4@Base 1:7.2d - (arch=!nios2 !sh4)GC_bytes_allocd_tmp@Base 1:8.0 + (arch=!sh4)GC_bytes_allocd_tmp@Base 1:8.0 GC_bytes_found@Base 1:7.2d GC_call_with_alloc_lock@Base 1:7.2d GC_call_with_gc_active@Base 1:7.2d @@ -146,8 +146,8 @@ GC_do_blocking@Base 1:7.2d GC_do_blocking_inner@Base 1:7.2d GC_do_enumerate_reachable_objects@Base 1:7.6.4 - (arch=!nios2 !sh4)GC_do_local_mark@Base 1:8.0 - (arch=!nios2 !sh4)GC_do_parallel_mark@Base 1:8.0 + (arch=!sh4)GC_do_local_mark@Base 1:8.0 + (arch=!sh4)GC_do_parallel_mark@Base 1:8.0 GC_dont_expand@Base 1:7.2d GC_dont_gc@Base 1:7.2d GC_dont_precollect@Base 1:7.2d @@ -194,8 +194,8 @@ (arch=!arm64 !nios2 !mips !mips64el !mipsel !riscv64 !s390 !s390x)GC_find_limit_with_bound@Base 1:7.2d GC_findleak_delay_free@Base 1:7.2d GC_finish_collection@Base 1:7.2d - (arch=!nios2 !sh4)GC_first_nonempty@Base 1:8.0 - (arch=!nios2 !sh4)GC_fl_builder_count@Base 1:8.0 + (arch=!sh4)GC_first_nonempty@Base 1:8.0 + (arch=!sh4)GC_fl_builder_count@Base 1:8.0 GC_fnlz_roots@Base 1:7.6.4 GC_fo_entries@Base 1:7.2d GC_force_unmap_on_gcollect@Base 1:7.2d @@ -295,9 +295,9 @@ GC_hblkfreelist@Base 1:7.2d GC_header_cache_miss@Base 1:7.2d GC_heapsize_at_forced_unmap@Base 1:7.6.4 - (arch=!nios2 !sh4)GC_help_marker@Base 1:8.0 - (arch=!nios2 !sh4)GC_help_wanted@Base 1:8.0 - (arch=!nios2 !sh4)GC_helper_count@Base 1:8.0 + (arch=!sh4)GC_help_marker@Base 1:8.0 + (arch=!sh4)GC_help_wanted@Base 1:8.0 + (arch=!sh4)GC_helper_count@Base 1:8.0 GC_ignore_self_finalize_mark_proc@Base 1:7.2d GC_ignore_warn_proc@Base 1:7.2d GC_in_thread_creation@Base 1:7.2d @@ -372,16 +372,16 @@ GC_mark_and_push_stack@Base 1:7.2d GC_mark_from@Base 1:7.2d GC_mark_init@Base 1:7.2d - (arch=!nios2 !sh4)GC_mark_local@Base 1:8.0 - (arch=!nios2 !sh4)GC_mark_no@Base 1:8.0 + (arch=!sh4)GC_mark_local@Base 1:8.0 + (arch=!sh4)GC_mark_no@Base 1:8.0 GC_mark_some@Base 1:7.2d GC_mark_stack_size@Base 1:7.2d GC_mark_stack_too_small@Base 1:7.2d GC_mark_state@Base 1:7.2d - (arch=!nios2 !sh4)GC_mark_thread@Base 1:8.0 + (arch=!sh4)GC_mark_thread@Base 1:8.0 GC_mark_thread_local_fls_for@Base 1:8.0 GC_mark_thread_local_free_lists@Base 1:8.0 - (arch=!nios2 !sh4)GC_mark_threads@Base 1:8.0 + (arch=!sh4)GC_mark_threads@Base 1:8.0 GC_mark_togglerefs@Base 1:7.6.4 GC_max_heapsize@Base 1:7.4.2 GC_max_retries@Base 1:7.2d @@ -420,8 +420,8 @@ GC_noop6@Base 1:7.4.2 GC_noop_sink@Base 1:7.2d GC_normal_finalize_mark_proc@Base 1:7.2d - (arch=!nios2 !sh4)GC_notify_all_builder@Base 1:8.0 - (arch=!nios2 !sh4)GC_notify_all_marker@Base 1:8.0 + (arch=!sh4)GC_notify_all_builder@Base 1:8.0 + (arch=!sh4)GC_notify_all_marker@Base 1:8.0 GC_notify_or_invoke_finalizers@Base 1:7.2d GC_nprocs@Base 1:7.2d GC_null_finalize_mark_proc@Base 1:7.2d @@ -493,9 +493,9 @@ GC_push_current_stack@Base 1:7.2d GC_push_finalizer_structures@Base 1:7.2d GC_push_gc_structures@Base 1:7.2d - (arch=nios2 sh4)GC_push_marked1@Base 1:7.4.2 - (arch=!alpha !amd64 !arm64 !armel !armhf !hppa !hurd-i386 !i386 !ia64 !kfreebsd-amd64 !kfreebsd-i386 !m68k !mips !mips64el !mipsel !powerpc !powerpcspe !ppc64 !ppc64el !riscv64 !s390x !sparc !sparc64 !x32)GC_push_marked2@Base 1:7.4.2 - (arch=!alpha !amd64 !arm64 !armel !armhf !hppa !hurd-i386 !i386 !ia64 !kfreebsd-amd64 !kfreebsd-i386 !m68k !mips !mips64el !mipsel !powerpc !powerpcspe !ppc64 !ppc64el !riscv64 !s390x !sparc !sparc64 !x32)GC_push_marked4@Base 1:7.4.2 + (arch=sh4)GC_push_marked1@Base 1:7.4.2 + (arch=!alpha !amd64 !arm64 !armel !armhf !hppa !hurd-i386 !i386 !ia64 !kfreebsd-amd64 !kfreebsd-i386 !m68k !mips !mips64el !mipsel !nios2 !powerpc !powerpcspe !ppc64 !ppc64el !riscv64 !s390x !sparc !sparc64 !x32)GC_push_marked2@Base 1:7.4.2 + (arch=!alpha !amd64 !arm64 !armel !armhf !hppa !hurd-i386 !i386 !ia64 !kfreebsd-amd64 !kfreebsd-i386 !m68k !mips !mips64el !mipsel !nios2 !powerpc !powerpcspe !ppc64 !ppc64el !riscv64 !s390x !sparc !sparc64 !x32)GC_push_marked4@Base 1:7.4.2 GC_push_marked@Base 1:7.2d GC_push_next_marked@Base 1:7.2d GC_push_next_marked_dirty@Base 1:7.2d @@ -545,7 +545,7 @@ GC_register_my_thread@Base 1:7.2d GC_register_my_thread_inner@Base 1:7.2d (arch=ia64)GC_register_stackbottom@Base 1:7.2d - (arch=!nios2 !sh4)GC_release_mark_lock@Base 1:8.0 + (arch=!sh4)GC_release_mark_lock@Base 1:8.0 GC_remap@Base 1:8.0 GC_remove_all_threads_but_me@Base 1:7.4.2 GC_remove_allowed_signals@Base 1:7.2d @@ -565,7 +565,7 @@ GC_restart_handler@Base 1:7.2d (arch=!kfreebsd-amd64 !kfreebsd-i386)GC_resume_thread@Base 1:7.6.4 GC_retry_signals@Base 1:7.2d - (arch=!nios2 !sh4)GC_return_mark_stack@Base 1:8.0 + (arch=!sh4)GC_return_mark_stack@Base 1:8.0 GC_root_size@Base 1:7.2d GC_roots_present@Base 1:7.2d GC_same_obj@Base 1:7.2d @@ -639,7 +639,7 @@ GC_start_world_external@Base 1:8.0 GC_stderr@Base 1:7.2d GC_stdout@Base 1:7.2d - (arch=!nios2 !sh4)GC_steal_mark_stack@Base 1:8.0 + (arch=!sh4)GC_steal_mark_stack@Base 1:8.0 GC_stop_count@Base 1:7.2d GC_stop_init@Base 1:7.2d GC_stop_world@Base 1:7.2d @@ -692,11 +692,11 @@ GC_use_entire_heap@Base 1:7.2d GC_used_heap_size_after_full@Base 1:7.2d GC_version@Base 1:7.2d - (arch=!nios2 !sh4)GC_wait_builder@Base 1:8.0 + (arch=!sh4)GC_wait_builder@Base 1:8.0 GC_wait_for_gc_completion@Base 1:7.2d (arch=!sh4)GC_wait_for_markers_init@Base 1:8.0 - (arch=!nios2 !sh4)GC_wait_for_reclaim@Base 1:8.0 - (arch=!nios2 !sh4)GC_wait_marker@Base 1:8.0 + (arch=!sh4)GC_wait_for_reclaim@Base 1:8.0 + (arch=!sh4)GC_wait_marker@Base 1:8.0 GC_with_callee_saves_pushed@Base 1:7.2d GC_world_is_stopped@Base 1:7.2d GC_world_stopped@Base 1:8.0 diff --minimal -Nru libgc-8.0.4/debian/rules libgc-8.0.4/debian/rules --- libgc-8.0.4/debian/rules 2020-12-06 12:44:00.000000000 +0100 +++ libgc-8.0.4/debian/rules 2021-07-20 06:26:48.000000000 +0200 @@ -8,7 +8,7 @@ LDFLAGS += -pthread ifneq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH)) -ATOMIC_BUILTIN_ARCHS = alpha amd64 arm64 armel armhf hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x x32 +ATOMIC_BUILTIN_ARCHS = alpha amd64 arm64 armel armhf hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips64el mipsel nios2 powerpc ppc64 ppc64el riscv64 s390x x32 endif %: