merge gcc 4.8.2 r206687 (part 3).

This commit is contained in:
mrg 2014-03-01 09:44:50 +00:00
parent 19d950f76d
commit 6ae4e21064
52 changed files with 217 additions and 179 deletions

View File

@ -154,6 +154,8 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
/usr/sbin/$sysctl 2>/dev/null || echo unknown)`
case "${UNAME_MACHINE_ARCH}" in
earm*eb*) machine=armeb-unknown ;;
earm*) machine=arm-unknown ;;
armeb) machine=armeb-unknown ;;
arm*) machine=arm-unknown ;;
coldfire) machine=m5407-unknown ;;

View File

@ -6235,8 +6235,12 @@ esac
if test $target_elf = yes; then :
# ELF platforms build the lto-plugin always.
build_lto_plugin=yes
case $target in
m68010-*)
build_lto_plugin=no;;
*)
build_lto_plugin=yes;;
esac
else
if test x"$default_enable_lto" = x"yes" ; then
case $target in

View File

@ -1679,7 +1679,12 @@ enable_lto=$enableval,
enable_lto=yes; default_enable_lto=yes)
ACX_ELF_TARGET_IFELSE([# ELF platforms build the lto-plugin always.
build_lto_plugin=yes
case $target in
m68010-*)
build_lto_plugin=no;;
*)
build_lto_plugin=yes;;
esac
],[if test x"$default_enable_lto" = x"yes" ; then
case $target in
*-apple-darwin9* | *-cygwin* | *-mingw*) ;;

View File

@ -271,6 +271,10 @@ case ${host} in
out_host_hook_obj=host-openbsd.o
host_xmake_file="${host_xmake_file} x-openbsd"
;;
*-*-netbsd*)
out_host_hook_obj=host-netbsd.o
host_xmake_file="${host_xmake_file} x-netbsd"
;;
ia64-*-hpux*)
use_long_long_for_widest_fast_int=yes
out_host_hook_obj=host-hpux.o

View File

@ -1067,6 +1067,12 @@ extern long alpha_auto_offset;
#define ASM_OUTPUT_SOURCE_FILENAME(STREAM, NAME) \
alpha_output_filename (STREAM, NAME)
#define ASM_OUTPUT_COMMON(FILE, NAME, SIZE, ROUNDED) \
( fputs (".comm ", (FILE)), \
assemble_name ((FILE), (NAME)), \
fprintf ((FILE), ",%u\n", (int)(ROUNDED)))
/* By default, turn on GDB extensions. */
#define DEFAULT_GDB_EXTENSIONS 1

View File

@ -57,6 +57,21 @@ along with GCC; see the file COPYING3. If not see
#define NETBSD_ENTRY_POINT "__start"
/* Provide a STARTFILE_SPEC appropriate for NetBSD. Here we add the
(even more) magical crtbegin.o file which provides part of the
support for getting C++ file-scope static object constructed
before entering `main'. */
#undef STARTFILE_SPEC
#ifdef HAVE_LD_PIE
#define STARTFILE_SPEC \
"%{!shared: %{pg|p:gcrt0.o%s;pie:Scrt0.o%s;:crt0.o%s}}\
crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}"
#else
#define STARTFILE_SPEC \
"%{!shared: %{pg|p:gcrt0.o%s;:crt0.o%s}}\
crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}"
#endif
/* Provide an ENDFILE_SPEC appropriate for NetBSD/alpha ELF. Here we
add crtend.o, which provides part of the support for getting

View File

@ -19,19 +19,9 @@
<http://www.gnu.org/licenses/>. */
/* Run-time Target Specification. */
#undef TARGET_VERSION
#define TARGET_VERSION fputs (" (NetBSD/earm ELF)", stderr);
#undef MULTILIB_DEFAULTS
#define MULTILIB_DEFAULTS { "mabi=aapcs-linux" }
#undef MUST_USE_SJLJ_EXCEPTIONS
#define MUST_USE_SJLJ_EXCEPTIONS (!TARGET_AAPCS_BASED)
#undef ARM_EABI_UNWIND_TABLES
#define ARM_EABI_UNWIND_TABLES \
((!USING_SJLJ_EXCEPTIONS && flag_exceptions) || flag_unwind_tables)
#define TARGET_LINKER_EABI_SUFFIX \
(TARGET_DEFAULT_FLOAT_ABI == ARM_FLOAT_ABI_SOFT \
? "%{!mabi=apcs-gnu:%{!mabi=atpcs:%{mfloat-abi=hard:_eabihf;:_eabi}}}" \

View File

@ -75,6 +75,8 @@ NetBSD_DISABLED_config_arm_arm-tune.md:
$(srcdir)/config/arm/arm-tables.opt: $(srcdir)/config/arm/genopt.sh \
$(srcdir)/config/arm/arm-cores.def $(srcdir)/config/arm/arm-arches.def \
$(srcdir)/config/arm/arm-fpus.def
@echo "NOT REBUILDING $@"
NetBSD_DISABLED_config_arm_arm-tables.opt:
$(SHELL) $(srcdir)/config/arm/genopt.sh $(srcdir)/config/arm > \
$(srcdir)/config/arm/arm-tables.opt

View File

@ -52,10 +52,3 @@ Boston, MA 02111-1307, USA. */
/* Attempt to enable execute permissions on the stack. */
#define TRANSFER_FROM_TRAMPOLINE NETBSD_ENABLE_EXECUTE_STACK
/* Make sure _enable_execute_stack() isn't the empty function in libgcc2.c.
It gets defined in _trampoline.o via NETBSD_ENABLE_EXECUTE_STACK. */
#undef ENABLE_EXECUTE_STACK
#define ENABLE_EXECUTE_STACK
#define TARGET_VERSION fprintf (stderr, " (NetBSD/ia64 ELF)");

View File

@ -1,5 +1,7 @@
$(srcdir)/config/m68k/m68k-tables.opt: $(srcdir)/config/m68k/genopt.sh \
$(srcdir)/config/m68k/m68k-devices.def $(srcdir)/config/m68k/m68k-isas.def \
$(srcdir)/config/m68k/m68k-microarchs.def
@echo "NOT REBUILDING $@"
NetBSD_DISABLED_m68k-tables.opt:
$(SHELL) $(srcdir)/config/m68k/genopt.sh $(srcdir)/config/m68k > \
$(srcdir)/config/m68k/m68k-tables.opt

View File

@ -6923,15 +6923,6 @@ mips_function_ok_for_sibcall (tree decl, tree exp ATTRIBUTE_UNUSED)
&& const_call_insn_operand (XEXP (DECL_RTL (decl), 0), VOIDmode))
return false;
/* Sibling calls should not prevent lazy binding. Lazy-binding stubs
require $gp to be valid on entry, so sibcalls can only use stubs
if $gp is call-clobbered. */
if (decl
&& TARGET_CALL_SAVED_GP
&& !TARGET_ABICALLS_PIC0
&& !targetm.binds_local_p (decl))
return false;
/* Otherwise OK. */
return true;
}

