From 6c0170eaf1ccd0a29f2f2b95320155716743af88 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Thu, 28 Apr 2011 17:49:49 +0100 Subject: [PATCH] * config.gcc (*-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu): Don't define SINGLE_LIBC. (i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu, x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu): Don't use linux*.h headers. * config/gnu-user.h (TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Define. * config/i386/gnu.h (MD_UNWIND_SUPPORT): Don't undefine. * config/i386/kfreebsd-gnu.h (MD_UNWIND_SUPPORT): Don't undefine. * config/i386/knetbsd-gnu.h (MD_UNWIND_SUPPORT): Don't undefine. * config/i386/kopensolaris-gnu.h (MD_UNWIND_SUPPORT): Don't undefine. * config/i386/linux-unwind.h (x86_fallback_frame_state): Don't use REG_NAME. * config/i386/linux.h (REG_NAME): Don't define. * config/i386/linux64.h (REG_NAME): Don't define. * config/linux.h (TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Undefine before defining. From-SVN: r173119 --- gcc/ChangeLog | 22 ++++++++++++++++++++++ gcc/config.gcc | 18 +++++++++--------- gcc/config/gnu-user.h | 3 +++ gcc/config/i386/gnu.h | 3 --- gcc/config/i386/kfreebsd-gnu.h | 2 -- gcc/config/i386/knetbsd-gnu.h | 2 -- gcc/config/i386/kopensolaris-gnu.h | 2 -- gcc/config/i386/linux-unwind.h | 21 +++++++++++---------- gcc/config/i386/linux.h | 2 -- gcc/config/i386/linux64.h | 2 -- gcc/config/linux.h | 2 ++ 11 files changed, 47 insertions(+), 32 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a6b0f0384ca..d50ad4ea28d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,25 @@ +2011-04-28 Joseph Myers + + * config.gcc (*-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* | + *-*-kopensolaris*-gnu): Don't define SINGLE_LIBC. + (i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | + i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu, + x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu): Don't use + linux*.h headers. + * config/gnu-user.h (TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): + Define. + * config/i386/gnu.h (MD_UNWIND_SUPPORT): Don't undefine. + * config/i386/kfreebsd-gnu.h (MD_UNWIND_SUPPORT): Don't undefine. + * config/i386/knetbsd-gnu.h (MD_UNWIND_SUPPORT): Don't undefine. + * config/i386/kopensolaris-gnu.h (MD_UNWIND_SUPPORT): Don't + undefine. + * config/i386/linux-unwind.h (x86_fallback_frame_state): Don't use + REG_NAME. + * config/i386/linux.h (REG_NAME): Don't define. + * config/i386/linux64.h (REG_NAME): Don't define. + * config/linux.h (TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): + Undefine before defining. + 2011-04-28 Jan Hubicka * ipa-inline-analysis.c (will_be_nonconstant_predicate): Take nonconstant_names diff --git a/gcc/config.gcc b/gcc/config.gcc index 7c318dea3a4..aa55bf6e73f 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -565,8 +565,6 @@ case ${target} in case $target in *linux*) extra_options="$extra_options linux.opt";; - *) - tm_defines="$tm_defines SINGLE_LIBC";; esac case $target in *-*-*android*) @@ -1203,9 +1201,10 @@ i[34567]86-*-openbsd*) i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu) # Intel 80386's running GNU/* # with ELF format using glibc 2 - tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h" + tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h glibc-stdint.h" case ${target} in i[34567]86-*-linux*) + tm_file="${tm_file} linux.h" # Assume modern glibc default_gnu_indirect_function=yes if test x$enable_targets = xall; then @@ -1232,18 +1231,19 @@ i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i tm_file="${tm_file} i386/gnu-user.h i386/linux.h" fi ;; - i[34567]86-*-knetbsd*-gnu) tm_file="${tm_file} i386/gnu-user.h i386/linux.h knetbsd-gnu.h i386/knetbsd-gnu.h" ;; - i[34567]86-*-kfreebsd*-gnu) tm_file="${tm_file} i386/gnu-user.h i386/linux.h kfreebsd-gnu.h i386/kfreebsd-gnu.h" ;; - i[34567]86-*-kopensolaris*-gnu) tm_file="${tm_file} i386/gnu-user.h i386/linux.h kopensolaris-gnu.h i386/kopensolaris-gnu.h" ;; - i[34567]86-*-gnu*) tm_file="$tm_file i386/gnu-user.h i386/linux.h gnu.h i386/gnu.h";; + i[34567]86-*-knetbsd*-gnu) tm_file="${tm_file} i386/gnu-user.h knetbsd-gnu.h i386/knetbsd-gnu.h" ;; + i[34567]86-*-kfreebsd*-gnu) tm_file="${tm_file} i386/gnu-user.h kfreebsd-gnu.h i386/kfreebsd-gnu.h" ;; + i[34567]86-*-kopensolaris*-gnu) tm_file="${tm_file} i386/gnu-user.h kopensolaris-gnu.h i386/kopensolaris-gnu.h" ;; + i[34567]86-*-gnu*) tm_file="$tm_file i386/gnu-user.h gnu.h i386/gnu.h";; esac tmake_file="${tmake_file} i386/t-crtstuff i386/t-crtpc i386/t-crtfm t-dfprules" ;; x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu) - tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h \ - i386/x86-64.h i386/gnu-user64.h i386/linux64.h" + tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h glibc-stdint.h \ + i386/x86-64.h i386/gnu-user64.h" case ${target} in x86_64-*-linux*) + tm_file="${tm_file} linux.h i386/linux64.h" default_gnu_indirect_function=glibc-2011 ;; x86_64-*-kfreebsd*-gnu) tm_file="${tm_file} kfreebsd-gnu.h i386/kfreebsd-gnu.h" ;; x86_64-*-knetbsd*-gnu) tm_file="${tm_file} knetbsd-gnu.h" ;; diff --git a/gcc/config/gnu-user.h b/gcc/config/gnu-user.h index 1c4e71d1bb4..cb457490e7a 100644 --- a/gcc/config/gnu-user.h +++ b/gcc/config/gnu-user.h @@ -95,3 +95,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #endif #define TARGET_POSIX_IO + +#define TARGET_C99_FUNCTIONS 1 +#define TARGET_HAS_SINCOS 1 diff --git a/gcc/config/i386/gnu.h b/gcc/config/i386/gnu.h index b8e86d49a3e..f2834f45ac3 100644 --- a/gcc/config/i386/gnu.h +++ b/gcc/config/i386/gnu.h @@ -36,9 +36,6 @@ along with GCC. If not, see . crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}" #endif -/* FIXME: Is a Hurd-specific fallback mechanism necessary? */ -#undef MD_UNWIND_SUPPORT - #ifdef TARGET_LIBC_PROVIDES_SSP /* Not supported yet. */ #undef TARGET_THREAD_SSP_OFFSET diff --git a/gcc/config/i386/kfreebsd-gnu.h b/gcc/config/i386/kfreebsd-gnu.h index ab9e4401dae..52ee09b0931 100644 --- a/gcc/config/i386/kfreebsd-gnu.h +++ b/gcc/config/i386/kfreebsd-gnu.h @@ -27,5 +27,3 @@ along with GCC; see the file COPYING3. If not see #undef GNU_USER_DYNAMIC_LINKER64 #define GNU_USER_DYNAMIC_LINKER64 "/lib/ld-kfreebsd-x86-64.so.1" - -#undef MD_UNWIND_SUPPORT diff --git a/gcc/config/i386/knetbsd-gnu.h b/gcc/config/i386/knetbsd-gnu.h index 1384a25cea4..a060018c45a 100644 --- a/gcc/config/i386/knetbsd-gnu.h +++ b/gcc/config/i386/knetbsd-gnu.h @@ -20,5 +20,3 @@ along with GCC; see the file COPYING3. If not see . */ #define GNU_USER_LINK_EMULATION "elf_i386" - -#undef MD_UNWIND_SUPPORT diff --git a/gcc/config/i386/kopensolaris-gnu.h b/gcc/config/i386/kopensolaris-gnu.h index ede30294984..98eadcea154 100644 --- a/gcc/config/i386/kopensolaris-gnu.h +++ b/gcc/config/i386/kopensolaris-gnu.h @@ -20,5 +20,3 @@ along with GCC; see the file COPYING3. If not see . */ #define GNU_USER_LINK_EMULATION "elf_i386" - -#undef MD_UNWIND_SUPPORT diff --git a/gcc/config/i386/linux-unwind.h b/gcc/config/i386/linux-unwind.h index c5f7ea0e873..de44823e053 100644 --- a/gcc/config/i386/linux-unwind.h +++ b/gcc/config/i386/linux-unwind.h @@ -1,5 +1,6 @@ /* DWARF2 EH unwinding support for AMD x86-64 and x86. - Copyright (C) 2004, 2005, 2006, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2004, 2005, 2006, 2009, 2010, 2011 + Free Software Foundation, Inc. This file is part of GCC. @@ -146,28 +147,28 @@ x86_fallback_frame_state (struct _Unwind_Context *context, else return _URC_END_OF_STACK; - new_cfa = sc->REG_NAME(esp); + new_cfa = sc->esp; fs->regs.cfa_how = CFA_REG_OFFSET; fs->regs.cfa_reg = 4; fs->regs.cfa_offset = new_cfa - (long) context->cfa; /* The SVR4 register numbering macros aren't usable in libgcc. */ fs->regs.reg[0].how = REG_SAVED_OFFSET; - fs->regs.reg[0].loc.offset = (long)&sc->REG_NAME(eax) - new_cfa; + fs->regs.reg[0].loc.offset = (long)&sc->eax - new_cfa; fs->regs.reg[3].how = REG_SAVED_OFFSET; - fs->regs.reg[3].loc.offset = (long)&sc->REG_NAME(ebx) - new_cfa; + fs->regs.reg[3].loc.offset = (long)&sc->ebx - new_cfa; fs->regs.reg[1].how = REG_SAVED_OFFSET; - fs->regs.reg[1].loc.offset = (long)&sc->REG_NAME(ecx) - new_cfa; + fs->regs.reg[1].loc.offset = (long)&sc->ecx - new_cfa; fs->regs.reg[2].how = REG_SAVED_OFFSET; - fs->regs.reg[2].loc.offset = (long)&sc->REG_NAME(edx) - new_cfa; + fs->regs.reg[2].loc.offset = (long)&sc->edx - new_cfa; fs->regs.reg[6].how = REG_SAVED_OFFSET; - fs->regs.reg[6].loc.offset = (long)&sc->REG_NAME(esi) - new_cfa; + fs->regs.reg[6].loc.offset = (long)&sc->esi - new_cfa; fs->regs.reg[7].how = REG_SAVED_OFFSET; - fs->regs.reg[7].loc.offset = (long)&sc->REG_NAME(edi) - new_cfa; + fs->regs.reg[7].loc.offset = (long)&sc->edi - new_cfa; fs->regs.reg[5].how = REG_SAVED_OFFSET; - fs->regs.reg[5].loc.offset = (long)&sc->REG_NAME(ebp) - new_cfa; + fs->regs.reg[5].loc.offset = (long)&sc->ebp - new_cfa; fs->regs.reg[8].how = REG_SAVED_OFFSET; - fs->regs.reg[8].loc.offset = (long)&sc->REG_NAME(eip) - new_cfa; + fs->regs.reg[8].loc.offset = (long)&sc->eip - new_cfa; fs->retaddr_column = 8; fs->signal_frame = 1; return _URC_NO_REASON; diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h index 292071f209d..833416d59a5 100644 --- a/gcc/config/i386/linux.h +++ b/gcc/config/i386/linux.h @@ -24,5 +24,3 @@ along with GCC; see the file COPYING3. If not see #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" #define MD_UNWIND_SUPPORT "config/i386/linux-unwind.h" - -#define REG_NAME(reg) reg diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h index 089ada75b9e..99d62496860 100644 --- a/gcc/config/i386/linux64.h +++ b/gcc/config/i386/linux64.h @@ -28,5 +28,3 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2" #define MD_UNWIND_SUPPORT "config/i386/linux-unwind.h" - -#define REG_NAME(reg) reg diff --git a/gcc/config/linux.h b/gcc/config/linux.h index 8eaa74eb6b7..fc897b189fc 100644 --- a/gcc/config/linux.h +++ b/gcc/config/linux.h @@ -93,7 +93,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see /* Determine whether the entire c99 runtime is present in the runtime library. */ +#undef TARGET_C99_FUNCTIONS #define TARGET_C99_FUNCTIONS (OPTION_GLIBC) /* Whether we have sincos that follows the GNU extension. */ +#undef TARGET_HAS_SINCOS #define TARGET_HAS_SINCOS (OPTION_GLIBC || OPTION_BIONIC) -- 2.30.2