toolchain: bump ARC tools to arc-2019.09-eng002
authorEvgeniy Didin <Evgeniy.Didin@synopsys.com>
Tue, 15 Oct 2019 09:02:58 +0000 (12:02 +0300)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Sun, 27 Oct 2019 19:16:05 +0000 (20:16 +0100)
This commit bumps ARC toolchain to arc-2019.09-eng002.  We want to
test how new toolchain-eng002 builds packages, so we can make fixes
before release of toolcain.

Please note that it is an engineering build and it might have all
kinds of breakages, please don't use it for production builds

Signed-off-by: Evgeniy Didin <Evgeniy.Didin@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: arc-buildroot@synopsys.com
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
16 files changed:
package/binutils/Config.in.host
package/binutils/arc-2019.03-release/0001-poison-system-directories.patch [deleted file]
package/binutils/arc-2019.09-eng002/0001-poison-system-directories.patch [new file with mode: 0644]
package/binutils/binutils.hash
package/binutils/binutils.mk
package/gcc/Config.in.host
package/gcc/arc-2019.03-release/0001-ARC-PR89838.patch [deleted file]
package/gcc/arc-2019.03-release/0002-ARC-Fix-emitting-TLS-symbols.patch [deleted file]
package/gcc/arc-2019.03-release/0100-uclibc-conf.patch [deleted file]
package/gcc/arc-2019.09-eng002/0100-uclibc-conf.patch [new file with mode: 0644]
package/gcc/gcc.hash
package/gdb/Config.in.host
package/gdb/gdb.hash
package/glibc/arc-2019.03-release/glibc.hash [deleted file]
package/glibc/arc-2019.09-eng002/glibc.hash [new file with mode: 0644]
package/glibc/glibc.mk

index c5daee7f95c2661ea034bb54fc33b78ae1474b39..9def812dc182dfbb70527e7a53e3e60d62b6009a 100644 (file)
@@ -37,7 +37,7 @@ endchoice
 
 config BR2_BINUTILS_VERSION
        string
-       default "arc-2019.03-release"   if BR2_BINUTILS_VERSION_ARC
+       default "arc-2019.09-eng002"    if BR2_BINUTILS_VERSION_ARC
        default "c66d8bbcebfddf713b2b436e1b135e6b125a55a5" if BR2_BINUTILS_VERSION_CSKY
        default "2.30"          if BR2_BINUTILS_VERSION_2_30_X
        default "2.31.1"        if BR2_BINUTILS_VERSION_2_31_X
