diff --git a/.checkpackageignore b/.checkpackageignore index 7e15db0d29..9551ed23ae 100644 --- a/.checkpackageignore +++ b/.checkpackageignore @@ -202,7 +202,6 @@ package/bind/S81named Indent Shellcheck Variables package/binutils/2.39/0001-sh-conf.patch Upstream package/binutils/2.39/0002-poison-system-directories.patch Upstream package/binutils/2.39/0003-bfd-elf32-or1k-fix-building-with-gcc-version-5.patch Upstream -package/binutils/arc-2020.09-release/0001-poison-system-directories.patch Upstream package/bird/0001-configure.ac-fix-build-with-autoconf-2.70.patch Upstream package/bitcoin/0001-src-randomenv.cpp-fix-build-on-uclibc.patch Upstream package/bmx7/0001-Fix-schedule.c-378-36-error-SIOCGSTAMP-undeclared.patch Upstream @@ -451,9 +450,6 @@ package/gcc/8.4.0/0001-xtensa-fix-PR-target-91880.patch Upstream package/gcc/8.4.0/0002-Revert-re-PR-target-92095-internal-error-with-O1-mcp.patch Upstream package/gcc/8.4.0/0003-libsanitizer-Remove-cyclades-from-libsanitizer.patch Upstream package/gcc/8.4.0/0004-disable-split-stack-for-non-thread-builds.patch Upstream -package/gcc/arc-2020.09-release/0001-arc-Refurbish-adc-sbc-patterns.patch Upstream -package/gcc/arc-2020.09-release/0002-libsanitizer-Remove-cyclades-from-libsanitizer.patch Sob Upstream -package/gcc/arc-2020.09-release/0100-uclibc-conf.patch Upstream package/gcr/0001-meson-Fix-unknown-kw-argument-in-gnome.generate_gir.patch Upstream package/gdb/12.1/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch Upstream package/gdb/12.1/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch Upstream diff --git a/package/binutils/Config.in.host b/package/binutils/Config.in.host index bc7dc4443c..2f1ddf4bdc 100644 --- a/package/binutils/Config.in.host +++ b/package/binutils/Config.in.host @@ -26,15 +26,14 @@ config BR2_BINUTILS_VERSION_2_41_X bool "binutils 2.41" config BR2_BINUTILS_VERSION_ARC - bool "binutils arc (2.34.50)" + bool "binutils arc (2.41)" depends on BR2_arc - select BR2_PACKAGE_BINUTILS_HAS_NO_LIBSFRAME endchoice config BR2_BINUTILS_VERSION string - default "arc-2020.09-release" if BR2_BINUTILS_VERSION_ARC + default "arc-2023.09-release" if BR2_BINUTILS_VERSION_ARC default "2.39" if BR2_BINUTILS_VERSION_2_39_X default "2.40" if BR2_BINUTILS_VERSION_2_40_X default "2.41" if BR2_BINUTILS_VERSION_2_41_X diff --git a/package/binutils/arc-2020.09-release/0001-poison-system-directories.patch b/package/binutils/arc-2020.09-release/0001-poison-system-directories.patch deleted file mode 100644 index 7a76ef2963..0000000000 --- a/package/binutils/arc-2020.09-release/0001-poison-system-directories.patch +++ /dev/null @@ -1,310 +0,0 @@ -From 5f62ad7ce534e3384d6ed8892614979da297bd70 Mon Sep 17 00:00:00 2001 -From: Evgeniy Didin -Date: Mon, 14 Oct 2019 16:45:15 +0300 -Subject: [PATCH] [PATCH] poison-system-directories - -Patch adapted to arc-binutils-gdb-2019.09 -Signed-off-by: Evgeniy Didin - -Patch adapted to binutils 2.23.2 and extended to use -BR_COMPILER_PARANOID_UNSAFE_PATH by Thomas Petazzoni. - -[Romain: rebase on top of 2.26] -Signed-off-by: Romain Naour -[Gustavo: adapt to binutils 2.25] -Signed-off-by: Thomas Petazzoni -Signed-off-by: Gustavo Zacarias - -Upstream-Status: Inappropriate [distribution: codesourcery] - -Patch originally created by Mark Hatle, forward-ported to -binutils 2.21 by Scott Garman. - -purpose: warn for uses of system directories when cross linking - -Code Merged from Sourcery G++ binutils 2.19 - 4.4-277 - -2008-07-02 Joseph Myers - - ld/ - * ld.h (args_type): Add error_poison_system_directories. - * ld.texinfo (--error-poison-system-directories): Document. - * ldfile.c (ldfile_add_library_path): Check - command_line.error_poison_system_directories. - * ldmain.c (main): Initialize - command_line.error_poison_system_directories. - * lexsup.c (enum option_values): Add - OPTION_ERROR_POISON_SYSTEM_DIRECTORIES. - (ld_options): Add --error-poison-system-directories. - (parse_args): Handle new option. - -2007-06-13 Joseph Myers - - ld/ - * config.in: Regenerate. - * ld.h (args_type): Add poison_system_directories. - * ld.texinfo (--no-poison-system-directories): Document. - * ldfile.c (ldfile_add_library_path): Check - command_line.poison_system_directories. - * ldmain.c (main): Initialize - command_line.poison_system_directories. - * lexsup.c (enum option_values): Add - OPTION_NO_POISON_SYSTEM_DIRECTORIES. - (ld_options): Add --no-poison-system-directories. - (parse_args): Handle new option. - -2007-04-20 Joseph Myers - - Merge from Sourcery G++ binutils 2.17: - - 2007-03-20 Joseph Myers - Based on patch by Mark Hatle . - ld/ - * configure.ac (--enable-poison-system-directories): New option. - * configure, config.in: Regenerate. - * ldfile.c (ldfile_add_library_path): If - ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of /lib, - /usr/lib, /usr/local/lib or /usr/X11R6/lib. - -Signed-off-by: Mark Hatle -Signed-off-by: Scott Garman ---- - ld/config.in | 3 +++ - ld/configure | 14 ++++++++++++++ - ld/configure.ac | 10 ++++++++++ - ld/ld.h | 8 ++++++++ - ld/ld.texi | 12 ++++++++++++ - ld/ldfile.c | 17 +++++++++++++++++ - ld/ldlex.h | 2 ++ - ld/ldmain.c | 2 ++ - ld/lexsup.c | 21 +++++++++++++++++++++ - 9 files changed, 89 insertions(+) - -diff --git a/ld/config.in b/ld/config.in -index d93c9b08300..5da2742beac 100644 ---- a/ld/config.in -+++ b/ld/config.in -@@ -31,6 +31,9 @@ - language is requested. */ - #undef ENABLE_NLS - -+/* Define to warn for use of native system library directories */ -+#undef ENABLE_POISON_SYSTEM_DIRECTORIES -+ - /* Additional extension a shared object might have. */ - #undef EXTRA_SHLIB_EXTENSION - -diff --git a/ld/configure b/ld/configure -index 2d6ca5c0445..563f9921f7f 100755 ---- a/ld/configure -+++ b/ld/configure -@@ -823,6 +823,7 @@ with_lib_path - enable_targets - enable_64_bit_bfd - with_sysroot -+enable_poison_system_directories - enable_gold - enable_got - enable_compressed_debug_sections -@@ -1487,6 +1488,8 @@ Optional Features: - --disable-largefile omit support for large files - --enable-targets alternative target configurations - --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes) -+ --enable-poison-system-directories -+ warn for use of native system library directories - --enable-gold[=ARG] build gold [ARG={default,yes,no}] - --enable-got= GOT handling scheme (target, single, negative, - multigot) -@@ -15804,7 +15807,18 @@ else - fi - - -+# Check whether --enable-poison-system-directories was given. -+if test "${enable_poison_system_directories+set}" = set; then : -+ enableval=$enable_poison_system_directories; -+else -+ enable_poison_system_directories=no -+fi -+ -+if test "x${enable_poison_system_directories}" = "xyes"; then - -+$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h -+ -+fi - - # Check whether --enable-got was given. - if test "${enable_got+set}" = set; then : -diff --git a/ld/configure.ac b/ld/configure.ac -index 41a51bbb7e9..dbaa98a9e17 100644 ---- a/ld/configure.ac -+++ b/ld/configure.ac -@@ -94,6 +94,16 @@ AC_SUBST(use_sysroot) - AC_SUBST(TARGET_SYSTEM_ROOT) - AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE) - -+AC_ARG_ENABLE([poison-system-directories], -+ AS_HELP_STRING([--enable-poison-system-directories], -+ [warn for use of native system library directories]),, -+ [enable_poison_system_directories=no]) -+if test "x${enable_poison_system_directories}" = "xyes"; then -+ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES], -+ [1], -+ [Define to warn for use of native system library directories]) -+fi -+ - dnl Use --enable-gold to decide if this linker should be the default. - dnl "install_as_default" is set to false if gold is the default linker. - dnl "installed_linker" is the installed BFD linker name. -diff --git a/ld/ld.h b/ld/ld.h -index 55078a9637b..511e9bc34b7 100644 ---- a/ld/ld.h -+++ b/ld/ld.h -@@ -180,6 +180,14 @@ typedef struct - in the linker script. */ - bfd_boolean force_group_allocation; - -+ /* If TRUE (the default) warn for uses of system directories when -+ cross linking. */ -+ bfd_boolean poison_system_directories; -+ -+ /* If TRUE (default FALSE) give an error for uses of system -+ directories when cross linking instead of a warning. */ -+ bfd_boolean error_poison_system_directories; -+ - /* Big or little endian as set on command line. */ - enum endian_enum endian; - -diff --git a/ld/ld.texi b/ld/ld.texi -index fcbc335c95e..6ba7ebdb32a 100644 ---- a/ld/ld.texi -+++ b/ld/ld.texi -@@ -2557,6 +2557,18 @@ string identifying the original linked file does not change. - - Passing @code{none} for @var{style} disables the setting from any - @code{--build-id} options earlier on the command line. -+ -+@kindex --no-poison-system-directories -+@item --no-poison-system-directories -+Do not warn for @option{-L} options using system directories such as -+@file{/usr/lib} when cross linking. This option is intended for use -+in chroot environments when such directories contain the correct -+libraries for the target system rather than the host. -+ -+@kindex --error-poison-system-directories -+@item --error-poison-system-directories -+Give an error instead of a warning for @option{-L} options using -+system directories when cross linking. - @end table - - @c man end -diff --git a/ld/ldfile.c b/ld/ldfile.c -index 7f60319390e..0bcc06db964 100644 ---- a/ld/ldfile.c -+++ b/ld/ldfile.c -@@ -116,6 +116,23 @@ ldfile_add_library_path (const char *name, bfd_boolean cmdline) - new_dirs->name = concat (ld_sysroot, name + strlen ("$SYSROOT"), (const char *) NULL); - else - new_dirs->name = xstrdup (name); -+ -+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES -+ if (command_line.poison_system_directories -+ && ((!strncmp (name, "/lib", 4)) -+ || (!strncmp (name, "/usr/lib", 8)) -+ || (!strncmp (name, "/usr/local/lib", 14)) -+ || (!strncmp (name, "/usr/X11R6/lib", 14)))) -+ { -+ if (command_line.error_poison_system_directories) -+ einfo (_("%X%P: error: library search path \"%s\" is unsafe for " -+ "cross-compilation\n"), name); -+ else -+ einfo (_("%P: warning: library search path \"%s\" is unsafe for " -+ "cross-compilation\n"), name); -+ } -+#endif -+ - } - - /* Try to open a BFD for a lang_input_statement. */ -diff --git a/ld/ldlex.h b/ld/ldlex.h -index 32a7a6409e8..c02b64bf92f 100644 ---- a/ld/ldlex.h -+++ b/ld/ldlex.h -@@ -152,6 +152,8 @@ enum option_values - OPTION_NO_PRINT_MAP_DISCARDED, - OPTION_NON_CONTIGUOUS_REGIONS, - OPTION_NON_CONTIGUOUS_REGIONS_WARNINGS, -+ OPTION_NO_POISON_SYSTEM_DIRECTORIES, -+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES, - }; - - - /* The initial parser states. */ -diff --git a/ld/ldmain.c b/ld/ldmain.c -index 34c19223137..66d2c3f4bcf 100644 ---- a/ld/ldmain.c -+++ b/ld/ldmain.c -@@ -270,6 +270,8 @@ main (int argc, char **argv) - command_line.warn_mismatch = TRUE; - command_line.warn_search_mismatch = TRUE; - command_line.check_section_addresses = -1; -+ command_line.poison_system_directories = TRUE; -+ command_line.error_poison_system_directories = FALSE; - - /* We initialize DEMANGLING based on the environment variable - COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the -diff --git a/ld/lexsup.c b/ld/lexsup.c -index 1c15ac29c0c..8b714e10a40 100644 ---- a/ld/lexsup.c -+++ b/ld/lexsup.c -@@ -549,6 +549,14 @@ static const struct ld_option ld_options[] = - { {"no-print-map-discarded", no_argument, NULL, OPTION_NO_PRINT_MAP_DISCARDED}, - '\0', NULL, N_("Do not show discarded sections in map file output"), - TWO_DASHES }, -+ { {"no-poison-system-directories", no_argument, NULL, -+ OPTION_NO_POISON_SYSTEM_DIRECTORIES}, -+ '\0', NULL, N_("Do not warn for -L options using system directories"), -+ TWO_DASHES }, -+ { {"error-poison-system-directories", no_argument, NULL, -+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES}, -+ '\0', NULL, N_("Give an error for -L options using system directories"), -+ TWO_DASHES }, - }; - - #define OPTION_COUNT ARRAY_SIZE (ld_options) -@@ -561,6 +569,7 @@ parse_args (unsigned argc, char **argv) - int ingroup = 0; - char *default_dirlist = NULL; - char *shortopts; -+ char *BR_paranoid_env; - struct option *longopts; - struct option *really_longopts; - int last_optind; -@@ -1549,6 +1558,14 @@ parse_args (unsigned argc, char **argv) - } - break; - -+ case OPTION_NO_POISON_SYSTEM_DIRECTORIES: -+ command_line.poison_system_directories = FALSE; -+ break; -+ -+ case OPTION_ERROR_POISON_SYSTEM_DIRECTORIES: -+ command_line.error_poison_system_directories = TRUE; -+ break; -+ - case OPTION_PUSH_STATE: - input_flags.pushed = xmemdup (&input_flags, - sizeof (input_flags), -@@ -1600,6 +1617,10 @@ parse_args (unsigned argc, char **argv) - command_line.soname = NULL; - } - -+ BR_paranoid_env = getenv("BR_COMPILER_PARANOID_UNSAFE_PATH"); -+ if (BR_paranoid_env && strlen(BR_paranoid_env) > 0) -+ command_line.error_poison_system_directories = TRUE; -+ - while (ingroup) - { - einfo (_("%P: missing --end-group; added as last command line option\n")); --- -2.16.2 - diff --git a/package/binutils/binutils.hash b/package/binutils/binutils.hash index 564a4c3bd7..519a0ca887 100644 --- a/package/binutils/binutils.hash +++ b/package/binutils/binutils.hash @@ -4,7 +4,7 @@ sha512 a37e042523bc46494d99d5637c3f3d8f9956d9477b748b3b1f6d7dfbb8d968ed52c932e8 sha512 5df45d0bd6ddabdce4f35878c041e46a92deef01e7dea5facc97fd65cc06b59abc6fba0eb454b68e571c7e14038dc823fe7f2263843e6e627b7444eaf0fe9374 binutils-2.41.tar.xz # Locally calculated (fetched from Github) -sha512 76a8227a19218435319c660e4983ea17985194b7f496f163e97543e7f6fd3e9249241fdc05a16ba512fba96a1d846c1f7b080983404d821d6215f10e7f11e238 binutils-gdb-arc-2020.09-release.tar.gz +sha512 3518b47d5c11d1fb478ee152bde1719363f9391db73f3b9f5491217c17742bef8ebca6a51a40302dfaa9476c5a32a8b8f70a4bf64289422dea5f750ae53ab88d binutils-gdb-arc-2023.09-release.tar.gz # locally computed sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING3 diff --git a/package/binutils/binutils.mk b/package/binutils/binutils.mk index 4bc1b69fa0..6846933646 100644 --- a/package/binutils/binutils.mk +++ b/package/binutils/binutils.mk @@ -9,13 +9,13 @@ BINUTILS_VERSION = $(call qstrip,$(BR2_BINUTILS_VERSION)) ifeq ($(BINUTILS_VERSION),) ifeq ($(BR2_arc),y) -BINUTILS_VERSION = arc-2020.09-release +BINUTILS_VERSION = arc-2023.09-release else BINUTILS_VERSION = 2.40 endif endif # BINUTILS_VERSION -ifeq ($(BINUTILS_VERSION),arc-2020.09-release) +ifeq ($(BINUTILS_VERSION),arc-2023.09-release) BINUTILS_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,binutils-gdb,$(BINUTILS_VERSION)) BINUTILS_SOURCE = binutils-gdb-$(BINUTILS_VERSION).tar.gz BINUTILS_FROM_GIT = y diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host index ebdcdba62e..fabc6173f5 100644 --- a/package/gcc/Config.in.host +++ b/package/gcc/Config.in.host @@ -10,7 +10,7 @@ choice Select the version of gcc you wish to use. config BR2_GCC_VERSION_ARC - bool "gcc arc (10.x)" + bool "gcc arc (13.1)" # Only supported architecture depends on BR2_arc select BR2_TOOLCHAIN_GCC_AT_LEAST_10 @@ -79,7 +79,7 @@ config BR2_GCC_VERSION default "11.4.0" if BR2_GCC_VERSION_11_X default "12.3.0" if BR2_GCC_VERSION_12_X default "13.2.0" if BR2_GCC_VERSION_13_X - default "arc-2020.09-release" if BR2_GCC_VERSION_ARC + default "arc-2023.09-release" if BR2_GCC_VERSION_ARC config BR2_EXTRA_GCC_CONFIG_OPTIONS string "Additional gcc options" diff --git a/package/gcc/arc-2020.09-release/0001-arc-Refurbish-adc-sbc-patterns.patch b/package/gcc/arc-2020.09-release/0001-arc-Refurbish-adc-sbc-patterns.patch deleted file mode 100644 index 3292b26a4e..0000000000 --- a/package/gcc/arc-2020.09-release/0001-arc-Refurbish-adc-sbc-patterns.patch +++ /dev/null @@ -1,243 +0,0 @@ -From b92c22b144d063c4436a6693045ceb57d344c495 Mon Sep 17 00:00:00 2001 -From: Claudiu Zissulescu -Date: Wed, 11 Nov 2020 12:31:10 +0200 -Subject: [PATCH] arc: Refurbish adc/sbc patterns - -The adc/sbc patterns were unecessary spliting, remove that and -associated functions. - -gcc/ChangeLog: - -2020-10-11 Claudiu Zissulescu - - * config/arc/arc-protos.h (arc_scheduling_not_expected): Remove - it. - (arc_sets_cc_p): Likewise. - (arc_need_delay): Likewise. - * config/arc/arc.c (arc_sets_cc_p): Likewise. - (arc_need_delay): Likewise. - (arc_scheduling_not_expected): Likewise. - * config/arc/arc.md: Convert adc/sbc patterns to simple - instruction definitions. - -Signed-off-by: Claudiu Zissulescu - -Downloaded from upstream commit -https://github.com/foss-for-synopsys-dwc-arc-processors/gcc/commit/b92c22b144d063c4436a6693045ceb57d344c495 - -Signed-off-by: Bernd Kuhls ---- - gcc/config/arc/arc-protos.h | 3 -- - gcc/config/arc/arc.c | 53 --------------------- - gcc/config/arc/arc.md | 95 +++++++++++-------------------------- - 3 files changed, 29 insertions(+), 122 deletions(-) - -diff --git a/gcc/config/arc/arc-protos.h b/gcc/config/arc/arc-protos.h -index c72d78e3b9e..de4cf47c818 100644 ---- a/gcc/config/arc/arc-protos.h -+++ b/gcc/config/arc/arc-protos.h -@@ -90,10 +90,7 @@ extern void split_subsi (rtx *); - extern void arc_split_move (rtx *); - extern const char *arc_short_long (rtx_insn *insn, const char *, const char *); - extern rtx arc_regno_use_in (unsigned int, rtx); --extern bool arc_scheduling_not_expected (void); --extern bool arc_sets_cc_p (rtx_insn *insn); - extern int arc_label_align (rtx_insn *label); --extern bool arc_need_delay (rtx_insn *insn); - extern bool arc_text_label (rtx_insn *insn); - - extern bool arc_short_comparison_p (rtx, int); -diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c -index 5a7b0cb6696..c3ee9181f93 100644 ---- a/gcc/config/arc/arc.c -+++ b/gcc/config/arc/arc.c -@@ -10341,59 +10341,6 @@ arc_attr_type (rtx_insn *insn) - return get_attr_type (insn); - } - --/* Return true if insn sets the condition codes. */ -- --bool --arc_sets_cc_p (rtx_insn *insn) --{ -- if (NONJUMP_INSN_P (insn)) -- if (rtx_sequence *seq = dyn_cast (PATTERN (insn))) -- insn = seq->insn (seq->len () - 1); -- return arc_attr_type (insn) == TYPE_COMPARE; --} -- --/* Return true if INSN is an instruction with a delay slot we may want -- to fill. */ -- --bool --arc_need_delay (rtx_insn *insn) --{ -- rtx_insn *next; -- -- if (!flag_delayed_branch) -- return false; -- /* The return at the end of a function needs a delay slot. */ -- if (NONJUMP_INSN_P (insn) && GET_CODE (PATTERN (insn)) == USE -- && (!(next = next_active_insn (insn)) -- || ((!NONJUMP_INSN_P (next) || GET_CODE (PATTERN (next)) != SEQUENCE) -- && arc_attr_type (next) == TYPE_RETURN)) -- && (!TARGET_PAD_RETURN -- || (prev_active_insn (insn) -- && prev_active_insn (prev_active_insn (insn)) -- && prev_active_insn (prev_active_insn (prev_active_insn (insn)))))) -- return true; -- if (NONJUMP_INSN_P (insn) -- ? (GET_CODE (PATTERN (insn)) == USE -- || GET_CODE (PATTERN (insn)) == CLOBBER -- || GET_CODE (PATTERN (insn)) == SEQUENCE) -- : JUMP_P (insn) -- ? (GET_CODE (PATTERN (insn)) == ADDR_VEC -- || GET_CODE (PATTERN (insn)) == ADDR_DIFF_VEC) -- : !CALL_P (insn)) -- return false; -- return num_delay_slots (insn) != 0; --} -- --/* Return true if the scheduling pass(es) has/have already run, -- i.e. where possible, we should try to mitigate high latencies -- by different instruction selection. */ -- --bool --arc_scheduling_not_expected (void) --{ -- return cfun->machine->arc_reorg_started; --} -- - /* Code has a minimum p2 alignment of 1, which we must restore after - an ADDR_DIFF_VEC. */ - -diff --git a/gcc/config/arc/arc.md b/gcc/config/arc/arc.md -index f91adbc0d94..c635b69ddd5 100644 ---- a/gcc/config/arc/arc.md -+++ b/gcc/config/arc/arc.md -@@ -2847,43 +2847,25 @@ archs4x, archs4xd" - (set_attr "type" "compare") - (set_attr "length" "4,4,8")]) - --; w/c/c comes first (rather than w/0/C_0) to prevent the middle-end --; needlessly prioritizing the matching constraint. --; Rcw/0/C_0 comes before w/c/L so that the lower latency conditional --; execution is used where possible. --(define_insn_and_split "adc" -- [(set (match_operand:SI 0 "dest_reg_operand" "=w,Rcw,w,Rcw,w") -- (plus:SI (plus:SI (ltu:SI (reg:CC_C CC_REG) (const_int 0)) -- (match_operand:SI 1 "nonmemory_operand" -- "%c,0,c,0,cCal")) -- (match_operand:SI 2 "nonmemory_operand" "c,C_0,L,I,cCal")))] -+(define_insn "adc" -+ [(set (match_operand:SI 0 "register_operand" "=r, r,r,r, r,r") -+ (plus:SI -+ (plus:SI -+ (ltu:SI (reg:CC_C CC_REG) (const_int 0)) -+ (match_operand:SI 1 "nonmemory_operand" "%r, 0,r,0,Cal,r")) -+ (match_operand:SI 2 "nonmemory_operand" "r,C_0,L,I, r,Cal")))] - "register_operand (operands[1], SImode) - || register_operand (operands[2], SImode)" - "@ -- adc %0,%1,%2 -- add.cs %0,%1,1 -- adc %0,%1,%2 -- adc %0,%1,%2 -- adc %0,%1,%2" -- ; if we have a bad schedule after sched2, split. -- "reload_completed -- && !optimize_size && (!TARGET_ARC600_FAMILY) -- && arc_scheduling_not_expected () -- && arc_sets_cc_p (prev_nonnote_insn (insn)) -- /* If next comes a return or other insn that needs a delay slot, -- expect the adc to get into the delay slot. */ -- && next_nonnote_insn (insn) -- && !arc_need_delay (next_nonnote_insn (insn)) -- /* Restore operands before emitting. */ -- && (extract_insn_cached (insn), 1)" -- [(set (match_dup 0) (match_dup 3)) -- (cond_exec -- (ltu (reg:CC_C CC_REG) (const_int 0)) -- (set (match_dup 0) (plus:SI (match_dup 0) (const_int 1))))] -- "operands[3] = simplify_gen_binary (PLUS, SImode, operands[1], operands[2]);" -+ adc\\t%0,%1,%2 -+ add.cs\\t%0,%1,1 -+ adc\\t%0,%1,%2 -+ adc\\t%0,%1,%2 -+ adc\\t%0,%1,%2 -+ adc\\t%0,%1,%2" - [(set_attr "cond" "use") - (set_attr "type" "cc_arith") -- (set_attr "length" "4,4,4,4,8")]) -+ (set_attr "length" "4,4,4,4,8,8")]) - - ; combiner-splitter cmp / scc -> cmp / adc - (define_split -@@ -3015,7 +2997,7 @@ archs4x, archs4xd" - DONE; - } - emit_insn (gen_sub_f (l0, l1, l2)); -- emit_insn (gen_sbc (h0, h1, h2, gen_rtx_REG (CCmode, CC_REG))); -+ emit_insn (gen_sbc (h0, h1, h2)); - DONE; - ") - -@@ -3030,44 +3012,25 @@ archs4x, archs4xd" - (set_attr "type" "cc_arith") - (set_attr "length" "4")]) - --; w/c/c comes first (rather than Rcw/0/C_0) to prevent the middle-end --; needlessly prioritizing the matching constraint. --; Rcw/0/C_0 comes before w/c/L so that the lower latency conditional execution --; is used where possible. --(define_insn_and_split "sbc" -- [(set (match_operand:SI 0 "dest_reg_operand" "=w,Rcw,w,Rcw,w") -- (minus:SI (minus:SI (match_operand:SI 1 "nonmemory_operand" -- "c,0,c,0,cCal") -- (ltu:SI (match_operand:CC_C 3 "cc_use_register") -- (const_int 0))) -- (match_operand:SI 2 "nonmemory_operand" "c,C_0,L,I,cCal")))] -+(define_insn "sbc" -+ [(set (match_operand:SI 0 "dest_reg_operand" "=r,r,r,r,r,r") -+ (minus:SI -+ (minus:SI -+ (match_operand:SI 1 "nonmemory_operand" "r, 0,r,0, r,Cal") -+ (ltu:SI (reg:CC_C CC_REG) (const_int 0))) -+ (match_operand:SI 2 "nonmemory_operand" "r,C_0,L,I,Cal,r")))] - "register_operand (operands[1], SImode) - || register_operand (operands[2], SImode)" - "@ -- sbc %0,%1,%2 -- sub.cs %0,%1,1 -- sbc %0,%1,%2 -- sbc %0,%1,%2 -- sbc %0,%1,%2" -- ; if we have a bad schedule after sched2, split. -- "reload_completed -- && !optimize_size && (!TARGET_ARC600_FAMILY) -- && arc_scheduling_not_expected () -- && arc_sets_cc_p (prev_nonnote_insn (insn)) -- /* If next comes a return or other insn that needs a delay slot, -- expect the adc to get into the delay slot. */ -- && next_nonnote_insn (insn) -- && !arc_need_delay (next_nonnote_insn (insn)) -- /* Restore operands before emitting. */ -- && (extract_insn_cached (insn), 1)" -- [(set (match_dup 0) (match_dup 4)) -- (cond_exec -- (ltu (reg:CC_C CC_REG) (const_int 0)) -- (set (match_dup 0) (plus:SI (match_dup 0) (const_int -1))))] -- "operands[4] = simplify_gen_binary (MINUS, SImode, operands[1], operands[2]);" -+ sbc\\t%0,%1,%2 -+ sub.cs\\t%0,%1,1 -+ sbc\\t%0,%1,%2 -+ sbc\\t%0,%1,%2 -+ sbc\\t%0,%1,%2 -+ sbc\\t%0,%1,%2" - [(set_attr "cond" "use") - (set_attr "type" "cc_arith") -- (set_attr "length" "4,4,4,4,8")]) -+ (set_attr "length" "4,4,4,4,8,8")]) - - (define_insn "sub_f" - [(set (reg:CC CC_REG) diff --git a/package/gcc/arc-2020.09-release/0002-libsanitizer-Remove-cyclades-from-libsanitizer.patch b/package/gcc/arc-2020.09-release/0002-libsanitizer-Remove-cyclades-from-libsanitizer.patch deleted file mode 100644 index 051d4db341..0000000000 --- a/package/gcc/arc-2020.09-release/0002-libsanitizer-Remove-cyclades-from-libsanitizer.patch +++ /dev/null @@ -1,121 +0,0 @@ -From 1557c3d919623a95c2aa090d3018c31401f63f88 Mon Sep 17 00:00:00 2001 -From: Tamar Christina -Date: Fri, 21 May 2021 12:16:56 +0100 -Subject: [PATCH] libsanitizer: Remove cyclades from libsanitizer - -The Linux kernel has removed the interface to cyclades from -the latest kernel headers[1] due to them being orphaned for the -past 13 years. - -libsanitizer uses this header when compiling against glibc, but -glibcs itself doesn't seem to have any references to cyclades. - -Further more it seems that the driver is broken in the kernel and -the firmware doesn't seem to be available anymore. - -As such since this is breaking the build of libsanitizer (and so the -GCC bootstrap[2]) I propose to remove this. - -[1] https://lkml.org/lkml/2021/3/2/153 -[2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100379 - -libsanitizer/ChangeLog: - - PR sanitizer/100379 - * sanitizer_common/sanitizer_common_interceptors_ioctl.inc: Cherry-pick - llvm-project revision f7c5351552387bd43f6ca3631016d7f0dfe0f135. - * sanitizer_common/sanitizer_platform_limits_posix.cc: Likewise. - * sanitizer_common/sanitizer_platform_limits_posix.h: Likewise. ---- - .../sanitizer_common_interceptors_ioctl.inc | 9 --------- - .../sanitizer_platform_limits_posix.cpp | 11 ----------- - .../sanitizer_platform_limits_posix.h | 10 ---------- - 3 files changed, 30 deletions(-) - -diff --git a/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc b/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc -index 490a04b2181..42e43a04441 100644 ---- a/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc -+++ b/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc -@@ -366,15 +366,6 @@ static void ioctl_table_fill() { - - #if SANITIZER_LINUX && !SANITIZER_ANDROID - // _(SIOCDEVPLIP, WRITE, struct_ifreq_sz); // the same as EQL_ENSLAVE -- _(CYGETDEFTHRESH, WRITE, sizeof(int)); -- _(CYGETDEFTIMEOUT, WRITE, sizeof(int)); -- _(CYGETMON, WRITE, struct_cyclades_monitor_sz); -- _(CYGETTHRESH, WRITE, sizeof(int)); -- _(CYGETTIMEOUT, WRITE, sizeof(int)); -- _(CYSETDEFTHRESH, NONE, 0); -- _(CYSETDEFTIMEOUT, NONE, 0); -- _(CYSETTHRESH, NONE, 0); -- _(CYSETTIMEOUT, NONE, 0); - _(EQL_EMANCIPATE, WRITE, struct_ifreq_sz); - _(EQL_ENSLAVE, WRITE, struct_ifreq_sz); - _(EQL_GETMASTRCFG, WRITE, struct_ifreq_sz); -diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp -index aa845df4dde..badf6a401cc 100644 ---- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp -+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp -@@ -130,7 +130,6 @@ typedef struct user_fpregs elf_fpregset_t; - # include - #endif - #include --#include - #include - #include - #include -@@ -443,7 +442,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr); - - #if SANITIZER_LINUX && !SANITIZER_ANDROID - unsigned struct_ax25_parms_struct_sz = sizeof(struct ax25_parms_struct); -- unsigned struct_cyclades_monitor_sz = sizeof(struct cyclades_monitor); - #if EV_VERSION > (0x010000) - unsigned struct_input_keymap_entry_sz = sizeof(struct input_keymap_entry); - #else -@@ -809,15 +807,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr); - #endif // SANITIZER_LINUX - - #if SANITIZER_LINUX && !SANITIZER_ANDROID -- unsigned IOCTL_CYGETDEFTHRESH = CYGETDEFTHRESH; -- unsigned IOCTL_CYGETDEFTIMEOUT = CYGETDEFTIMEOUT; -- unsigned IOCTL_CYGETMON = CYGETMON; -- unsigned IOCTL_CYGETTHRESH = CYGETTHRESH; -- unsigned IOCTL_CYGETTIMEOUT = CYGETTIMEOUT; -- unsigned IOCTL_CYSETDEFTHRESH = CYSETDEFTHRESH; -- unsigned IOCTL_CYSETDEFTIMEOUT = CYSETDEFTIMEOUT; -- unsigned IOCTL_CYSETTHRESH = CYSETTHRESH; -- unsigned IOCTL_CYSETTIMEOUT = CYSETTIMEOUT; - unsigned IOCTL_EQL_EMANCIPATE = EQL_EMANCIPATE; - unsigned IOCTL_EQL_ENSLAVE = EQL_ENSLAVE; - unsigned IOCTL_EQL_GETMASTRCFG = EQL_GETMASTRCFG; -diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h -index d82fd5e4005..dc6423bc297 100644 ---- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h -+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h -@@ -974,7 +974,6 @@ extern unsigned struct_vt_mode_sz; - - #if SANITIZER_LINUX && !SANITIZER_ANDROID - extern unsigned struct_ax25_parms_struct_sz; --extern unsigned struct_cyclades_monitor_sz; - extern unsigned struct_input_keymap_entry_sz; - extern unsigned struct_ipx_config_data_sz; - extern unsigned struct_kbdiacrs_sz; -@@ -1319,15 +1318,6 @@ extern unsigned IOCTL_VT_WAITACTIVE; - #endif // SANITIZER_LINUX - - #if SANITIZER_LINUX && !SANITIZER_ANDROID --extern unsigned IOCTL_CYGETDEFTHRESH; --extern unsigned IOCTL_CYGETDEFTIMEOUT; --extern unsigned IOCTL_CYGETMON; --extern unsigned IOCTL_CYGETTHRESH; --extern unsigned IOCTL_CYGETTIMEOUT; --extern unsigned IOCTL_CYSETDEFTHRESH; --extern unsigned IOCTL_CYSETDEFTIMEOUT; --extern unsigned IOCTL_CYSETTHRESH; --extern unsigned IOCTL_CYSETTIMEOUT; - extern unsigned IOCTL_EQL_EMANCIPATE; - extern unsigned IOCTL_EQL_ENSLAVE; - extern unsigned IOCTL_EQL_GETMASTRCFG; --- -2.31.1 - diff --git a/package/gcc/arc-2020.09-release/0003-fixinc-don-t-fix-machine-names-in-__has_include-.-PR.patch b/package/gcc/arc-2020.09-release/0003-fixinc-don-t-fix-machine-names-in-__has_include-.-PR.patch deleted file mode 100644 index 8b6be49e68..0000000000 --- a/package/gcc/arc-2020.09-release/0003-fixinc-don-t-fix-machine-names-in-__has_include-.-PR.patch +++ /dev/null @@ -1,124 +0,0 @@ -From 65754c50a57e5a891cee75bb744eb93fdb3c443e Mon Sep 17 00:00:00 2001 -From: Xi Ruoyao -Date: Mon, 28 Jun 2021 13:54:58 +0800 -Subject: [PATCH] fixinc: don't "fix" machine names in __has_include(...) - [PR91085] - -fixincludes/ - - PR other/91085 - * fixfixes.c (check_has_inc): New static function. - (machine_name_fix): Don't replace header names in - __has_include(...). - * inclhack.def (machine_name): Adjust test. - * tests/base/testing.h: Update. - -Upstream: 6bf383c37e6131a8e247e8a0997d55d65c830b6d -Signed-off-by: Thomas Petazzoni ---- - fixincludes/fixfixes.c | 45 ++++++++++++++++++++++++++++++-- - fixincludes/inclhack.def | 3 ++- - fixincludes/tests/base/testing.h | 2 +- - 3 files changed, 46 insertions(+), 4 deletions(-) - -diff --git a/fixincludes/fixfixes.c b/fixincludes/fixfixes.c -index 034e15d9985..3ff87812036 100644 ---- a/fixincludes/fixfixes.c -+++ b/fixincludes/fixfixes.c -@@ -477,6 +477,39 @@ FIX_PROC_HEAD( char_macro_def_fix ) - fputs (text, stdout); - } - -+/* Check if the pattern at pos is actually in a "__has_include(...)" -+ directive. Return the pointer to the ')' of this -+ "__has_include(...)" if it is, NULL otherwise. */ -+static const char * -+check_has_inc (const char *begin, const char *pos, const char *end) -+{ -+ static const char has_inc[] = "__has_include"; -+ const size_t has_inc_len = sizeof (has_inc) - 1; -+ const char *p; -+ -+ for (p = memmem (begin, pos - begin, has_inc, has_inc_len); -+ p != NULL; -+ p = memmem (p, pos - p, has_inc, has_inc_len)) -+ { -+ p += has_inc_len; -+ while (p < end && ISSPACE (*p)) -+ p++; -+ -+ /* "__has_include" may appear as "defined(__has_include)", -+ search for the next appearance then. */ -+ if (*p != '(') -+ continue; -+ -+ /* To avoid too much complexity, just hope there is never a -+ ')' in a header name. */ -+ p = memchr (p, ')', end - p); -+ if (p == NULL || p > pos) -+ return p; -+ } -+ -+ return NULL; -+} -+ - /* Fix for machine name #ifdefs that are not in the namespace reserved - by the C standard. They won't be defined if compiling with -ansi, - and the headers will break. We go to some trouble to only change -@@ -524,7 +557,7 @@ FIX_PROC_HEAD( machine_name_fix ) - /* If the 'name_pat' matches in between base and limit, we have - a bogon. It is not worth the hassle of excluding comments - because comments on #if/#ifdef lines are rare, and strings on -- such lines are illegal. -+ such lines are only legal in a "__has_include" directive. - - REG_NOTBOL means 'base' is not at the beginning of a line, which - shouldn't matter since the name_re has no ^ anchor, but let's -@@ -544,8 +577,16 @@ FIX_PROC_HEAD( machine_name_fix ) - break; - - p = base + match[0].rm_so; -- base += match[0].rm_eo; - -+ /* Check if the match is in __has_include(...) (PR 91085). */ -+ q = check_has_inc (base, p, limit); -+ if (q) -+ { -+ base = q + 1; -+ goto again; -+ } -+ -+ base += match[0].rm_eo; - /* One more test: if on the same line we have the same string - with the appropriate underscores, then leave it alone. - We want exactly two leading and trailing underscores. */ -diff --git a/fixincludes/inclhack.def b/fixincludes/inclhack.def -index f58e7771e1c..71bd717c233 100644 ---- a/fixincludes/inclhack.def -+++ b/fixincludes/inclhack.def -@@ -3114,7 +3114,8 @@ fix = { - c_fix = machine_name; - - test_text = "/* MACH_DIFF: */\n" -- "#if defined( i386 ) || defined( sparc ) || defined( vax )" -+ "#if defined( i386 ) || defined( sparc ) || defined( vax ) || " -+ "defined( linux ) || __has_include ( )" - "\n/* no uniform test, so be careful :-) */"; - }; - -diff --git a/fixincludes/tests/base/testing.h b/fixincludes/tests/base/testing.h -index cf95321fb86..8b3accaf04e 100644 ---- a/fixincludes/tests/base/testing.h -+++ b/fixincludes/tests/base/testing.h -@@ -64,7 +64,7 @@ BSD43__IOWR('T', 1) /* Some are multi-line */ - - #if defined( MACHINE_NAME_CHECK ) - /* MACH_DIFF: */ --#if defined( i386 ) || defined( sparc ) || defined( vax ) -+#if defined( i386 ) || defined( sparc ) || defined( vax ) || defined( linux ) || __has_include ( ) - /* no uniform test, so be careful :-) */ - #endif /* MACHINE_NAME_CHECK */ - --- -2.37.3 - diff --git a/package/gcc/arc-2020.09-release/0100-uclibc-conf.patch b/package/gcc/arc-2020.09-release/0100-uclibc-conf.patch deleted file mode 100644 index d354baf81f..0000000000 --- a/package/gcc/arc-2020.09-release/0100-uclibc-conf.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 326b880b20e5f8187dbda736b4c4c662cbfb00ca Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Tue, 2 May 2017 22:36:15 +0200 -Subject: [PATCH] uclibc-conf - -[Romain: convert to git patch] -Signed-off-by: Romain Naour ---- - contrib/regression/objs-gcc.sh | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/contrib/regression/objs-gcc.sh b/contrib/regression/objs-gcc.sh -index 60b0497..6dc7ead 100755 ---- a/contrib/regression/objs-gcc.sh -+++ b/contrib/regression/objs-gcc.sh -@@ -106,6 +106,10 @@ if [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-gnu ] - then - make all-gdb all-dejagnu all-ld || exit 1 - make install-gdb install-dejagnu install-ld || exit 1 -+elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ] -+ then -+ make all-gdb all-dejagnu all-ld || exit 1 -+ make install-gdb install-dejagnu install-ld || exit 1 - elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then - make bootstrap || exit 1 - make install || exit 1 --- -2.9.3 - diff --git a/package/gcc/gcc.hash b/package/gcc/gcc.hash index 478b0b1620..5061a603bc 100644 --- a/package/gcc/gcc.hash +++ b/package/gcc/gcc.hash @@ -10,7 +10,7 @@ sha512 8fb799dfa2e5de5284edf8f821e3d40c2781e4c570f5adfdb1ca0671fcae3fb7f794ea78 sha512 d99e4826a70db04504467e349e9fbaedaa5870766cda7c5cab50cdebedc4be755ebca5b789e1232a34a20be1a0b60097de9280efe47bdb71c73251e30b0862a2 gcc-13.2.0.tar.xz # Locally calculated (fetched from Github) -sha512 b0853e2b1c5998044392023fa653e399e74118c46e616504ac59e1a2cf27620f94434767ce06b6cf4ca3dfb57f81d6eda92752befaf095ea5e564a9181b4659c gcc-arc-2020.09-release.tar.gz +sha512 4dca20f517a42bb027fec605965b09fb917a535eebf3fe3e811d93476b02b1962df5ad4665f117bd44c2ec8e8015d51a44c00591761fe5f259c201ac5c7d920f gcc-arc-2023.09-release.tar.gz # Locally calculated (fetched from Github) sha512 2de7cf47333a4092b02d3bb98f4206f14966f1d139a724d09cf3b22f8a43ae0c704f33e6477d6367a03c29b265480dc900169e9d417006c5d46f0ae446b8c6f1 gcc-or1k-musl-5.4.0-20170218.tar.gz diff --git a/package/gdb/Config.in b/package/gdb/Config.in index 7251dce668..574ad5462f 100644 --- a/package/gdb/Config.in +++ b/package/gdb/Config.in @@ -58,8 +58,8 @@ config BR2_PACKAGE_GDB_DEBUGGER bool "full debugger" depends on BR2_USE_WCHAR depends on !BR2_sh - select BR2_PACKAGE_GMP if !BR2_arc - select BR2_PACKAGE_MPFR if BR2_GDB_VERSION_14 + select BR2_PACKAGE_GMP + select BR2_PACKAGE_MPFR if (BR2_GDB_VERSION_14 || BR2_arc) select BR2_PACKAGE_NCURSES select BR2_PACKAGE_ZLIB diff --git a/package/gdb/Config.in.host b/package/gdb/Config.in.host index da35fd94f7..891e45948e 100644 --- a/package/gdb/Config.in.host +++ b/package/gdb/Config.in.host @@ -62,7 +62,7 @@ endif # If cross-gdb is not enabled, the latest stable version is chosen. config BR2_GDB_VERSION string - default "arc-2020.09-release-gdb" if BR2_arc + default "arc-2023.09-release" if BR2_arc default "12.1" if BR2_GDB_VERSION_12 default "13.2" if BR2_GDB_VERSION_13 || !BR2_PACKAGE_HOST_GDB # When making 14.x the default, or 14.x becomes the oldest version, diff --git a/package/gdb/arc-2020.09-release-gdb/0001-Do-not-define-basic_string_view-to_string.patch b/package/gdb/arc-2020.09-release-gdb/0001-Do-not-define-basic_string_view-to_string.patch deleted file mode 100644 index 210ba6d609..0000000000 --- a/package/gdb/arc-2020.09-release-gdb/0001-Do-not-define-basic_string_view-to_string.patch +++ /dev/null @@ -1,114 +0,0 @@ -From 5ac588997c3c2d032d5d5145d9245eb37354c23b Mon Sep 17 00:00:00 2001 -From: Tom Tromey -Date: Tue, 30 Jun 2020 07:53:03 -0600 -Subject: [PATCH] Do not define basic_string_view::to_string - -gdb's copy of basic_string_view includes a to_string method. However, -according to cppreference, this is not a method on the real -std::basic_string_view: - -https://en.cppreference.com/w/cpp/string/basic_string_view - -This difference matters because gdb_string_view.h will use the -standard implementation when built with a C++17 or later. This caused -PR build/26183. - -This patch fixes the problem by changing the method to be a standalone -helper function, and then rewriting the uses. Tested by rebuilding -with a version of GCC that defaults to C++17. - -(Note that the build still is not clean; and also I noticed that the -libstdc++ string_view forbids the use of nullptr ... I wonder if gdb -violates that.) - -gdb/ChangeLog -2020-06-30 Tom Tromey - - PR build/26183: - * ada-lang.c (ada_lookup_name_info::ada_lookup_name_info): Use - gdb::to_string. - -gdbsupport/ChangeLog -2020-06-30 Tom Tromey - - PR build/26183: - * gdb_string_view.h (basic_string_view::to_string): Remove. - (gdb::to_string): New function. - -Upstream: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=5ac588997c3c2d032d5d5145d9245eb37354c23b -Bug report: https://sourceware.org/bugzilla/show_bug.cgi?id=26183 - -Signed-off-by: Bernd Kuhls ---- - gdb/ChangeLog | 6 ++++++ - gdb/ada-lang.c | 8 ++++---- - gdbsupport/ChangeLog | 6 ++++++ - gdbsupport/gdb_string_view.h | 17 ++++++++++------- - 4 files changed, 26 insertions(+), 11 deletions(-) - -diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c -index 9b0c2efbfe2..98508c168bc 100644 ---- a/gdb/ada-lang.c -+++ b/gdb/ada-lang.c -@@ -13553,10 +13553,10 @@ ada_lookup_name_info::ada_lookup_name_info (const lookup_name_info &lookup_name) - { - if (user_name.back () == '>') - m_encoded_name -- = user_name.substr (1, user_name.size () - 2).to_string (); -+ = gdb::to_string (user_name.substr (1, user_name.size () - 2)); - else - m_encoded_name -- = user_name.substr (1, user_name.size () - 1).to_string (); -+ = gdb::to_string (user_name.substr (1, user_name.size () - 1)); - m_encoded_p = true; - m_verbatim_p = true; - m_wild_match_p = false; -@@ -13575,10 +13575,10 @@ ada_lookup_name_info::ada_lookup_name_info (const lookup_name_info &lookup_name) - if (encoded != NULL) - m_encoded_name = encoded; - else -- m_encoded_name = user_name.to_string (); -+ m_encoded_name = gdb::to_string (user_name); - } - else -- m_encoded_name = user_name.to_string (); -+ m_encoded_name = gdb::to_string (user_name); - - /* Handle the 'package Standard' special case. See description - of m_standard_p. */ -diff --git a/gdbsupport/gdb_string_view.h b/gdbsupport/gdb_string_view.h -index c0ae7a8a2d9..65124e67e54 100644 ---- a/gdbsupport/gdb_string_view.h -+++ b/gdbsupport/gdb_string_view.h -@@ -245,13 +245,6 @@ namespace gdb { - return { this->_M_str, this->_M_len }; - } - -- template> -- std::basic_string<_CharT, _Traits, _Allocator> -- to_string(const _Allocator& __alloc = _Allocator()) const -- { -- return { this->_M_str, this->_M_len, __alloc }; -- } -- - size_type - copy(_CharT* __str, size_type __n, size_type __pos = 0) const - { -@@ -560,4 +553,14 @@ namespace gdb { - - #endif // __cplusplus < 201703L - -+namespace gdb { -+ -+static inline std::string -+to_string(const gdb::string_view &view) -+{ -+ return { view.data (), view.size () }; -+} -+ -+} -+ - #endif /* COMMON_GDB_STRING_VIEW_H */ --- -2.39.3 - diff --git a/package/gdb/gdb.hash b/package/gdb/gdb.hash index ba90bff5d6..c62da28cbf 100644 --- a/package/gdb/gdb.hash +++ b/package/gdb/gdb.hash @@ -6,4 +6,4 @@ sha512 8185d3e11ab60dafff5860a5016577bfe7dd7547ef01ebc867bc247603d82b74ff74c4f2 sha512 575e198105076fc4a88f68591aa114ab9c1196e84386a3f7b9b58fe5f30cdeed33f6a5f957b68f08c47284ec922bb60c964627e238471419673fd913575ce427 gdb-14.1.tar.xz # Locally calculated (fetched from Github) -sha512 5a2acf2fd33ab2ff589e1037ca40abda54328997dcff26b2b49b874bd3be980be5a63342962254f3c3bda98e32ce7a33af704d37353352833dee193135600458 gdb-arc-2020.09-release-gdb.tar.gz +sha512 3518b47d5c11d1fb478ee152bde1719363f9391db73f3b9f5491217c17742bef8ebca6a51a40302dfaa9476c5a32a8b8f70a4bf64289422dea5f750ae53ab88d gdb-arc-2023.09-release.tar.gz diff --git a/package/gdb/gdb.mk b/package/gdb/gdb.mk index c67a292619..141fcfc005 100644 --- a/package/gdb/gdb.mk +++ b/package/gdb/gdb.mk @@ -8,7 +8,7 @@ GDB_VERSION = $(call qstrip,$(BR2_GDB_VERSION)) GDB_SITE = $(BR2_GNU_MIRROR)/gdb GDB_SOURCE = gdb-$(GDB_VERSION).tar.xz -ifeq ($(BR2_arc),y) +ifeq ($(GDB_VERSION),arc-2023.09-release) GDB_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,binutils-gdb,$(GDB_VERSION)) GDB_SOURCE = gdb-$(GDB_VERSION).tar.gz GDB_FROM_GIT = y @@ -56,11 +56,8 @@ GDB_DEPENDENCIES += host-flex host-bison HOST_GDB_DEPENDENCIES += host-flex host-bison endif -# All newer versions of GDB need host-gmp, so it's only for older -# versions that the dependency can be avoided. -ifeq ($(BR2_arc),) +# All newer versions of GDB need host-gmp HOST_GDB_DEPENDENCIES += host-gmp -endif # When gdb sources are fetched from the binutils-gdb repository, they # also contain the binutils sources, but binutils shouldn't be built, @@ -158,9 +155,8 @@ GDB_CONF_OPTS += \ endif # Starting from GDB 11.x, gmp is needed as a dependency to build full -# gdb. So we avoid the dependency only for the special version used on -# ARC. -ifeq ($(BR2_arc):$(BR2_PACKAGE_GDB_DEBUGGER),:y) +# gdb. +ifeq ($(BR2_PACKAGE_GDB_DEBUGGER),y) GDB_CONF_OPTS += \ --with-libgmp-prefix=$(STAGING_DIR)/usr GDB_DEPENDENCIES += gmp @@ -168,7 +164,9 @@ endif # Starting from GDB 14.x, mpfr is needed as a dependency to build full # gdb. -ifeq ($(BR2_GDB_VERSION_14)$(BR2_PACKAGE_GDB_DEBUGGER),yy) +# GDB fork from ARC GNU tools 2023.09 is based on GDB14 branch and so +# requires MPFR as well. +ifeq ($(BR2_GDB_VERSION_14)$(BR2_arc):$(BR2_PACKAGE_GDB_DEBUGGER),y:y) GDB_DEPENDENCIES += mpfr GDB_CONF_OPTS += --with-mpfr=$(STAGING_DIR) else @@ -272,7 +270,9 @@ HOST_GDB_CONF_OPTS = \ $(GDB_DISABLE_BINUTILS_CONF_OPTS) # GDB newer than 14.x need host-mpfr -ifeq ($(BR2_GDB_VERSION_14),y) +# GDB fork from ARC GNU tools 2023.09 is based on GDB14 branch and so +# requires MPFR as well. +ifeq ($(BR2_GDB_VERSION_14)$(BR2_arc),y) HOST_GDB_DEPENDENCIES += host-mpfr HOST_GDB_CONF_OPTS += --with-mpfr=$(HOST_DIR) else