Source-Changes-HG archive

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

[src/trunk]: src/external/gpl3/gcc/dist merge GCC 8.3.0 pass 2. still will n...



details:   https://anonhg.NetBSD.org/src/rev/1b0a968ad57f
branches:  trunk
changeset: 454886:1b0a968ad57f
user:      mrg <mrg%NetBSD.org@localhost>
date:      Tue Oct 01 11:49:12 2019 +0000

description:
merge GCC 8.3.0 pass 2.  still will not compile yet.  these
files are yet to merge:

C gcc/config/rs6000/rs6000.c
C libsanitizer/lsan/lsan_allocator.cc
C libsanitizer/sanitizer_common/sanitizer_internal_defs.h

diffstat:

 external/gpl3/gcc/dist/gcc/config/vax/builtins.md                                            |    2 +-
 external/gpl3/gcc/dist/gcc/config/vax/vax.c                                                  |   60 +-
 external/gpl3/gcc/dist/gcc/gcc.c                                                             |  200 ++-
 external/gpl3/gcc/dist/libsanitizer/asan/asan_linux.cc                                       |   22 +-
 external/gpl3/gcc/dist/libsanitizer/asan/asan_malloc_linux.cc                                |   77 +-
 external/gpl3/gcc/dist/libsanitizer/asan/asan_thread.cc                                      |   91 +-
 external/gpl3/gcc/dist/libsanitizer/interception/interception.h                              |   37 +-
 external/gpl3/gcc/dist/libsanitizer/interception/interception_linux.cc                       |   14 +-
 external/gpl3/gcc/dist/libsanitizer/lsan/lsan_common.h                                       |   83 +-
 external/gpl3/gcc/dist/libsanitizer/lsan/lsan_interceptors.cc                                |  264 +++-
 external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_libignore.cc                  |   65 +-
 external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_linux.cc                      |  543 ++++++++-
 external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_linux_libcdep.cc              |  113 +-
 external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_platform.h                    |   30 +-
 external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_platform_interceptors.h       |  344 +++--
 external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h       |   69 +-
 external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_procmaps.h                    |   92 +-
 external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc |  122 +-
 external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_syscall_generic.inc           |   28 +-
 external/gpl3/gcc/dist/libsanitizer/tsan/tsan_interceptors.cc                                |  215 ++-
 external/gpl3/gcc/dist/libsanitizer/ubsan/ubsan_platform.h                                   |   10 +-
 external/gpl3/gcc/dist/libstdc++-v3/include/bits/locale_facets.tcc                           |   22 +-
 22 files changed, 1729 insertions(+), 774 deletions(-)

diffs (truncated from 4710 to 300 lines):

diff -r 9e69d2b7c383 -r 1b0a968ad57f external/gpl3/gcc/dist/gcc/config/vax/builtins.md
--- a/external/gpl3/gcc/dist/gcc/config/vax/builtins.md Tue Oct 01 10:59:49 2019 +0000
+++ b/external/gpl3/gcc/dist/gcc/config/vax/builtins.md Tue Oct 01 11:49:12 2019 +0000
@@ -1,5 +1,5 @@
 ;; builtin definitions for DEC VAX.
-;; Copyright (C) 2007-2017 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2018 Free Software Foundation, Inc.
 ;;
 ;; This file is part of GCC.
 ;;
diff -r 9e69d2b7c383 -r 1b0a968ad57f external/gpl3/gcc/dist/gcc/config/vax/vax.c
--- a/external/gpl3/gcc/dist/gcc/config/vax/vax.c       Tue Oct 01 10:59:49 2019 +0000
+++ b/external/gpl3/gcc/dist/gcc/config/vax/vax.c       Tue Oct 01 11:49:12 2019 +0000
@@ -1,5 +1,5 @@
 /* Subroutines for insn-output.c for VAX.
-   Copyright (C) 1987-2017 Free Software Foundation, Inc.
+   Copyright (C) 1987-2018 Free Software Foundation, Inc.
 
 This file is part of GCC.
 
@@ -17,6 +17,8 @@
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
+#define IN_TARGET_CODE 1
+
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
@@ -24,6 +26,8 @@
 #include "target.h"
 #include "rtl.h"
 #include "tree.h"
+#include "stringpool.h"
+#include "attribs.h"
 #include "df.h"
 #include "memmodel.h"
 #include "tm_p.h"
@@ -58,8 +62,9 @@
 static rtx vax_builtin_setjmp_frame_value (void);
 static void vax_asm_trampoline_template (FILE *);
 static void vax_trampoline_init (rtx, tree, rtx);
-static int vax_return_pops_args (tree, tree, int);
+static poly_int64 vax_return_pops_args (tree, tree, poly_int64);
 static bool vax_mode_dependent_address_p (const_rtx, addr_space_t);
+static HOST_WIDE_INT vax_starting_frame_offset (void);
 
 /* Initialize the GCC target structure.  */
 #undef TARGET_ASM_ALIGNED_HI_OP
@@ -130,6 +135,9 @@
 }
 #endif
 
