diff options
Diffstat (limited to 'debian/patches/pr100067-revert.diff')
-rw-r--r-- | debian/patches/pr100067-revert.diff | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/debian/patches/pr100067-revert.diff b/debian/patches/pr100067-revert.diff new file mode 100644 index 0000000..66ac838 --- /dev/null +++ b/debian/patches/pr100067-revert.diff @@ -0,0 +1,117 @@ +# DP: Revert the fix for PR target/100067, breaking the ARM multilib build + +--- a/src/gcc/config/arm/arm.cc ++++ b/src/gcc/config/arm/arm.cc +@@ -3298,22 +3298,21 @@ arm_configure_build_target (struct arm_b + bitmap_xor (isa_delta, cpu_isa, target->isa); + /* Ignore any bits that are quirk bits. */ + bitmap_and_compl (isa_delta, isa_delta, isa_quirkbits); +- /* If the user (or the default configuration) has specified a +- specific FPU, then ignore any bits that depend on the FPU +- configuration. Do similarly if using the soft-float +- ABI. */ +- if (opts->x_arm_fpu_index != TARGET_FPU_auto +- || arm_float_abi == ARM_FLOAT_ABI_SOFT) ++ /* Ignore (for now) any bits that might be set by -mfpu. */ ++ bitmap_and_compl (isa_delta, isa_delta, isa_all_fpubits_internal); ++ ++ /* And if the target ISA lacks floating point, ignore any ++ extensions that depend on that. */ ++ if (!bitmap_bit_p (target->isa, isa_bit_vfpv2)) + bitmap_and_compl (isa_delta, isa_delta, isa_all_fpbits); + + if (!bitmap_empty_p (isa_delta)) + { + if (warn_compatible) + warning (0, "switch %<-mcpu=%s%> conflicts " +- "with switch %<-march=%s%>", +- opts->x_arm_cpu_string, +- opts->x_arm_arch_string); +- ++ "with %<-march=%s%> switch", ++ arm_selected_cpu->common.name, ++ arm_selected_arch->common.name); + /* -march wins for code generation. + -mcpu wins for default tuning. */ + if (!arm_selected_tune) +@@ -3464,10 +3463,6 @@ arm_configure_build_target (struct arm_b + auto_sbitmap fpu_bits (isa_num_bits); + + arm_initialize_isa (fpu_bits, arm_selected_fpu->isa_bits); +- /* This should clear out ALL bits relating to the FPU/simd +- extensions, to avoid potentially invalid combinations later on +- that we can't match. At present we only clear out those bits +- that can be set by -mfpu. This should be fixed in GCC-12. */ + bitmap_and_compl (target->isa, target->isa, isa_all_fpubits_internal); + bitmap_ior (target->isa, target->isa, fpu_bits); + } +@@ -3978,7 +3973,7 @@ arm_options_perform_arch_sanity_checks ( + arm_pcs_default = ARM_PCS_AAPCS_VFP; + if (!bitmap_bit_p (arm_active_target.isa, isa_bit_vfpv2) + && !bitmap_bit_p (arm_active_target.isa, isa_bit_mve)) +- error ("%<-mfloat-abi=hard%>: selected architecture lacks an FPU"); ++ error ("%<-mfloat-abi=hard%>: selected processor lacks an FPU"); + } + else + arm_pcs_default = ARM_PCS_AAPCS; +--- a/src/libgomp/testsuite/libgomp.fortran/alloc-1.F90 ++++ b/src/libgomp/testsuite/libgomp.fortran/alloc-1.F90 +@@ -139,13 +139,12 @@ + cp = omp_alloc (ONEoFIVE, & + & omp_null_allocator) + if (mod (transfer (cp, intptr), 32_c_intptr_t) /= 0) stop 17 +- call c_f_pointer (cp, p, [ONEoFIVE & ++ call c_f_pointer (cq, q, [ONEoFIVE & + & / c_sizeof (i)]) + p(1) = 5 + p(ONEoFIVE / c_sizeof (i)) = 6 + cq = omp_alloc (768_c_size_t, omp_null_allocator) + if (mod (transfer (cq, intptr), 128_c_intptr_t) /= 0) stop 18 +- call c_f_pointer (cq, q, [768 / c_sizeof (i)]) + q(1) = 7 + q(768 / c_sizeof (i)) = 8 + if (c_associated (omp_alloc (768_c_size_t, omp_null_allocator))) & +--- a/src/gcc/testsuite/g++.target/arm/arm.exp ++++ b/src/gcc/testsuite/g++.target/arm/arm.exp +@@ -35,7 +35,7 @@ if ![info exists DEFAULT_CXXFLAGS] then + + global dg_runtest_extra_prunes + set dg_runtest_extra_prunes "" +-lappend dg_runtest_extra_prunes "warning: switch '-m(cpu|arch)=.*' conflicts with switch '-m(cpu|arch)=.*'" ++lappend dg_runtest_extra_prunes "warning: switch '-m(cpu|arch)=.*' conflicts with '-m(cpu|arch)=.*' switch" + + # Initialize `dg'. + dg-init +--- a/src/gcc/testsuite/g++.target/arm/mve.exp ++++ b/src/gcc/testsuite/g++.target/arm/mve.exp +@@ -33,7 +33,7 @@ if ![info exists DEFAULT_CXXFLAGS] then + # This variable should only apply to tests called in this exp file. + global dg_runtest_extra_prunes + set dg_runtest_extra_prunes "" +-lappend dg_runtest_extra_prunes "warning: switch '-m(cpu|arch)=.*' conflicts with switch '-m(cpu|arch)=.*'" ++lappend dg_runtest_extra_prunes "warning: switch -m(cpu|arch)=.* conflicts with -m(cpu|arch)=.* switch" + + set save-dg-do-what-default ${dg-do-what-default} + set dg-do-what-default "assemble" +--- a/src/gcc/testsuite/gcc.target/arm/arm.exp ++++ b/src/gcc/testsuite/gcc.target/arm/arm.exp +@@ -33,7 +33,7 @@ if ![info exists DEFAULT_CFLAGS] then { + # This variable should only apply to tests called in this exp file. + global dg_runtest_extra_prunes + set dg_runtest_extra_prunes "" +-lappend dg_runtest_extra_prunes "warning: switch '-m(cpu|arch)=.*' conflicts with switch '-m(cpu|arch)=.*'" ++lappend dg_runtest_extra_prunes "warning: switch '-m(cpu|arch)=.*' conflicts with '-m(cpu|arch)=.*' switch" + + # Initialize `dg'. + dg-init +--- a/src/gcc/testsuite/gcc.target/arm/mve/mve.exp ++++ b/src/gcc/testsuite/gcc.target/arm/mve/mve.exp +@@ -33,7 +33,7 @@ if ![info exists DEFAULT_CFLAGS] then { + # This variable should only apply to tests called in this exp file. + global dg_runtest_extra_prunes + set dg_runtest_extra_prunes "" +-lappend dg_runtest_extra_prunes "warning: switch '-m(cpu|arch)=.*' conflicts with switch '-m(cpu|arch)=.*'" ++lappend dg_runtest_extra_prunes "warning: switch -m(cpu|arch)=.* conflicts with -m(cpu|arch)=.* switch" + + set dg-do-what-default "assemble" + |