View File

@ -30,13 +30,6 @@ Boston, MA 02110-1301, USA. */
/* Define default target values. */
#undef MACHINE_TYPE
#if TARGET_ENDIAN_DEFAULT != 0
#define MACHINE_TYPE "NetBSD/mips64eb ELF"
#else
#define MACHINE_TYPE "NetBSD/mips64el ELF"
#endif
/* Provide a LINK_SPEC appropriate for a NetBSD/mips target.
This is a copy of LINK_SPEC from <netbsd-elf.h> tweaked for
the MIPS target. */

View File

@ -1,11 +1,11 @@
/* Definitions for PA_RISC with ELF format
Copyright 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
Copyright (C) 1999-2013 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
the Free Software Foundation; either version 3, or (at your option)
any later version.
GCC is distributed in the hope that it will be useful,
@ -14,16 +14,16 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
#undef TARGET_OS_CPP_BUILTINS
#define TARGET_OS_CPP_BUILTINS() \
do \
{ \
NETBSD_OS_CPP_BUILTINS_ELF(); \
NETBSD_OS_CPP_BUILTINS_ELF(); \
builtin_assert ("machine=bigendian"); \
} \
while (0)
@ -53,7 +53,7 @@ Boston, MA 02111-1307, USA. */
file which includes this one. */
#undef STRING_ASM_OP
#define STRING_ASM_OP "\t.stringz"
#define STRING_ASM_OP "\t.stringz\t"
#define TEXT_SECTION_ASM_OP "\t.text"
#define DATA_SECTION_ASM_OP "\t.data"
@ -94,7 +94,7 @@ Boston, MA 02111-1307, USA. */
/* Use the default. */
#undef ASM_OUTPUT_INTERNAL_LABEL
/* Use the default. */
#undef TARGET_ASM_GLOBALIZE_LABEL
/* Globalizing directive for a label. */
@ -121,7 +121,7 @@ Boston, MA 02111-1307, USA. */
do \
{ \
if (!FUNCTION_NAME_P (XSTR (FUN, 0))) \
hppa_encode_label (FUN); \
pa_encode_label (FUN); \
(*targetm.asm_out.globalize_label) (FILE, XSTR (FUN, 0)); \
} \
while (0)
@ -136,3 +136,13 @@ Boston, MA 02111-1307, USA. */
#undef PTRDIFF_TYPE
#define PTRDIFF_TYPE "long int"
#if 0
#undef TARGET_SYNC_LIBCALL
#define TARGET_SYNC_LIBCALL 1
#endif
#if 0
#undef TARGET_SYNC_LIBCALL
#define TARGET_SYNC_LIBCALL 1
#endif

View File

