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/914b8a8ce753
branches: trunk
changeset: 459908:914b8a8ce753
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 469b914c42ac -r 914b8a8ce753 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 469b914c42ac -r 914b8a8ce753 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 469b914c42ac -r 914b8a8ce753 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