summaryrefslogtreecommitdiffstats
path: root/debian/patches/pr100067-revert.diff
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/pr100067-revert.diff')
-rw-r--r--debian/patches/pr100067-revert.diff117
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"
+