@ -1,14 +1 @@
#Plug millicode routines into libgcc.a We want these on both native and
#cross compiles. We use the "64-bit" routines because the "32-bit" code
#is broken for certain corner cases.
LIB1ASMFUNCS = _divI _divU _remI _remU _div_const _mulI _dyncall
LIB1ASMSRC = pa/milli64.S
# Compile libgcc2.a as PIC.
TARGET_LIBGCC2_CFLAGS = -fPIC -DELF=1 -DNETBSD=1
LIB2FUNCS_EXTRA=$(srcdir)/config/pa/fptr.c
# Compile crtbeginS.o and crtendS.o as PIC.
CRTSTUFF_T_CFLAGS_S = -fPIC
#MULTIARCH_DIRNAME = $(call if_multiarch,hppa-linux-gnu)

View File

@ -19,22 +19,6 @@
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
/* This defines which switch letters take arguments. On NetBSD, most
of the normal cases (defined by gcc.c) apply, and we also have -h*
and -z* options (for the linker) (coming from SVR4).
Copied from ../netbsd-elf.h and re{undef,defined} here to
override the powerpc sysv4.h definition.
netbsd-elf.h defines the default list + 'h' + 'z' + 'R'.
rs6000/sysv4.h defines the default list + 'G'. */
#undef SWITCH_TAKES_ARG
#define SWITCH_TAKES_ARG(CHAR) \
(DEFAULT_SWITCH_TAKES_ARG (CHAR) \
|| (CHAR) == 'h' \
|| (CHAR) == 'z' \
|| (CHAR) == 'R' \
|| (CHAR) == 'G')
#undef TARGET_OS_CPP_BUILTINS /* FIXME: sysv4.h should not define this! */
#define TARGET_OS_CPP_BUILTINS() \
do \
@ -119,10 +103,10 @@
{ "netbsd_endfile_spec", NETBSD_ENDFILE_SPEC },
/*
* Add NetBSD specific defaults: -mpowerpc -mnew_mnemonics -mstrict-align
* Add NetBSD specific defaults: -mstrict-align
*/
#undef TARGET_DEFAULT
#define TARGET_DEFAULT (MASK_POWERPC | MASK_NEW_MNEMONICS | MASK_STRICT_ALIGN)
#define TARGET_DEFAULT (MASK_STRICT_ALIGN)
/*
* We know we have the right binutils for this (we shouldn't need to do this
@ -134,17 +118,13 @@
#define HAVE_AS_TLS 1
/* Attempt to enable execute permissions on the stack. */
#define TRANSFER_FROM_TRAMPOLINE NETBSD_ENABLE_EXECUTE_STACK
//#define TRANSFER_FROM_TRAMPOLINE NETBSD_ENABLE_EXECUTE_STACK
// XXXMRG use enable-execute-stack-mprotect.c ?
#ifdef L_trampoline
#undef TRAMPOLINE_SIZE
#define TRAMPOLINE_SIZE 48
#endif
/* Make sure _enable_execute_stack() isn't the empty function in libgcc2.c.
It gets defined in _trampoline.o via NETBSD_ENABLE_EXECUTE_STACK. */
#undef ENABLE_EXECUTE_STACK
#define ENABLE_EXECUTE_STACK
/* Override STACK_BOUNDARY to use Altivec compliant one. */
#undef STACK_BOUNDARY
#define STACK_BOUNDARY 128

View File

@ -359,9 +359,6 @@ extern int dot_symbols;
? "\t.section\t\".got2\",\"aw\"" \
: "\t.section\t\".got1\",\"aw\""))
#undef TARGET_VERSION
#define TARGET_VERSION fprintf (stderr, " (PowerPC64 NetBSD)");
/* Make GCC agree with <machine/ansi.h>. */
#undef SIZE_TYPE

View File

@ -38,6 +38,8 @@ rs6000-c.o: $(srcdir)/config/rs6000/rs6000-c.c \
$(srcdir)/config/rs6000/rs6000-tables.opt: $(srcdir)/config/rs6000/genopt.sh \
$(srcdir)/config/rs6000/rs6000-cpus.def
@echo "NOT REBUILDING $@"
NetBSD_DISABLED_rs6000-tables.opt:
$(SHELL) $(srcdir)/config/rs6000/genopt.sh $(srcdir)/config/rs6000 > \
$(srcdir)/config/rs6000/rs6000-tables.opt

View File

@ -82,7 +82,6 @@ MULTILIB_OSDIRNAMES = \
m5-64media-nofpu=!m5-64media-nofpu $(OTHER_ENDIAN)/m5-64media-nofpu=!$(OTHER_ENDIAN)/m5-64media-nofpu
$(out_object_file): gt-sh.h
gt-sh.h : s-gtype ; @true
# Local Variables:
# mode: Makefile

View File