diff --git a/package/binutils/arc-2019.03-release/0001-poison-system-directories.patch b/package/binutils/arc-2019.03-release/0001-poison-system-directories.patch
deleted file mode 100644 (file)
index 90c7ac7..0000000
+++ /dev/null
@@ -1,306 +0,0 @@
-From 7d1e6ed1d57e839207e0ece7561bd4709032de9f Mon Sep 17 00:00:00 2001
-From: Romain Naour <romain.naour@gmail.com>
-Date: Fri, 25 Dec 2015 11:45:38 +0100
-Subject: [PATCH] poison-system-directories
-
-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 <romain.naour@gmail.com>
-[Gustavo: adapt to binutils 2.25]
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
-
-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  <joseph@codesourcery.com>
-
-    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  <joseph@codesourcery.com>
-
-    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  <joseph@codesourcery.com>
-
-    Merge from Sourcery G++ binutils 2.17:
-
-    2007-03-20  Joseph Myers  <joseph@codesourcery.com>
-    Based on patch by Mark Hatle <mark.hatle@windriver.com>.
-    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 <mark.hatle@windriver.com>
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
----
- 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 d93c9b0..5da2742 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 300a272..d68890f 100755
---- a/ld/configure
-+++ b/ld/configure
-@@ -822,6 +822,7 @@ with_lib_path
- enable_targets
- enable_64_bit_bfd
- with_sysroot
-+enable_poison_system_directories
- enable_gold
- enable_got
- enable_compressed_debug_sections
-@@ -1486,6 +1487,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=<type>     GOT handling scheme (target, single, negative,
-                           multigot)
-@@ -15803,7 +15806,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 d10c553..9f1b57b 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 ba914b9..9df17da 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 40d79dd..137d46c 100644
---- a/ld/ld.texi
-+++ b/ld/ld.texi
-@@ -2479,6 +2479,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 b3d166c..3dcbf66 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 04d6fd5..d7df005 100644
---- a/ld/ldlex.h
-+++ b/ld/ldlex.h
-@@ -148,6 +148,8 @@ enum option_values
-   OPTION_REQUIRE_DEFINED_SYMBOL,
-   OPTION_ORPHAN_HANDLING,
-   OPTION_FORCE_GROUP_ALLOCATION,
-+  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 f31eeb2..25f8497 100644
---- a/ld/ldmain.c
-+++ b/ld/ldmain.c
-@@ -268,6 +268,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 86a033a..f07f095 100644
---- a/ld/lexsup.c
-+++ b/ld/lexsup.c
-@@ -543,6 +543,14 @@ static const struct ld_option ld_options[] =
-   { {"orphan-handling", required_argument, NULL, OPTION_ORPHAN_HANDLING},
-     '\0', N_("=MODE"), N_("Control how orphan sections are handled."),
-     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)
-@@ -555,6 +563,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;
-@@ -1543,6 +1552,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),
-@@ -1586,6 +1603,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)
-     {
-       lang_leave_group ();
--- 
-2.7.4
-
diff --git a/package/binutils/arc-2019.09-eng002/0001-poison-system-directories.patch b/package/binutils/arc-2019.09-eng002/0001-poison-system-directories.patch
new file mode 100644 (file)
index 0000000..f6a78c7
--- /dev/null
@@ -0,0 +1,309 @@
+From 5f62ad7ce534e3384d6ed8892614979da297bd70 Mon Sep 17 00:00:00 2001
+From: Evgeniy Didin <Evgeniy.Didin@synopsys.com>
+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 <Evgeniy.Didin@synopsys.com>
+
+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 <romain.naour@gmail.com>
+[Gustavo: adapt to binutils 2.25]
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+
+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  <joseph@codesourcery.com>
+
+    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  <joseph@codesourcery.com>
+
+    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  <joseph@codesourcery.com>
+
+    Merge from Sourcery G++ binutils 2.17:
+
+    2007-03-20  Joseph Myers  <joseph@codesourcery.com>
+    Based on patch by Mark Hatle <mark.hatle@windriver.com>.
+    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 <mark.hatle@windriver.com>
+Signed-off-by: Scott Garman <scott.a.garman@intel.com>
+---
+ 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=<type>     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
+@@ -150,6 +150,8 @@ enum option_values
+   OPTION_FORCE_GROUP_ALLOCATION,
+   OPTION_PRINT_MAP_DISCARDED,
+   OPTION_NO_PRINT_MAP_DISCARDED,
++  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
+
index 4b747fc2b0c2d37365cd49991df8c3877b1e8bc5..4aea049d3a8e3c119b23e548ac3559e0b298339e 100644 (file)
@@ -4,7 +4,7 @@ sha512  0fca326feb1d5f5fe505a827b20237fe3ec9c13eaf7ec7e35847fd71184f605ba1cefe13
 sha512  d326408f12a03d9a61a9de56584c2af12f81c2e50d2d7e835d51565df8314df01575724afa1e43bd0db45cfc9916b41519b67dfce03232aa4978704492a6994a  binutils-2.32.tar.xz
 
 # Locally calculated (fetched from Github)
-sha512  e2d8c109ed006eb143bab8360c9e29287c05a0b273448d256edee7458e356d45b27c9869ca6be96206df360c24ba607b21c185190d3a4731999dad515b157c18  binutils-gdb-arc-2019.03-release.tar.gz
+sha512  db6a0a855733a79ec71127b94981e6be63c4852dee5aed2bc9738da7d3c3796d88974e86ae9dc20cf28ea5e31897ddf8d68f695fcadfbdec1a8406b437d73df6  binutils-gdb-arc-2019.09-eng002.tar.gz
 
 # Locally calculated (fetched from https://github.com/c-sky/binutils-gdb)
 sha512  979552d4b3a4f31e9f3b9a7027321bd4eb3ac6c2d8deac1720e94e54f81d736db09c53c5d87c301010e307b64127e14400a036c7a35e5d63a954a4edd9cc8e2c  binutils-c66d8bbcebfddf713b2b436e1b135e6b125a55a5.tar.gz
index d60c032bdecc8829732af2126b9a98489bfef3c1..a4ed1a8f760296c0eb3b656d8447cd83686bc641 100644 (file)
@@ -9,13 +9,13 @@
 BINUTILS_VERSION = $(call qstrip,$(BR2_BINUTILS_VERSION))
 ifeq ($(BINUTILS_VERSION),)
 ifeq ($(BR2_arc),y)
-BINUTILS_VERSION = arc-2019.03-release
+BINUTILS_VERSION = arc-2019.09-eng002
 else
 BINUTILS_VERSION = 2.31.1
 endif
 endif # BINUTILS_VERSION
 
-ifeq ($(BINUTILS_VERSION),arc-2019.03-release)
+ifeq ($(BINUTILS_VERSION),arc-2019.09-eng002)
 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
index 5c1bee076d0ac40b3931157d68d8f39d98558c50..e2a4032c9098ecf278201be56146424792c321b9 100644 (file)
@@ -10,10 +10,10 @@ choice
          Select the version of gcc you wish to use.
 
 config BR2_GCC_VERSION_ARC
-       bool "gcc arc (8.x)"
+       bool "gcc arc (9.x)"
        # Only supported architecture
        depends on BR2_arc
-       select BR2_TOOLCHAIN_GCC_AT_LEAST_8
+       select BR2_TOOLCHAIN_GCC_AT_LEAST_9
 
 config BR2_GCC_VERSION_CSKY
        bool "gcc csky"
@@ -96,7 +96,7 @@ config BR2_GCC_VERSION
        default "7.4.0"     if BR2_GCC_VERSION_7_X
        default "8.3.0"     if BR2_GCC_VERSION_8_X
        default "9.2.0"     if BR2_GCC_VERSION_9_X
-       default "arc-2019.03-release" if BR2_GCC_VERSION_ARC
+       default "arc-2019.09-eng002" if BR2_GCC_VERSION_ARC
        default "or1k-musl-5.4.0-20170218" if BR2_GCC_VERSION_OR1K
        default "48152afb96c59733d5bc79e3399bb7b3d4b44266" if BR2_GCC_VERSION_CSKY
 
diff --git a/package/gcc/arc-2019.03-release/0001-ARC-PR89838.patch b/package/gcc/arc-2019.03-release/0001-ARC-PR89838.patch
deleted file mode 100644 (file)
index e95f795..0000000
+++ /dev/null
@@ -1,369 +0,0 @@
-From 228efbbb2f1d59ca7fc0ec09d4be75ce58fa583b Mon Sep 17 00:00:00 2001
-From: Claudiu Zissulescu <claziss@gmail.com>
-Date: Mon, 1 Apr 2019 13:03:55 +0300
-Subject: [PATCH] [ARC] PR89838
-
-gcc/
-xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>
-
-       * config/arc/arc.c (arc_symbol_binds_local_p): New function.
-       (arc_legitimize_pic_address): Simplify and cleanup the function.
-       (SYMBOLIC_CONST): Remove.
-       (prepare_pic_move): Likewise.
-       (prepare_move_operands): Handle complex mov cases here.
-       (arc_legitimize_address_0): Remove call to
-       arc_legitimize_pic_address.
-       (arc_legitimize_address): Remove call to
-       arc_legitimize_tls_address.
-       * config/arc/arc.md (movqi_insn): Allow Cm3 match.
-       (movhi_insn): Likewise.
-
-/gcc/testsuite
-xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>
-
-       * gcc.target/arc/pr89838.c: New file.
-
-Fix in upstream:
-   https://gcc.gnu.org/viewcvs/gcc?view=revision&sortby=date&revision=272645
-
-Signed-off-by: Evgeniy Didin <didin@synopsys.com>
----
- gcc/config/arc/arc.c  | 246 ++++++++++--------------------------------
- gcc/config/arc/arc.md |   8 +-
- 2 files changed, 60 insertions(+), 194 deletions(-)
-
-diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c
-index 78a37aa2a18..8b544efaa11 100644
---- a/gcc/config/arc/arc.c
-+++ b/gcc/config/arc/arc.c
-@@ -5990,137 +5990,46 @@ arc_legitimize_tls_address (rtx addr, enum tls_model model)
-     }
- }
--/* Legitimize a pic address reference in ORIG.
--   The return value is the legitimated address.
--   If OLDX is non-zero, it is the target to assign the address to first.  */
-+/* Return true if SYMBOL_REF X binds locally.  */
--static rtx
--arc_legitimize_pic_address (rtx orig, rtx oldx)
-+static bool
-+arc_symbol_binds_local_p (const_rtx x)
- {
--  rtx addr = orig;
--  rtx pat = orig;
--  rtx base;
-+  return (SYMBOL_REF_DECL (x)
-+        ? targetm.binds_local_p (SYMBOL_REF_DECL (x))
-+        : SYMBOL_REF_LOCAL_P (x));
-+}
--  if (oldx == orig)
--    oldx = NULL;
-+/* Legitimize a pic address reference in ORIG.  The return value is
-+   the legitimated address.  */
-+
-+static rtx
-+arc_legitimize_pic_address (rtx addr)
-+{
-+  if (!flag_pic)
-+    return addr;
--  if (GET_CODE (addr) == LABEL_REF)
--    ; /* Do nothing.  */
--  else if (GET_CODE (addr) == SYMBOL_REF)
-+  switch (GET_CODE (addr))
-     {
--      enum tls_model model = SYMBOL_REF_TLS_MODEL (addr);
--      if (model != 0)
--      return arc_legitimize_tls_address (addr, model);
--      else if (!flag_pic)
--      return orig;
--      else if (CONSTANT_POOL_ADDRESS_P (addr) || SYMBOL_REF_LOCAL_P (addr))
--      return arc_unspec_offset (addr, ARC_UNSPEC_GOTOFFPC);
-+    case SYMBOL_REF:
-+      /* TLS symbols are handled in different place.  */
-+      if (SYMBOL_REF_TLS_MODEL (addr))
-+      return addr;
-       /* This symbol must be referenced via a load from the Global
-        Offset Table (@GOTPC).  */
--      pat = arc_unspec_offset (addr, ARC_UNSPEC_GOT);
--      pat = gen_const_mem (Pmode, pat);
-+      if (!arc_symbol_binds_local_p (addr))
-+      return gen_const_mem (Pmode, arc_unspec_offset (addr, ARC_UNSPEC_GOT));
--      if (oldx == NULL)
--      oldx = gen_reg_rtx (Pmode);
--
--      emit_move_insn (oldx, pat);
--      pat = oldx;
--    }
--  else
--    {
--      if (GET_CODE (addr) == CONST)
--      {
--        addr = XEXP (addr, 0);
--        if (GET_CODE (addr) == UNSPEC)
--          {
--            /* Check that the unspec is one of the ones we generate?  */
--            return orig;
--          }
--        /* fwprop is placing in the REG_EQUIV notes constant pic
--           unspecs expressions.  Then, loop may use these notes for
--           optimizations resulting in complex patterns that are not
--           supported by the current implementation. The following
--           two if-cases are simplifying the complex patters to
--           simpler ones.  */
--        else if (GET_CODE (addr) == MINUS)
--          {
--            rtx op0 = XEXP (addr, 0);
--            rtx op1 = XEXP (addr, 1);
--            gcc_assert (oldx);
--            gcc_assert (GET_CODE (op1) == UNSPEC);
--
--            emit_move_insn (oldx,
--                            gen_rtx_CONST (SImode,
--                                           arc_legitimize_pic_address (op1,
--                                                                       NULL_RTX)));
--            emit_insn (gen_rtx_SET (oldx, gen_rtx_MINUS (SImode, op0, oldx)));
--            return oldx;
--
--          }
--        else if (GET_CODE (addr) != PLUS)
--          {
--            rtx tmp = XEXP (addr, 0);
--            enum rtx_code code = GET_CODE (addr);
--
--            /* It only works for UNARY operations.  */
--            gcc_assert (UNARY_P (addr));
--            gcc_assert (GET_CODE (tmp) == UNSPEC);
--            gcc_assert (oldx);
--
--            emit_move_insn
--              (oldx,
--               gen_rtx_CONST (SImode,
--                              arc_legitimize_pic_address (tmp,
--                                                          NULL_RTX)));
--
--            emit_insn (gen_rtx_SET (oldx,
--                                    gen_rtx_fmt_ee (code, SImode,
--                                                    oldx, const0_rtx)));
--
--            return oldx;
--          }
--        else
--          {
--            gcc_assert (GET_CODE (addr) == PLUS);
--            if (GET_CODE (XEXP (addr, 0)) == UNSPEC)
--              return orig;
--          }
--      }
--
--      if (GET_CODE (addr) == PLUS)
--      {
--        rtx op0 = XEXP (addr, 0), op1 = XEXP (addr, 1);
--
--        base = arc_legitimize_pic_address (op0, oldx);
--        pat  = arc_legitimize_pic_address (op1,
--                                           base == oldx ? NULL_RTX : oldx);
--
--        if (base == op0 && pat == op1)
--          return orig;
--
--        if (GET_CODE (base) == PLUS)
--          {
--            gcc_assert (oldx != NULL_RTX);
--            gcc_assert (REG_P (oldx));
--            emit_insn (gen_rtx_SET (oldx, base));
--            base = oldx;
--          }
--        if (GET_CODE (pat) == CONST_INT)
--          pat = plus_constant (Pmode, base, INTVAL (pat));
--        else
--          {
--            if (GET_CODE (pat) == PLUS && CONSTANT_P (XEXP (pat, 1)))
--              {
--                base = gen_rtx_PLUS (Pmode, base, XEXP (pat, 0));
--                pat = XEXP (pat, 1);
--              }
--            pat = gen_rtx_PLUS (Pmode, base, pat);
--          }
--      }
-+      /* Local symb: use @pcl to access it.  */
-+      /* Fall through.  */
-+    case LABEL_REF:
-+      return arc_unspec_offset (addr, ARC_UNSPEC_GOTOFFPC);
-+    default:
-+      break;
-     }
-- return pat;
-+ return addr;
- }
- /* Output address constant X to FILE, taking PIC into account.  */
-@@ -6282,28 +6191,6 @@ arc_output_pic_addr_const (FILE * file, rtx x, int code)
-     }
- }
--#define SYMBOLIC_CONST(X)     \
--(GET_CODE (X) == SYMBOL_REF                                           \
-- || GET_CODE (X) == LABEL_REF                                         \
-- || (GET_CODE (X) == CONST && symbolic_reference_mentioned_p (X)))
--
--/* Emit insns to move operands[1] into operands[0].  */
--
--static void
--prepare_pic_move (rtx *operands, machine_mode)
--{
--  if (GET_CODE (operands[0]) == MEM && SYMBOLIC_CONST (operands[1])
--      && flag_pic)
--    operands[1] = force_reg (Pmode, operands[1]);
--  else
--    {
--      rtx temp = (reload_in_progress ? operands[0]
--                : gen_reg_rtx (Pmode));
--      operands[1] = arc_legitimize_pic_address (operands[1], temp);
--    }
--}
--
--
- /* The function returning the number of words, at the beginning of an
-    argument, must be put in registers.  The returned value must be
-    zero for arguments that are passed entirely in registers or that
-@@ -9178,54 +9065,37 @@ prepare_move_operands (rtx *operands, machine_mode mode)
-       }
-     }
--  if (mode == SImode && SYMBOLIC_CONST (operands[1]))
-+  if (GET_CODE (operands[1]) == SYMBOL_REF)
-     {
--      prepare_pic_move (operands, SImode);
--
--      /* Disable any REG_EQUALs associated with the symref
--       otherwise the optimization pass undoes the work done
--       here and references the variable directly.  */
-+      enum tls_model model = SYMBOL_REF_TLS_MODEL (operands[1]);
-+      if (MEM_P (operands[0]) && flag_pic)
-+      operands[1] = force_reg (mode, operands[1]);
-+      else if (model)
-+      operands[1] = arc_legitimize_tls_address (operands[1], model);
-     }
-+  operands[1] = arc_legitimize_pic_address (operands[1]);
-+
-+  /* Store instructions are limited, they only accept as address an
-+     immediate, a register or a register plus a small immediate.  */
-   if (MEM_P (operands[0])
--      && !(reload_in_progress || reload_completed))
-+      && !move_dest_operand (operands[0], mode))
-     {
--      operands[1] = force_reg (mode, operands[1]);
--      if (!move_dest_operand (operands[0], mode))
--      {
--        rtx addr = copy_to_mode_reg (Pmode, XEXP (operands[0], 0));
--        /* This is like change_address_1 (operands[0], mode, 0, 1) ,
--           except that we can't use that function because it is static.  */
--        rtx pat = change_address (operands[0], mode, addr);
--        MEM_COPY_ATTRIBUTES (pat, operands[0]);
--        operands[0] = pat;
--      }
--      if (!cse_not_expected)
--      {
--        rtx pat = XEXP (operands[0], 0);
--
--        pat = arc_legitimize_address_0 (pat, pat, mode);
--        if (pat)
--          {
--            pat = change_address (operands[0], mode, pat);
--            MEM_COPY_ATTRIBUTES (pat, operands[0]);
--            operands[0] = pat;
--          }
--      }
-+      rtx tmp0 = copy_to_mode_reg (Pmode, XEXP (operands[0], 0));
-+      rtx tmp1 = change_address (operands[0], mode, tmp0);
-+      MEM_COPY_ATTRIBUTES (tmp1, operands[0]);
-+      operands[0] = tmp1;
-     }
--  if (MEM_P (operands[1]) && !cse_not_expected)
--    {
--      rtx pat = XEXP (operands[1], 0);
--
--      pat = arc_legitimize_address_0 (pat, pat, mode);
--      if (pat)
--      {
--        pat = change_address (operands[1], mode, pat);
--        MEM_COPY_ATTRIBUTES (pat, operands[1]);
--        operands[1] = pat;
--      }
--    }
-+  /* Check if it is constant but it is not legitimized.  */
-+  if (CONSTANT_P (operands[1])
-+      && !arc_legitimate_constant_p (mode, operands[1]))
-+    operands[1] = force_reg (mode, XEXP (operands[1], 0));
-+  else if (MEM_P (operands[0])
-+         && ((CONSTANT_P (operands[1])
-+              && !satisfies_constraint_Cm3 (operands[1]))
-+             || MEM_P (operands[1])))
-+    operands[1] = force_reg (mode, operands[1]);
-   return false;
- }
-@@ -9630,11 +9500,10 @@ arc_legitimize_address_0 (rtx x, rtx oldx ATTRIBUTE_UNUSED,
- {
-   rtx addr, inner;
--  if (flag_pic && SYMBOLIC_CONST (x))
--     (x) =  arc_legitimize_pic_address (x, 0);
-   addr = x;
-   if (GET_CODE (addr) == CONST)
-     addr = XEXP (addr, 0);
-+
-   if (GET_CODE (addr) == PLUS
-       && CONST_INT_P (XEXP (addr, 1))
-       && ((GET_CODE (XEXP (addr, 0)) == SYMBOL_REF
-@@ -9665,13 +9534,6 @@ arc_legitimize_address_0 (rtx x, rtx oldx ATTRIBUTE_UNUSED,
- static rtx
- arc_legitimize_address (rtx orig_x, rtx oldx, machine_mode mode)
- {
--  if (GET_CODE (orig_x) == SYMBOL_REF)
--    {
--      enum tls_model model = SYMBOL_REF_TLS_MODEL (orig_x);
--      if (model != 0)
--      return arc_legitimize_tls_address (orig_x, model);
--    }
--
-   rtx new_x = arc_legitimize_address_0 (orig_x, oldx, mode);
-   if (new_x)
-diff --git a/gcc/config/arc/arc.md b/gcc/config/arc/arc.md
-index a7c5c600a99..dc5bcc0bb14 100644
---- a/gcc/config/arc/arc.md
-+++ b/gcc/config/arc/arc.md
-@@ -682,7 +682,9 @@ archs4x, archs4xd"
-   [(set (match_operand:QI 0 "move_dest_operand" "=Rcq,Rcq#q,    w,Rcq#q,   h, w, w,???w,h, w,Rcq,  S,!*x,  r,r, Ucm,m,???m,  m,Usc")
-       (match_operand:QI 1 "move_src_operand"  "  cL,   cP,Rcq#q,    P,hCm1,cL, I,?Rac,i,?i,  T,Rcq,Usd,Ucm,m,?Rac,c,?Rac,Cm3,i"))]
-   "register_operand (operands[0], QImode)
--   || register_operand (operands[1], QImode)"
-+   || register_operand (operands[1], QImode)
-+   || (satisfies_constraint_Cm3 (operands[1])
-+       && memory_operand (operands[0], QImode))"
-   "@
-    mov%? %0,%1%&
-    mov%? %0,%1%&
-@@ -724,7 +726,9 @@ archs4x, archs4xd"
-        /* Don't use a LIMM that we could load with a single insn - we loose
-         delay-slot filling opportunities.  */
-        && !satisfies_constraint_I (operands[1])
--       && satisfies_constraint_Usc (operands[0]))"
-+       && satisfies_constraint_Usc (operands[0]))
-+   || (satisfies_constraint_Cm3 (operands[1])
-+       && memory_operand (operands[0], HImode))"
-   "@
-    mov%? %0,%1%&
-    mov%? %0,%1%&
--- 
-2.17.2
-
diff --git a/package/gcc/arc-2019.03-release/0002-ARC-Fix-emitting-TLS-symbols.patch b/package/gcc/arc-2019.03-release/0002-ARC-Fix-emitting-TLS-symbols.patch
deleted file mode 100644 (file)
index b6e5c0e..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-From a971faaf8fb48acbf48ca800634fc78a27581517 Mon Sep 17 00:00:00 2001
-From: Claudiu Zissulescu <claziss@synopsys.com>
-Date: Wed, 26 Jun 2019 17:53:51 +0300
-Subject: [PATCH] [ARC] Fix emitting TLS symbols.
-
-When storing a TLS symbol to memory, always use an intermediate register
-to load it. Otherwise compiler generates instruction which couldn't be
-encoded and we see:
------------------------------>8---------------------------
-In file included from gethstent_r.c:34:
-../nss/getXXent_r.c: In function '__gethostent_r':
-../nss/getXXent_r.c:168:1: error: unrecognizable insn:
- }
- ^
-(insn 25 24 26 5 (set (mem:SI (plus:SI (reg/f:SI 149 virtual-outgoing-args)
-                (const_int 16 [0x10])) [0  S4 A32])
-        (plus:SI (reg:SI 25 r25)
-            (reg:SI 174))) "../nss/getXXent_r.c":160 -1
-     (nil))
-during RTL pass: vregs
-../nss/getXXent_r.c:168:1: internal compiler error: in extract_insn, at recog.c:2304
-In file included from getnetent_r.c:34:
-../nss/getXXent_r.c: In function '__getnetent_r':
-../nss/getXXent_r.c:168:1: error: unrecognizable insn:
- }
- ^
-(insn 25 24 26 5 (set (mem:SI (plus:SI (reg/f:SI 149 virtual-outgoing-args)
-                (const_int 16 [0x10])) [0  S4 A32])
-        (plus:SI (reg:SI 25 r25)
-            (reg:SI 174))) "../nss/getXXent_r.c":160 -1
-     (nil))
-during RTL pass: vregs
-../nss/getXXent_r.c:168:1: internal compiler error: in extract_insn, at recog.c:2304
------------------------------>8---------------------------
-
-Note this patch is not yet submitted to the GCC's master and gcc-9-branch but
-will be submitted soon. That said with bump of GCC for ARC this patch won't be
-needed any longer.
-
-Signed-off-by: Claudiu Zissulescu  <claziss@synopsys.com>
-Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
----
- gcc/config/arc/arc.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c
-index 8b544efaa11..989bec703df 100644
---- a/gcc/config/arc/arc.c
-+++ b/gcc/config/arc/arc.c
-@@ -9068,7 +9068,7 @@ prepare_move_operands (rtx *operands, machine_mode mode)
-   if (GET_CODE (operands[1]) == SYMBOL_REF)
-     {
-       enum tls_model model = SYMBOL_REF_TLS_MODEL (operands[1]);
--      if (MEM_P (operands[0]) && flag_pic)
-+      if (MEM_P (operands[0]))
-       operands[1] = force_reg (mode, operands[1]);
-       else if (model)
-       operands[1] = arc_legitimize_tls_address (operands[1], model);
--- 
-2.16.2
-
diff --git a/package/gcc/arc-2019.03-release/0100-uclibc-conf.patch b/package/gcc/arc-2019.03-release/0100-uclibc-conf.patch
deleted file mode 100644 (file)
index d354baf..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-From 326b880b20e5f8187dbda736b4c4c662cbfb00ca Mon Sep 17 00:00:00 2001
-From: Romain Naour <romain.naour@gmail.com>
-Date: Tue, 2 May 2017 22:36:15 +0200
-Subject: [PATCH] uclibc-conf
-
-[Romain: convert to git patch]
-Signed-off-by: Romain Naour <romain.naour@gmail.com>
----
- 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/arc-2019.09-eng002/0100-uclibc-conf.patch b/package/gcc/arc-2019.09-eng002/0100-uclibc-conf.patch
new file mode 100644 (file)
index 0000000..d354baf
--- /dev/null
@@ -0,0 +1,29 @@
+From 326b880b20e5f8187dbda736b4c4c662cbfb00ca Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@gmail.com>
+Date: Tue, 2 May 2017 22:36:15 +0200
+Subject: [PATCH] uclibc-conf
+
+[Romain: convert to git patch]
+Signed-off-by: Romain Naour <romain.naour@gmail.com>
+---
+ 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
+
index 5be1ec1a1d63bddd7b3de25fc236b465bcdc1d4b..756e133820a80e4a692bab6c680e035b070fae68 100644 (file)
@@ -8,7 +8,7 @@ sha512  1811337ae3add9680cec64968a2509d085b6dc5b6783fc1e8c295e3e47416196fd1a3ad8
 sha512  a12dff52af876aee0fd89a8d09cdc455f35ec46845e154023202392adc164848faf8ee881b59b681b696e27c69fd143a214014db4214db62f9891a1c8365c040  gcc-9.2.0.tar.xz
 
 # Locally calculated (fetched from Github)
-sha512  c3f63fb601140f92d2dbef96b2dcc025ef754d2f049bfcc3d33e746c7b218b5138f2d8768cd580134858a8d347d234cf3ead276638f6de409f8f07c986e136b6  gcc-arc-2019.03-release.tar.gz
+sha512  7ab8f8ffb79f0b7b69e87aa5692ba29e71478c9e2a4521ba57fcd818e25a20869025c8985a5e09f2f24483aa695881ba9aed4d2df0fc8c8129d791526156db93  gcc-arc-2019.09-eng002.tar.gz
 # Locally calculated (fetched from Github)
 sha512  2de7cf47333a4092b02d3bb98f4206f14966f1d139a724d09cf3b22f8a43ae0c704f33e6477d6367a03c29b265480dc900169e9d417006c5d46f0ae446b8c6f1  gcc-or1k-musl-5.4.0-20170218.tar.gz
 # Locally calculated (fetched from https://github.com/c-sky/gcc)
index 58b6a3e7706d1d3c2aba19873c5853bf8a1d8a6f..a9b6dcbd2d7e19755539dbb09e47c170fb79a39e 100644 (file)
@@ -67,7 +67,7 @@ endif
 # If cross-gdb is not enabled, the latest working version is chosen.
 config BR2_GDB_VERSION
        string
-       default "arc-2019.03-release-gdb" if BR2_arc
+       default "arc-2019.09-eng002-gdb" if BR2_arc
        default "4ecb98fbc2f94dbe01b69384afbc515107de73df" if BR2_csky
        default "8.1.1"    if BR2_GDB_VERSION_8_1
        default "8.2.1"    if BR2_GDB_VERSION_8_2 || !BR2_PACKAGE_HOST_GDB
index 7b0f98cc41077b32c5c96fc5e75fc84672f23863..69ab2521309df5938c7cb3c6b68d20728231d981 100644 (file)
@@ -4,7 +4,7 @@ sha512  2aa81cfd389bb48c35d7d9f95cc10e88b4f7ad4597bdde0f8f1fd312f60f10d9fb2cc6e5
 sha512  47ac074d20a09a3fac8f4a41dce0a0cbe6ef702f7dc21ba8b7d650d306128dcae481e9a16bf65e596b3a541dc82ae57c02bcbb786d551b4ef3e2917b9b6f0ae1       gdb-8.3.tar.xz
 
 # Locally calculated (fetched from Github)
-sha512  45b4610b92d4c9fb8c3f516c0e86867f34dfd9e47af3af582b1470f2e4bcb04070dd8d69e033dc758e5587f012b9f472572c5075b3331d9d574bdc3edb9b11f9       gdb-arc-2019.03-release-gdb.tar.gz
+sha512  2625e568ec85652cc223409162b4bd97dd292c5f7a597a57ccb2c6c88a69dfc5fbcf1f0750716ab94c932fa97c8900732f7d2fec940973bc3d6c88ef3f8c6d26       gdb-arc-2019.09-eng002-gdb.tar.gz
 
 # Locally calculated (fetched from https://github.com/c-sky/binutils-gdb)
 sha512  c421e1f3c0d6cfb3c04544573c0c4b0075c8d8e3d563c6c234fcc1e4c2167ab203d1e57aec3b58abd348dc46f8cf9b47b753d3a43dba3ea970c9c9a6bd78c07b       gdb-4ecb98fbc2f94dbe01b69384afbc515107de73df.tar.gz
diff --git a/package/glibc/arc-2019.03-release/glibc.hash b/package/glibc/arc-2019.03-release/glibc.hash
deleted file mode 100644 (file)
index 2fa706d..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-# Locally calculated (fetched from Github)
-sha256  d8fd15462475f7e268147903cd7811705707b9bd9b29cd9dfe9a941ba48c7ea2  glibc-arc-2019.03-release.tar.gz
-
-# Hashes for license files
-sha256  8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643  COPYING
-sha256  dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551  COPYING.LIB
-sha256  35bdb41dc0bcb10702ddacbd51ec4c0fe6fb3129f734e8c85fc02e4d3eb0ce3f  LICENSES
diff --git a/package/glibc/arc-2019.09-eng002/glibc.hash b/package/glibc/arc-2019.09-eng002/glibc.hash
new file mode 100644 (file)
index 0000000..5a0b762
--- /dev/null
@@ -0,0 +1,7 @@
+# Locally calculated (fetched from Github)
+sha256  7ae8409c6e0649f21a9dccd55b0d84cb34ab69c1e95cb1bf807a0713bcf7a086  glibc-arc-2019.09-eng002.tar.gz
+
+# Hashes for license files
+sha256  8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643  COPYING
+sha256  dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551  COPYING.LIB
+sha256  35bdb41dc0bcb10702ddacbd51ec4c0fe6fb3129f734e8c85fc02e4d3eb0ce3f  LICENSES
index 9421f9fd817b75b5f2a9a2195a23c429e66fb279..c6acc43ff515e1ddc9e1b78793b48d9615b4f4bb 100644 (file)
@@ -5,7 +5,7 @@
 ################################################################################
 
 ifeq ($(BR2_arc),y)
-GLIBC_VERSION =  arc-2019.03-release
+GLIBC_VERSION =  arc-2019.09-eng002
 GLIBC_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,glibc,$(GLIBC_VERSION))
 else ifeq ($(BR2_RISCV_32),y)
 GLIBC_VERSION = 06983fe52cfe8e4779035c27e8cc5d2caab31531