[gcc r11-8879] arm: ensure the arch_name is always set for the build target

Richard Earnshaw rearnsha@gcc.gnu.org
Wed Aug 18 15:23:08 GMT 2021


https://gcc.gnu.org/g:95c56f26a9e43cfe38d23f3e52e83c500ac1e652

commit r11-8879-g95c56f26a9e43cfe38d23f3e52e83c500ac1e652
Author: Richard Earnshaw <rearnsha@arm.com>
Date:   Mon Jul 26 17:07:14 2021 +0100

    arm: ensure the arch_name is always set for the build target
    
    This should never happen now if GCC is invoked by the driver, but in
    the unusual case of calling cc1 (or its ilk) directly from the command
    line the build target's arch_name string can remain NULL.  This can
    complicate later processing meaning that we need to check for this
    case explicitly in some circumstances.  Nothing should rely on this
    behaviour, so it's simpler to always set the arch_name when
    configuring the build target and be done with it.
    
    gcc:
    
            * config/arm/arm.c (arm_configure_build_target): Ensure the target's
            arch_name is always set.
    
    (cherry picked from commit 62e66c6a6cc52dc0e014141d369cff52757cd7ae)

Diff:
---
 gcc/config/arm/arm.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 783c5e51051..daafeb34683 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -3430,6 +3430,8 @@ arm_configure_build_target (struct arm_build_target *target,
   const cpu_tune *tune_data = &all_tunes[arm_selected_tune - all_cores];
 
   /* Finish initializing the target structure.  */
+  if (!target->arch_name)
+    target->arch_name = arm_selected_arch->common.name;
   target->arch_pp_name = arm_selected_arch->arch;
   target->base_arch = arm_selected_arch->base_arch;
   target->profile = arm_selected_arch->profile;


More information about the Gcc-cvs mailing list