@ -185,10 +185,6 @@
"Memory reference for 'e' constraint floating-point register"
(and (match_code "mem")
(match_test "memory_ok_for_ldd (op)")))
(define_memory_constraint "w"
"A memory with only a base register"
(match_operand 0 "mem_noofs_operand"))
(define_memory_constraint "w"
"A memory with only a base register"

View File

@ -478,9 +478,6 @@
(and (match_code "mem")
(match_test "call_address_operand (XEXP (op, 0), mode)")))
(define_predicate "mem_noofs_operand"
(and (match_code "mem")
(match_code "reg" "0")))
(define_predicate "mem_noofs_operand"
(and (match_code "mem")

View File

@ -114,6 +114,6 @@
(define_constraint "T"
"@internal satisfies CONSTANT_P and, if pic is enabled, is not a SYMBOL_REF, LABEL_REF, or CONST."
(and (match_test "CONSTANT_P (op)")
(ior (not (match_code "const,symbol_ref,label_ref"))
(and (match_test ("CONSTANT_P (op)"))
(ior (not (match_code "symbol_ref,label_ref,const"))
(match_test "!flag_pic"))))

View File

@ -793,8 +793,9 @@
"(INTVAL (operands[1]) == 8 || INTVAL (operands[1]) == 16)
&& INTVAL (operands[2]) % INTVAL (operands[1]) == 0
&& (REG_P (operands[0])
|| ! mode_dependent_address_p (XEXP (operands[0], 0),
MEM_ADDR_SPACE (operands[0])))"
|| (MEM_P (operands[0])
&& ! mode_dependent_address_p (XEXP (operands[0], 0),
MEM_ADDR_SPACE (operands[0]))))"
"*
{
if (REG_P (operands[0]))
@ -822,8 +823,9 @@
"(INTVAL (operands[2]) == 8 || INTVAL (operands[2]) == 16)
&& INTVAL (operands[3]) % INTVAL (operands[2]) == 0
&& (REG_P (operands[1])
|| ! mode_dependent_address_p (XEXP (operands[1], 0),
MEM_ADDR_SPACE (operands[1])))"
|| (MEM_P (operands[1])
&& ! mode_dependent_address_p (XEXP (operands[1], 0),
MEM_ADDR_SPACE (operands[1]))))"
"*
{
if (REG_P (operands[1]))
@ -850,8 +852,9 @@
"(INTVAL (operands[2]) == 8 || INTVAL (operands[2]) == 16)
&& INTVAL (operands[3]) % INTVAL (operands[2]) == 0
&& (REG_P (operands[1])
|| ! mode_dependent_address_p (XEXP (operands[1], 0),
MEM_ADDR_SPACE (operands[1])))"
|| (MEM_P (operands[1])
&& ! mode_dependent_address_p (XEXP (operands[1], 0),
MEM_ADDR_SPACE (operands[1]))))"
"*
{
if (REG_P (operands[1]))

View File

@ -56,8 +56,12 @@ const struct default_include cpp_include_defaults[]
GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 },
#endif
#ifdef GCC_INCLUDE_DIR
#ifndef GCC_INCLUDE_DIR_ADD_SYSROOT
#define GCC_INCLUDE_DIR_ADD_SYSROOT 0
#endif
/* This is the dir for gcc's private headers. */
{ GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 },
{ GCC_INCLUDE_DIR, "GCC", 0, 0,
GCC_INCLUDE_DIR_ADD_SYSROOT, 0 },
#endif
#ifdef LOCAL_INCLUDE_DIR
/* /usr/local/include comes before the fixincluded header files. */

View File

@ -666,6 +666,8 @@ gt_pch_restore (FILE *f)
size_t i;
struct mmap_info mmi;
int result;
struct line_maps * old_line_table = line_table;
location_t old_input_loc = input_location;
/* Delete any deletable objects. This makes ggc_pch_read much
faster, as it can be sure that no GCable objects remain other
@ -677,39 +679,60 @@ gt_pch_restore (FILE *f)
/* Read in all the scalar variables. */
for (rt = gt_pch_scalar_rtab; *rt; rt++)
for (rti = *rt; rti->base != NULL; rti++)
if (fread (rti->base, rti->stride, 1, f) != 1)
if (fread (rti->base, rti->stride, 1, f) != 1) {
line_table = old_line_table;
input_location = old_input_loc;
fatal_error ("can%'t read PCH file: %m");
}
/* Read in all the global pointers, in 6 easy loops. */
for (rt = gt_ggc_rtab; *rt; rt++)
for (rti = *rt; rti->base != NULL; rti++)
for (i = 0; i < rti->nelt; i++)
if (fread ((char *)rti->base + rti->stride * i,
sizeof (void *), 1, f) != 1)
sizeof (void *), 1, f) != 1) {
line_table = old_line_table;
input_location = old_input_loc;
fatal_error ("can%'t read PCH file: %m");
}
for (rt = gt_pch_cache_rtab; *rt; rt++)
for (rti = *rt; rti->base != NULL; rti++)
for (i = 0; i < rti->nelt; i++)
if (fread ((char *)rti->base + rti->stride * i,
sizeof (void *), 1, f) != 1)
sizeof (void *), 1, f) != 1) {
line_table = old_line_table;
input_location = old_input_loc;
fatal_error ("can%'t read PCH file: %m");
}
if (fread (&mmi, sizeof (mmi), 1, f) != 1)
if (fread (&mmi, sizeof (mmi), 1, f) != 1) {
line_table = old_line_table;
input_location = old_input_loc;
fatal_error ("can%'t read PCH file: %m");
}
result = host_hooks.gt_pch_use_address (mmi.preferred_base, mmi.size,
fileno (f), mmi.offset);
if (result < 0)
if (result < 0) {
line_table = old_line_table;
input_location = old_input_loc;
fatal_error ("had to relocate PCH");
}
if (result == 0)
{
if (fseek (f, mmi.offset, SEEK_SET) != 0
|| fread (mmi.preferred_base, mmi.size, 1, f) != 1)
|| fread (mmi.preferred_base, mmi.size, 1, f) != 1) {
line_table = old_line_table;
input_location = old_input_loc;
fatal_error ("can%'t read PCH file: %m");
}
}
else if (fseek (f, mmi.offset + mmi.size, SEEK_SET) != 0)
else if (fseek (f, mmi.offset + mmi.size, SEEK_SET) != 0) {
line_table = old_line_table;
input_location = old_input_loc;
fatal_error ("can%'t read PCH file: %m");
}
ggc_pch_read (f, mmi.preferred_base);

