pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/lang/gcc14



Module Name:    pkgsrc
Committed By:   mrg
Date:           Sun Oct 12 21:44:57 UTC 2025

Modified Files:
        pkgsrc/lang/gcc14: distinfo
        pkgsrc/lang/gcc14/patches: patch-gcc_config.gcc
            patch-gcc_config_aarch64_aarch64.cc

Log Message:
add arm64eb support: a config snippet, and a gcc14 specific fix.


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 pkgsrc/lang/gcc14/distinfo
cvs rdiff -u -r1.2 -r1.3 pkgsrc/lang/gcc14/patches/patch-gcc_config.gcc \
    pkgsrc/lang/gcc14/patches/patch-gcc_config_aarch64_aarch64.cc

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/lang/gcc14/distinfo
diff -u pkgsrc/lang/gcc14/distinfo:1.10 pkgsrc/lang/gcc14/distinfo:1.11
--- pkgsrc/lang/gcc14/distinfo:1.10     Mon Jul 14 11:16:56 2025
+++ pkgsrc/lang/gcc14/distinfo  Sun Oct 12 21:44:57 2025
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.10 2025/07/14 11:16:56 ryoon Exp $
+$NetBSD: distinfo,v 1.11 2025/10/12 21:44:57 mrg Exp $
 
 BLAKE2s (gcc-14.3.0.tar.xz) = 70036c7d07767bba3476d19a6fd52f0b09dc05651c6cf5d136afe18ffa3b63a9
 SHA512 (gcc-14.3.0.tar.xz) = cb4e3259640721bbd275c723fe4df53d12f9b1673afb3db274c22c6aa457865dccf2d6ea20b4fd4c591f6152e6d4b87516c402015900f06ce9d43af66d3b7a93
@@ -26,7 +26,7 @@ SHA1 (patch-gcc_calls.h) = 89b4b16d1c6d0
 SHA1 (patch-gcc_collect2.cc) = 0afb813670c91221416a69a84295efe122a3b258
 SHA1 (patch-gcc_common.opt) = 1aa40a7919fc55f085316ebda18f0e8f4e724da8
 SHA1 (patch-gcc_common_config_aarch64_aarch64-common.cc) = e37205308e70a45bda90244c733e30adaef787d5
-SHA1 (patch-gcc_config.gcc) = 6799bb4f583fca42ca68fd7f9f01fecd9b867155
+SHA1 (patch-gcc_config.gcc) = 9b09ccade2a617943d7c84e8385fb4f840bf160a
 SHA1 (patch-gcc_config.host) = bf95dd21bfdf79d173e745fbd35c9bb99fdf4087
 SHA1 (patch-gcc_config_aarch64_aarch64-builtins.cc) = 6a1d686275eec3598ffefb14973bf768846ab4a1
 SHA1 (patch-gcc_config_aarch64_aarch64-c.cc) = 32c31e906263e7790112140a528e1ca0337e43ff