+#undef TARGET_STARTING_FRAME_OFFSET
+#define TARGET_STARTING_FRAME_OFFSET vax_starting_frame_offset
+
 struct gcc_target targetm = TARGET_INITIALIZER;
 
 /* Set global variables as needed for the options enabled.  */
@@ -230,7 +238,7 @@
 
   /* Allocate the local stack frame.  */
   size = get_frame_size ();
-  size -= STARTING_FRAME_OFFSET;
+  size -= vax_starting_frame_offset ();
   emit_insn (gen_addsi3 (stack_pointer_rtx,
                         stack_pointer_rtx, GEN_INT (-size)));
 
@@ -871,18 +879,18 @@
     case MULT:
       switch (mode)
        {
-       case DFmode:
+       case E_DFmode:
          *total = 16;          /* 4 on VAX 9000 */
          break;
-       case SFmode:
+       case E_SFmode:
          *total = 9;           /* 4 on VAX 9000, 12 on VAX 2 */
          break;
-       case DImode:
+       case E_DImode:
          *total = 16;          /* 6 on VAX 9000, 28 on VAX 2 */
          break;
-       case SImode:
-       case HImode:
-       case QImode:
+       case E_SImode:
+       case E_HImode:
+       case E_QImode:
          *total = 10;          /* 3-4 on VAX 9000, 20-28 on VAX 2 */
          break;
        default:
@@ -1194,7 +1202,7 @@
 
   switch (mode)
     {
-    case DImode:
+    case E_DImode:
       if (operands[1] == const0_rtx)
        return "clrq %0";
       if (TARGET_QMATH && optimize_size
@@ -1307,7 +1315,7 @@
        }
       return "movq %1,%0";
 
-    case SImode:
+    case E_SImode:
       if (symbolic_operand (operands[1], SImode))
        {
          if (push_operand (operands[0], SImode))
@@ -1350,7 +1358,7 @@
        return "pushl %1";
       return "movl %1,%0";
 
-    case HImode:
+    case E_HImode:
       if (CONST_INT_P (operands[1]))
        {
          HOST_WIDE_INT i = INTVAL (operands[1]);
@@ -1367,7 +1375,7 @@
        }
       return "movw %1,%0";
 
-    case QImode:
+    case E_QImode:
       if (CONST_INT_P (operands[1]))
        {
          HOST_WIDE_INT i = INTVAL (operands[1]);
@@ -1402,7 +1410,7 @@
 {
   switch (mode)
     {
-    case DImode:
+    case E_DImode:
       {
        rtx low[3];
        const char *pattern;
@@ -1488,7 +1496,7 @@
        return "adwc %2,%0";
       }
 
-    case SImode:
+    case E_SImode:
       if (rtx_equal_p (operands[0], operands[1]))
        {
          if (operands[2] == const1_rtx)
@@ -1564,7 +1572,7 @@
 
       return "addl3 %1,%2,%0";
 
-    case HImode:
+    case E_HImode:
       if (rtx_equal_p (operands[0], operands[1]))
        {
          if (operands[2] == const1_rtx)
@@ -1583,7 +1591,7 @@
        return "subw3 $%n2,%1,%0";
       return "addw3 %1,%2,%0";
 
-    case QImode:
+    case E_QImode:
       if (rtx_equal_p (operands[0], operands[1]))
        {
          if (operands[2] == const1_rtx)
@@ -1612,7 +1620,7 @@
 {
   switch (mode)
     {
-    case DImode:
+    case E_DImode:
       {
        rtx low[3];
        const char *pattern;
@@ -2194,7 +2202,7 @@
   if (REG_P (lo))
     return mode == SImode && REGNO (lo) + 1 == REGNO (hi);
   if (CONST_INT_P (lo))
-    return INTVAL (hi) == 0 && 0 <= INTVAL (lo) && INTVAL (lo) < 64;
+    return INTVAL (hi) == 0 && UINTVAL (lo) < 64;
   if (CONST_INT_P (lo))
     return mode != SImode;
 
@@ -2305,11 +2313,11 @@
 
    On the VAX, the RET insn pops a maximum of 255 args for any function.  */
 
-static int
+static poly_int64
 vax_return_pops_args (tree fundecl ATTRIBUTE_UNUSED,
-                     tree funtype ATTRIBUTE_UNUSED, int size)
+                     tree funtype ATTRIBUTE_UNUSED, poly_int64 size)
 {
-  return size > 255 * 4 ? 0 : size;
+  return size > 255 * 4 ? 0 : (HOST_WIDE_INT) size;
 }
 
 /* Define where to put the arguments to a function.
@@ -2351,6 +2359,14 @@
           : (int_size_in_bytes (type) + 3) & ~3);
 }
 
+static HOST_WIDE_INT
+vax_starting_frame_offset (void)
+{
+  /* On ELF targets, reserve the top of the stack for exception handler
+     stackadj value.  */
+  return TARGET_ELF ? -4 : 0;
+}
+
 bool
 vax_decomposed_dimode_operand_p (rtx lo, rtx hi)
 {
diff -r 9e69d2b7c383 -r 1b0a968ad57f external/gpl3/gcc/dist/gcc/gcc.c
--- a/external/gpl3/gcc/dist/gcc/gcc.c  Tue Oct 01 10:59:49 2019 +0000
+++ b/external/gpl3/gcc/dist/gcc/gcc.c  Tue Oct 01 11:49:12 2019 +0000
@@ -1,5 +1,5 @@
 /* Compiler driver program that can handle many languages.
-   Copyright (C) 1987-2017 Free Software Foundation, Inc.
+   Copyright (C) 1987-2018 Free Software Foundation, Inc.
 
 This file is part of GCC.
 
@@ -170,9 +170,10 @@
 
 
 /* By default there is no special suffix for target executables.  */
-/* FIXME: when autoconf is fixed, remove the host check - dj */
-#if defined(TARGET_EXECUTABLE_SUFFIX) && defined(HOST_EXECUTABLE_SUFFIX)
+#ifdef TARGET_EXECUTABLE_SUFFIX
 #define HAVE_TARGET_EXECUTABLE_SUFFIX
+#else
+#define TARGET_EXECUTABLE_SUFFIX ""
 #endif
 
 /* By default there is no special suffix for host executables.  */
@@ -584,6 +585,12 @@
 
  %(Spec) processes a specification defined in a specs file as *Spec:
 
+The switch matching text S in a %{S}, %{S:X}, or similar construct can use
+a backslash to ignore the special meaning of the character following it,
+thus allowing literal matching of a character that is otherwise specially
+treated.  For example, %{std=iso9899\:1999:X} substitutes X if the
+-std=iso9899:1999 option is given.
+
 The conditional text X in a %{S:X} or similar construct may contain
 other nested % constructs or spaces, or even newlines.  They are
 processed as usual, as described above.  Trailing white space in X is
@@ -1009,9 +1016,10 @@
 #endif
 
 /* -u* was put back because both BSD and SysV seem to support it.  */
-/* %{static|no-pie:} simply prevents an error message:
+/* %{static|no-pie|static-pie:} simply prevents an error message:
    1. If the target machine doesn't handle -static.
    2. If PIE isn't enabled by default.
+   3. If the target machine doesn't handle -static-pie.
  */
 /* We want %{T*} after %{L*} and %D so that it can be used to specify linker
    scripts which exist in user specified directories, or in standard
@@ -1029,11 +1037,10 @@
    "%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \
    "%X %{o*} %{e*} %{N} %{n} %{r}\
     %{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!nostartfiles:%S}} \
-    %{static|no-pie:} %{L*} %(mfwrap) %(link_libgcc) " \
+    %{static|no-pie|static-pie:} %{L*} %(mfwrap) %(link_libgcc) " \
     VTABLE_VERIFICATION_SPEC " " SANITIZER_EARLY_SPEC " %o " CHKP_SPEC " \
     %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\
        %:include(libgomp.spec)%(link_gomp)}\
-    %{fcilkplus:%:include(libcilkrts.spec)%(link_cilkrts)}\
     %{fgnu-tm:%:include(libitm.spec)%(link_itm)}\
     %(mflib) " STACK_SPLIT_SPEC "\
     %{fprofile-arcs|fprofile-generate*|coverage:-lgcov} " SANITIZER_SPEC " \
@@ -1110,7 +1117,7 @@
  %{MMD:-MMD %{!o:%b.d}%{o*:%.d%*}}\
  %{M} %{MM} %{MF*} %{MG} %{MP} %{MQ*} %{MT*}\
  %{!E:%{!M:%{!MM:%{!MT:%{!MQ:%{MD|MMD:%{o*:-MQ %*}}}}}}}\
- %{remap} %{g3|ggdb3|gstabs3|gcoff3|gxcoff3|gvms3:-dD}\
+ %{remap} %{g3|ggdb3|gstabs3|gxcoff3|gvms3:-dD}\
  %{!iplugindir*:%{fplugin*:%:find-plugindir()}}\
  %{H} %C %{D*&U*&A*} %{i*} %Z %i\
  %{E|M|MM:%W{o*}}";
@@ -1208,15 +1215,9 @@
 #define GTM_SELF_SPECS "%{fgnu-tm: -pthread}"
 #endif
 
-/* Likewise for -fcilkplus.  */
-#ifndef CILK_SELF_SPECS
-#define CILK_SELF_SPECS "%{fcilkplus: -pthread}"
-#endif
-
 static const char *const driver_self_specs[] = {
   "%{fdump-final-insns:-fdump-final-insns=.} %<fdump-final-insns",
-  DRIVER_SELF_SPECS, CONFIGURE_SPECS, GOMP_SELF_SPECS, GTM_SELF_SPECS,
-  CILK_SELF_SPECS
+  DRIVER_SELF_SPECS, CONFIGURE_SPECS, GOMP_SELF_SPECS, GTM_SELF_SPECS
 };
 
 #ifndef OPTION_DEFAULT_SPECS



Home | Main Index | Thread Index | Old Index