View File

@ -117,7 +117,7 @@ extern void output_addr_const (FILE *, rtx);
/* Output a string of assembler code, substituting numbers, strings
and fixed syntactic prefixes. */
#if GCC_VERSION >= 3004 && !defined(__clang__)
#if GCC_VERSION >= 3004
#define ATTRIBUTE_ASM_FPRINTF(m, n) __attribute__ ((__format__ (__asm_fprintf__, m, n))) ATTRIBUTE_NONNULL(m)
#else
#define ATTRIBUTE_ASM_FPRINTF(m, n) ATTRIBUTE_NONNULL(m)

View File

@ -201,9 +201,11 @@ extern int fprintf_unlocked (FILE *, const char *, ...);
extern int errno;
#endif
#ifndef GENERATOR_FILE
#ifdef __cplusplus
# include <cstring>
#endif
#endif
/* Some of glibc's string inlines cause warnings. Plus we'd rather
rely on (and therefore test) GCC's string builtins. */

View File

@ -2529,3 +2529,37 @@ struct gimple_opt_pass pass_fold_builtins =
| TODO_update_ssa /* todo_flags_finish */
}
};
#if defined(__NetBSD__) && defined(NETBSD_NATIVE)
/*
* This is a big, ugly, temporary hack:
* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59958
* To make sure we have configured all our targets correctly, mimic the
* #ifdef cascade from src/lib/libc/stdlib/jemalloc.c here and compile
* time assert that the value matches gcc's MALLOC_ABI_ALIGNMENT here.
*/
#if defined(__alpha__) || defined(__amd64__) || defined(__sparc64__) \
|| (defined(__arm__) && defined(__ARM_EABI)) || defined(__powerpc__)
#define JEMALLOC_TINY_MIN_2POW 3
#endif
#ifndef JEMALLOC_TINY_MIN_2POW
#define JEMALLOC_TINY_MIN_2POW 2
#endif
/* make sure we test the (native) 64bit variant for targets supporting -m32 */
#undef TARGET_64BIT
#ifdef _LP64
#define TARGET_64BIT 1
#else
#define TARGET_64BIT 0
#endif
#ifdef __CTASSERT
__CTASSERT((8<<JEMALLOC_TINY_MIN_2POW) == MALLOC_ABI_ALIGNMENT);
#else
#error compiling on an older NetBSD version?
#endif
#endif

View File

@ -7152,9 +7152,7 @@ fi
case $target in
aarch64*-*-* | \
alpha*-*-* | \
arm*-*-*eabi* | \
arm*-*-rtems* | \
arm*-*-symbianelf* | \
arm*-*-* | \
x86_64-*-* | \
ia64-*-* | \
hppa*64*-*-* | \

View File

@ -184,9 +184,7 @@ m4_changequote(,)
case $target in
aarch64*-*-* | \
alpha*-*-* | \
arm*-*-*eabi* | \
arm*-*-rtems* | \
arm*-*-symbianelf* | \
arm*-*-* | \
x86_64-*-* | \
ia64-*-* | \
hppa*64*-*-* | \

View File