@@ -34,7 +34,7 @@ SHA1 (patch-gcc_config_aarch64_aarch64-c
 SHA1 (patch-gcc_config_aarch64_aarch64-netbsd.h) = abf19e2445bce1773162bddef16cd7f41eb36827
 SHA1 (patch-gcc_config_aarch64_aarch64-protos.h) = d9b90df2600b7d92bca098d9dc4ac965fe94983c
 SHA1 (patch-gcc_config_aarch64_aarch64-tune.md) = 4c3d2f4d757e75e6f154936ae6cb0b409aabd8f2
-SHA1 (patch-gcc_config_aarch64_aarch64.cc) = 3de2cc5fe4f4da6ca25b8f7ef0ef659d7bec51f8
+SHA1 (patch-gcc_config_aarch64_aarch64.cc) = 90cc5b659959c73ef29616cd642924cbdaf674be
 SHA1 (patch-gcc_config_aarch64_aarch64.h) = b2e297c5a37d07b5d360566d111ce7b5c561209d
 SHA1 (patch-gcc_config_aarch64_aarch64.md) = 547637f1096d544897ee906c67f7d18b070ab4cc
 SHA1 (patch-gcc_config_aarch64_aarch64.opt) = 179acff4f1f9f462810a834f71908e94b341b8a3

Index: pkgsrc/lang/gcc14/patches/patch-gcc_config.gcc
diff -u pkgsrc/lang/gcc14/patches/patch-gcc_config.gcc:1.2 pkgsrc/lang/gcc14/patches/patch-gcc_config.gcc:1.3
--- pkgsrc/lang/gcc14/patches/patch-gcc_config.gcc:1.2  Sun Jun  8 07:37:45 2025
+++ pkgsrc/lang/gcc14/patches/patch-gcc_config.gcc      Sun Oct 12 21:44:57 2025
@@ -1,9 +1,10 @@
-$NetBSD: patch-gcc_config.gcc,v 1.2 2025/06/08 07:37:45 wiz Exp $
+$NetBSD: patch-gcc_config.gcc,v 1.3 2025/10/12 21:44:57 mrg Exp $
 
 Support Darwin/aarch64, from https://github.com/Homebrew/formula-patches.
+Support NetBSD/aarch64eb.
 
---- gcc/config.gcc.orig        2025-05-23 11:02:04.272197204 +0000
-+++ gcc/config.gcc
+--- gcc/config.gcc.orig        2025-05-23 04:02:04.272197204 -0700
++++ gcc/config.gcc     2025-10-12 14:28:13.767650187 -0700
 @@ -1177,13 +1177,22 @@ case ${target} in
    ;;
  esac
@@ -43,3 +44,15 @@ Support Darwin/aarch64, from https://git
  aarch64*-*-freebsd*)
        tm_file="${tm_file} elfos.h ${fbsd_tm_file}"
        tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-errata.h aarch64/aarch64-freebsd.h"
+@@ -1238,6 +1255,11 @@ aarch64*-*-netbsd*)
+       tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-errata.h aarch64/aarch64-netbsd.h"
+       tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-netbsd"
+       extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
++      case $target in
++      aarch64_be-*)
++              tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
++              ;;
++      esac
+       ;;
+ aarch64*-*-linux*)
+       tm_file="${tm_file} elfos.h gnu-user.h linux.h glibc-stdint.h"
Index: pkgsrc/lang/gcc14/patches/patch-gcc_config_aarch64_aarch64.cc
diff -u pkgsrc/lang/gcc14/patches/patch-gcc_config_aarch64_aarch64.cc:1.2 pkgsrc/lang/gcc14/patches/patch-gcc_config_aarch64_aarch64.cc:1.3
--- pkgsrc/lang/gcc14/patches/patch-gcc_config_aarch64_aarch64.cc:1.2   Sun Jun  8 07:37:45 2025
+++ pkgsrc/lang/gcc14/patches/patch-gcc_config_aarch64_aarch64.cc       Sun Oct 12 21:44:57 2025
@@ -1,9 +1,11 @@
-$NetBSD: patch-gcc_config_aarch64_aarch64.cc,v 1.2 2025/06/08 07:37:45 wiz Exp $
+$NetBSD: patch-gcc_config_aarch64_aarch64.cc,v 1.3 2025/10/12 21:44:57 mrg Exp $
 
 Support Darwin/aarch64, from https://github.com/Homebrew/formula-patches.
+Apply fixes from GCC PR PR118891: Fix ZIP1 order in aarch64_expand_vector_init
 
---- gcc/config/aarch64/aarch64.cc.orig 2025-05-23 11:02:04.284197394 +0000
-+++ gcc/config/aarch64/aarch64.cc
+
+--- gcc/config/aarch64/aarch64.cc.orig 2025-05-23 04:02:04.284197394 -0700
++++ gcc/config/aarch64/aarch64.cc      2025-10-12 14:39:18.549565530 -0700
 @@ -329,8 +329,10 @@ static bool aarch64_vfp_is_call_or_retur
                                                     const_tree,
                                                     machine_mode *, int *,
