summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2011-04-28 17:49:49 +0100
committerJoseph Myers <jsm28@gcc.gnu.org>2011-04-28 17:49:49 +0100
commit6c0170eaf1ccd0a29f2f2b95320155716743af88 (patch)
tree696d5fb68e24baa2d4e19ce9830e278e9cda8808
parentfddf9ee7986cc4a2fbd6ac5f8c4507a345a50e5e (diff)
downloadgcc-6c0170eaf1ccd0a29f2f2b95320155716743af88.tar.gz
* 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
-rw-r--r--gcc/ChangeLog22
-rw-r--r--gcc/config.gcc18
-rw-r--r--gcc/config/gnu-user.h3
-rw-r--r--gcc/config/i386/gnu.h3
-rw-r--r--gcc/config/i386/kfreebsd-gnu.h2
-rw-r--r--gcc/config/i386/knetbsd-gnu.h2
-rw-r--r--gcc/config/i386/kopensolaris-gnu.h2
-rw-r--r--gcc/config/i386/linux-unwind.h21
-rw-r--r--gcc/config/i386/linux.h2
-rw-r--r--gcc/config/i386/linux64.h2
-rw-r--r--gcc/config/linux.h2
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 <joseph@codesourcery.com>
+
+ * 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 <jh@suse.cz>
* 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 <http://www.gnu.org/licenses/>.
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
<http://www.gnu.org/licenses/>. */
#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
<http://www.gnu.org/licenses/>. */
#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)