@ -223,7 +223,7 @@ open_file (_cpp_file *file)
{
const char *cpp_restricted;
GET_ENVIRONMENT(cpp_restricted, "CPP_RESTRICTED");
cpp_restricted = getenv ("CPP_RESTRICTED");
if (file->path[0] == '\0')
{

View File

@ -204,7 +204,7 @@ case ${host} in
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
;;
*-*-netbsd*)
tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver"
tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver"
# NetBSD 1.7 and later are set up to use GCC's crtstuff for
# ELF configurations. We will clear extra_parts in the
# a.out configurations.
@ -320,7 +320,16 @@ arm-wrs-vxworks)
extra_parts="$extra_parts crti.o crtn.o"
;;
arm*-*-netbsdelf*)
tmake_file="$tmake_file arm/t-arm arm/t-netbsd t-slibgcc-gld-nover"
tmake_file="$tmake_file arm/t-arm"
case ${host} in
arm*-*-netbsdelf-*eabi*)
tmake_file="${tmake_file} arm/t-netbsd-eabi"
unwind_header=config/arm/unwind-arm.h
;;
*)
tmake_file="${tmake_file} arm/t-netbsd t-slibgcc-gld-nover"
;;
esac
;;
arm*-*-linux*) # ARM GNU/Linux with ELF
tmake_file="${tmake_file} arm/t-arm t-fixedpoint-gnu-prefix"
@ -486,6 +495,7 @@ hppa*-*-openbsd*)
tmake_file="$tmake_file pa/t-openbsd"
;;
hppa*-*-netbsd*)
tmake_file="$tmake_file pa/t-netbsd"
;;
i[34567]86-*-darwin*)
tmake_file="$tmake_file i386/t-crtpc i386/t-crtfm"
@ -686,7 +696,8 @@ m32rle-*-linux*)
m68k-*-elf* | fido-*-elf)
tmake_file="$tmake_file m68k/t-floatlib"
;;
m68k*-*-netbsdelf*)
m68k*-*-netbsdelf* | m5407-*-netbsdelf* | m68010-*-netbsdelf*)
tmake_file="$tmake_file m68k/t-floatlib"
;;
m68k*-*-openbsd*)
;;

View File

@ -1,7 +1,18 @@
# This list is from t-elf, but with some things removed.
LIB1ASMFUNCS += _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func \
_call_via_rX _interwork_call_via_rX \
_arm_fixunsdfsi _arm_fixunssfsi \
_arm_floatdidf _arm_floatdisf _arm_floatundidf _arm_floatundisf \
_lshrdi3 _ashrdi3 _ashldi3 \
_clzsi2 _clzdi2 _ctzsi2
# Just for these, we omit the frame pointer since it makes such a big
# difference. It is then pointless adding debugging.
HOST_LIBGCC2_CFLAGS += -fomit-frame-pointer
LIBGCC2_DEBUG_CFLAGS = -g0
LIB2ADD += $(srcdir)/floatunsidf.c $(srcdir)/floatunsisf.c
# Currently there is a bug somewhere in GCC's alias analysis
# or scheduling code that is breaking _fpmul_parts in fp-bit.c.
# Disabling function inlining is a workaround for this problem.
HOST_LIBGCC2_CFLAGS += -fno-inline

View File

@ -395,6 +395,7 @@ double __extendsfdf2 (float);
float __truncdfsf2 (double);
long __fixdfsi (double);
long __fixsfsi (float);
long __cmpdf2 (double, double);
int
__unordxf2(long double a, long double b)

View File

@ -32,7 +32,7 @@
#include "tconfig.h"
#include "tsystem.h"
#if !defined(inhibit_libc) && !defined(__OpenBSD__)
#if !defined(inhibit_libc) && defined(__GLIBC__)
#include <elf.h> /* Get DT_CONFIG. */
#endif
#include "coretypes.h"
@ -63,6 +63,12 @@
# define USE_PT_GNU_EH_FRAME
#endif
#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \
&& defined(__NetBSD__)
# define ElfW(type) Elf_##type
# define USE_PT_GNU_EH_FRAME
#endif
#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \
&& defined(__OpenBSD__)
# define ElfW(type) Elf_##type

View File

@ -1,7 +1,7 @@
## Process this file with automake to produce Makefile.in
ACLOCAL_AMFLAGS = -I .. -I ../config
SUBDIRS = testsuite
SUBDIRS =
## May be used by toolexeclibdir.
gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)

View File

@ -288,7 +288,7 @@ top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
ACLOCAL_AMFLAGS = -I .. -I ../config
SUBDIRS = testsuite
SUBDIRS =
gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
search_path = $(addprefix $(top_srcdir)/config/, $(config_path)) $(top_srcdir)
fincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/finclude

View File

@ -16262,7 +16262,7 @@ CFLAGS="$save_CFLAGS"
ac_config_files="$ac_config_files omp.h omp_lib.h omp_lib.f90 libgomp_f.h"
ac_config_files="$ac_config_files Makefile testsuite/Makefile libgomp.spec"
ac_config_files="$ac_config_files Makefile libgomp.spec"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
@ -17402,7 +17402,6 @@ do
"omp_lib.f90") CONFIG_FILES="$CONFIG_FILES omp_lib.f90" ;;
"libgomp_f.h") CONFIG_FILES="$CONFIG_FILES libgomp_f.h" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;;
"libgomp.spec") CONFIG_FILES="$CONFIG_FILES libgomp.spec" ;;
*) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;

View File

@ -346,5 +346,5 @@ AC_SUBST(OMP_NEST_LOCK_25_KIND)
CFLAGS="$save_CFLAGS"
AC_CONFIG_FILES(omp.h omp_lib.h omp_lib.f90 libgomp_f.h)
AC_CONFIG_FILES(Makefile testsuite/Makefile libgomp.spec)
AC_CONFIG_FILES(Makefile libgomp.spec)
AC_OUTPUT