@@ -1084,7 +1086,21 @@ Support Darwin/aarch64, from https://git
      return true;
  
    if (SYMBOL_REF_P (x) && mode == DImode && CONSTANT_ADDRESS_P (x))
-@@ -24453,12 +25043,8 @@ aarch64_asm_output_variant_pcs (FILE *st
+@@ -24019,6 +24609,13 @@ aarch64_expand_vector_init (rtx target, 
+       emit_insn (rec_seq);
+     }
+ 
++  /* The two halves should (by induction) be individually endian-correct.
++     However, in the memory layout provided by VALS, the nth element of
++     HALVES[0] comes immediately before the nth element HALVES[1].
++     This means that, on big-endian targets, the nth element of HALVES[0]
++     is more significant than the nth element HALVES[1].  */
++  if (BYTES_BIG_ENDIAN)
++    std::swap (halves[0], halves[1]);
+   rtvec v = gen_rtvec (2, halves[0], halves[1]);
+   rtx_insn *zip1_insn
+     = emit_set_insn (target, gen_rtx_UNSPEC (mode, v, UNSPEC_ZIP1));
+@@ -24453,12 +25050,8 @@ aarch64_asm_output_variant_pcs (FILE *st
  static std::string aarch64_last_printed_arch_string;
  static std::string aarch64_last_printed_tune_string;
  
@@ -1099,7 +1115,7 @@ Support Darwin/aarch64, from https://git
  {
    tree target_parts = DECL_FUNCTION_SPECIFIC_TARGET (fndecl);
  
-@@ -24497,15 +25083,60 @@ aarch64_declare_function_name (FILE *str
+@@ -24497,15 +25090,60 @@ aarch64_declare_function_name (FILE *str
                   this_tune->name);
        aarch64_last_printed_tune_string = this_tune->name;
      }
@@ -1160,7 +1176,7 @@ Support Darwin/aarch64, from https://git
  
  /* Implement PRINT_PATCHABLE_FUNCTION_ENTRY.  */
  
-@@ -24562,12 +25193,17 @@ aarch64_output_patchable_area (unsigned 
+@@ -24562,12 +25200,17 @@ aarch64_output_patchable_area (unsigned 
  /* Implement ASM_OUTPUT_DEF_FROM_DECLS.  Output .variant_pcs for aliases.  */
  
  void
@@ -1179,7 +1195,7 @@ Support Darwin/aarch64, from https://git
  }
  
  /* Implement ASM_OUTPUT_EXTERNAL.  Output .variant_pcs for undefined
-@@ -24613,6 +25249,9 @@ aarch64_start_file (void)
+@@ -24613,6 +25256,9 @@ aarch64_start_file (void)
                aarch64_last_printed_arch_string.c_str ());
  
     default_file_start ();
@@ -1189,7 +1205,7 @@ Support Darwin/aarch64, from https://git
  }
  
  /* Emit load exclusive.  */
-@@ -25192,6 +25831,16 @@ aarch64_output_simd_mov_immediate (rtx c
+@@ -25192,6 +25838,16 @@ aarch64_output_simd_mov_immediate (rtx c
      }
  
    gcc_assert (CONST_INT_P (info.u.mov.value));
@@ -1206,7 +1222,7 @@ Support Darwin/aarch64, from https://git
  
    if (which == AARCH64_CHECK_MOV)
      {
-@@ -25200,16 +25849,16 @@ aarch64_output_simd_mov_immediate (rtx c
+@@ -25200,16 +25856,16 @@ aarch64_output_simd_mov_immediate (rtx c
                  ? "msl" : "lsl");
        if (lane_count == 1)
        snprintf (templ, sizeof (templ), "%s\t%%d0, " HOST_WIDE_INT_PRINT_HEX,
@@ -1226,7 +1242,7 @@ Support Darwin/aarch64, from https://git
      }
    else
      {
-@@ -25218,12 +25867,12 @@ aarch64_output_simd_mov_immediate (rtx c
+@@ -25218,12 +25874,12 @@ aarch64_output_simd_mov_immediate (rtx c
        if (info.u.mov.shift)
        snprintf (templ, sizeof (templ), "%s\t%%0.%d%c, #"
                  HOST_WIDE_INT_PRINT_DEC ", %s #%d", mnemonic, lane_count,
@@ -1241,7 +1257,7 @@ Support Darwin/aarch64, from https://git
      }
    return templ;
  }
-@@ -28459,7 +29108,8 @@ aarch64_libgcc_floating_mode_supported_p
+@@ -28459,7 +29115,8 @@ aarch64_libgcc_floating_mode_supported_p
  }
  
  /* Implement TARGET_SCALAR_MODE_SUPPORTED_P - return TRUE
@@ -1251,7 +1267,7 @@ Support Darwin/aarch64, from https://git
  
  static bool
  aarch64_scalar_mode_supported_p (scalar_mode mode)
-@@ -28467,7 +29117,7 @@ aarch64_scalar_mode_supported_p (scalar_
+@@ -28467,7 +29124,7 @@ aarch64_scalar_mode_supported_p (scalar_
    if (DECIMAL_FLOAT_MODE_P (mode))
      return default_decimal_float_supported_p ();
  
@@ -1260,7 +1276,7 @@ Support Darwin/aarch64, from https://git
          ? true
          : default_scalar_mode_supported_p (mode));
  }
-@@ -29284,19 +29934,37 @@ aarch64_sls_emit_shared_blr_thunks (FILE
+@@ -29284,19 +29941,37 @@ aarch64_sls_emit_shared_blr_thunks (FILE
        continue;
  
        const char *name = indirect_symbol_names[regnum];
@@ -1301,7 +1317,7 @@ Support Darwin/aarch64, from https://git
      }
  }
  
-@@ -30384,6 +31052,60 @@ aarch64_retrieve_sysreg (const char *reg
+@@ -30384,6 +31059,60 @@ aarch64_retrieve_sysreg (const char *reg
    return sysreg->encoding;
  }
  
@@ -1362,7 +1378,7 @@ Support Darwin/aarch64, from https://git
  /* Target-specific selftests.  */
  
  #if CHECKING_P
-@@ -30600,6 +31322,15 @@ aarch64_run_selftests (void)
+@@ -30600,6 +31329,15 @@ aarch64_run_selftests (void)
  #undef TARGET_ASM_ALIGNED_SI_OP
  #define TARGET_ASM_ALIGNED_SI_OP "\t.word\t"
  
@@ -1378,7 +1394,7 @@ Support Darwin/aarch64, from https://git
  #undef TARGET_ASM_CAN_OUTPUT_MI_THUNK
  #define TARGET_ASM_CAN_OUTPUT_MI_THUNK \
    hook_bool_const_tree_hwi_hwi_const_tree_true
-@@ -30702,6 +31433,12 @@ aarch64_run_selftests (void)
+@@ -30702,6 +31440,12 @@ aarch64_run_selftests (void)
  #undef TARGET_FUNCTION_ARG_BOUNDARY
  #define TARGET_FUNCTION_ARG_BOUNDARY aarch64_function_arg_boundary
  
@@ -1391,7 +1407,7 @@ Support Darwin/aarch64, from https://git
  #undef TARGET_FUNCTION_ARG_PADDING
  #define TARGET_FUNCTION_ARG_PADDING aarch64_function_arg_padding
  
-@@ -31042,7 +31779,7 @@ aarch64_libgcc_floating_mode_supported_p
+@@ -31042,7 +31786,7 @@ aarch64_libgcc_floating_mode_supported_p
  
  /* The architecture reserves bits 0 and 1 so use bit 2 for descriptors.  */
  #undef TARGET_CUSTOM_FUNCTION_DESCRIPTORS



Home | Main Index | Thread Index | Old Index