View File

@ -98,8 +98,6 @@ FLAGS_TO_PASS = \
"tooldir=$(tooldir)"
# Subdirectories to recurse into. We need to override this during cleaning
SUBDIRS = testsuite
# NetBSD override -- we delete the testsuite
SUBDIRS =
# FIXME: add @BUILD_INFO@ once we're sure it works for everyone.
@ -446,7 +444,6 @@ distclean: distclean-subdir
@$(MULTICLEAN) multi-clean DO=distclean
-rm -f *~ Makefile config.cache config.status xhost-mkfrag TAGS multilib.out
-rm -f config.log
-rmdir testsuite 2>/dev/null
maintainer-clean realclean: maintainer-clean-subdir
$(MAKE) SUBDIRS="" distclean

View File

@ -1,7 +1,7 @@
## Process this file with automake to produce Makefile.in
ACLOCAL_AMFLAGS = -I .. -I ../config
SUBDIRS = testsuite
SUBDIRS =
## May be used by toolexeclibdir.
gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)

View File

@ -302,7 +302,7 @@ top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
ACLOCAL_AMFLAGS = -I .. -I ../config
SUBDIRS = testsuite
SUBDIRS =
gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
abi_version = -fabi-version=4
search_path = $(addprefix $(top_srcdir)/config/, $(config_path)) $(top_srcdir)

View File

@ -17589,7 +17589,7 @@ else
fi
ac_config_files="$ac_config_files Makefile testsuite/Makefile libitm.spec"
ac_config_files="$ac_config_files Makefile libitm.spec"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
@ -18750,7 +18750,6 @@ do
"libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
"gstdint.h") CONFIG_COMMANDS="$CONFIG_COMMANDS gstdint.h" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;;
"libitm.spec") CONFIG_FILES="$CONFIG_FILES libitm.spec" ;;
*) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;

View File

@ -286,5 +286,5 @@ AM_CONDITIONAL([ARCH_X86], [test "$ARCH" = x86])
AM_CONDITIONAL([ARCH_X86_AVX], [test "$libitm_cv_as_avx" = yes])
AM_CONDITIONAL([ARCH_FUTEX], [test $enable_linux_futex = yes])
AC_CONFIG_FILES(Makefile testsuite/Makefile libitm.spec)
AC_CONFIG_FILES(Makefile libitm.spec)
AC_OUTPUT

View File

@ -6,7 +6,7 @@
AUTOMAKE_OPTIONS = 1.8 foreign
ACLOCAL_AMFLAGS = -I .. -I ../config
MAINT_CHARSET = latin1
SUBDIRS = testsuite
SUBDIRS =
# May be used by various substitution variables.
gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)

View File

@ -261,7 +261,7 @@ top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = 1.8 foreign
ACLOCAL_AMFLAGS = -I .. -I ../config
MAINT_CHARSET = latin1
SUBDIRS = testsuite
SUBDIRS =
# May be used by various substitution variables.
gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)

View File

@ -11681,7 +11681,7 @@ $as_echo "#define USE_EMUTLS 1" >>confdefs.h
fi
ac_config_files="$ac_config_files Makefile testsuite/Makefile testsuite/mfconfig.exp"
ac_config_files="$ac_config_files Makefile"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
@ -12676,8 +12676,6 @@ do
"depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
"libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;;
"testsuite/mfconfig.exp") CONFIG_FILES="$CONFIG_FILES testsuite/mfconfig.exp" ;;
*) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
esac

View File

@ -266,5 +266,5 @@ fi
GCC_CHECK_TLS
GCC_CHECK_EMUTLS
AC_CONFIG_FILES([Makefile testsuite/Makefile testsuite/mfconfig.exp])
AC_CONFIG_FILES([Makefile])
AC_OUTPUT

View File

@ -23,7 +23,7 @@
include $(top_srcdir)/fragment.am
if GLIBCXX_HOSTED
hosted_source = src doc po testsuite
hosted_source = src doc po
endif
## Keep this list sync'd with acinclude.m4:GLIBCXX_CONFIGURE.
@ -33,8 +33,8 @@ SUBDIRS = include libsupc++ $(hosted_source) python
ACLOCAL_AMFLAGS = -I . -I .. -I ../config
# Testsuite/check forwarding targets.
check-%:
cd testsuite && $(MAKE) $@
#check-%:
# cd testsuite && $(MAKE) $@
# Documentation forwarding targets.
doc-%:

View File

@ -94,7 +94,7 @@ AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = include libsupc++ src doc po testsuite python
DIST_SUBDIRS = include libsupc++ src doc po python
ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@
ACLOCAL = @ACLOCAL@
ALLOCATOR_H = @ALLOCATOR_H@
@ -311,7 +311,7 @@ WARN_CXXFLAGS = \
# -I/-D flags to pass when compiling.
AM_CPPFLAGS = $(GLIBCXX_INCLUDES)
@GLIBCXX_HOSTED_TRUE@hosted_source = src doc po testsuite
@GLIBCXX_HOSTED_TRUE@hosted_source = src doc po
SUBDIRS = include libsupc++ $(hosted_source) python
ACLOCAL_AMFLAGS = -I . -I .. -I ../config
@BUILD_XML_FALSE@STAMP_XML =
@ -669,8 +669,8 @@ uninstall-am:
# Testsuite/check forwarding targets.
check-%:
cd testsuite && $(MAKE) $@
#check-%:
# cd testsuite && $(MAKE) $@
# Documentation forwarding targets.
doc-%:

View File

@ -38,11 +38,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// Information as gleaned from /usr/include/ctype.h
extern "C" const u_int8_t _C_ctype_[];
const ctype_base::mask*
ctype<char>::classic_table() throw()
{ return _C_ctype_ + 1; }
{ return _C_ctype_tab_ + 1; }
ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
size_t __refs)
@ -69,14 +67,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
char
ctype<char>::do_toupper(char __c) const
{ return ::toupper((int) __c); }
{ return ::toupper((int)(unsigned char) __c); }
const char*
ctype<char>::do_toupper(char* __low, const char* __high) const
{
while (__low < __high)
{
*__low = ::toupper((int) *__low);
*__low = ::toupper((int)(unsigned char) *__low);
++__low;
}
return __high;
@ -84,14 +82,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
char
ctype<char>::do_tolower(char __c) const
{ return ::tolower((int) __c); }
{ return ::tolower((int)(unsigned char) __c); }
const char*
ctype<char>::do_tolower(char* __low, const char* __high) const
{
while (__low < __high)
{
*__low = ::tolower((int) *__low);
*__low = ::tolower((int)(unsigned char) *__low);
++__low;
}
return __high;

View File

@ -4877,7 +4877,7 @@ $as_echo "$ac_cv_path_EGREP" >&6; }
# expandable list at autoconf time; the second provides an expandable list
# (i.e., shell variable) at configure time.
SUBDIRS='include libsupc++ python src src/c++98 src/c++11 doc po testsuite'
SUBDIRS='include libsupc++ python src src/c++98 src/c++11 doc po'
# These need to be absolute paths, yet at the same time need to
# canonicalize only relative paths, because then amd will not unmount
@ -73187,7 +73187,7 @@ ac_config_files="$ac_config_files doc/xsl/customization.xsl"
# append it here. Only modify Makefiles that have just been created.
#
# Also, get rid of this simulated-VPATH thing that automake does.
ac_config_files="$ac_config_files include/Makefile libsupc++/Makefile python/Makefile src/Makefile src/c++98/Makefile src/c++11/Makefile doc/Makefile po/Makefile testsuite/Makefile"
ac_config_files="$ac_config_files include/Makefile libsupc++/Makefile python/Makefile src/Makefile src/c++98/Makefile src/c++11/Makefile doc/Makefile po/Makefile"
ac_config_commands="$ac_config_commands generate-headers"
@ -74394,7 +74394,6 @@ do
"src/c++11/Makefile") CONFIG_FILES="$CONFIG_FILES src/c++11/Makefile" ;;
"doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
"po/Makefile") CONFIG_FILES="$CONFIG_FILES po/Makefile" ;;
"testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;;
"generate-headers") CONFIG_COMMANDS="$CONFIG_COMMANDS generate-headers" ;;
*) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
@ -76251,17 +76250,6 @@ _EOF
;;
"po/Makefile":F) cat > vpsed$$ << \_EOF
s!`test -f '$<' || echo '$(srcdir)/'`!!
_EOF
sed -f vpsed$$ $ac_file > tmp$$
mv tmp$$ $ac_file
rm vpsed$$
echo 'MULTISUBDIR =' >> $ac_file
ml_norecursion=yes
. ${multi_basedir}/config-ml.in
{ ml_norecursion=; unset ml_norecursion;}
;;
"testsuite/Makefile":F) cat > vpsed$$ << \_EOF
s!`test -f '$<' || echo '$(srcdir)/'`!!
_EOF
sed -f vpsed$$ $ac_file > tmp$$
mv tmp$$ $ac_file

View File

@ -93,12 +93,7 @@ __cxa_type_match(_Unwind_Exception* ue_header,
}
// ABI defined routine called at the start of a cleanup handler.
extern "C"
#ifdef __ARM_EABI_UNWINDER__
void
#else
bool
#endif
extern "C" bool
__cxa_begin_cleanup(_Unwind_Exception* ue_header)
{
__cxa_eh_globals *globals = __cxa_get_globals();
@ -127,9 +122,7 @@ __cxa_begin_cleanup(_Unwind_Exception* ue_header)
globals->propagatingExceptions = header;
}
#ifndef __ARM_EABI_UNWINDER__
return true;
#endif
}
// Do the work for __cxa_end_cleanup. Returns the currently propagating