Commit 6c0170ea by Joseph Myers Committed by 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.

From-SVN: r173119
parent fddf9ee7
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> 2011-04-28 Jan Hubicka <jh@suse.cz>
* ipa-inline-analysis.c (will_be_nonconstant_predicate): Take nonconstant_names * ipa-inline-analysis.c (will_be_nonconstant_predicate): Take nonconstant_names
......
...@@ -565,8 +565,6 @@ case ${target} in ...@@ -565,8 +565,6 @@ case ${target} in
case $target in case $target in
*linux*) *linux*)
extra_options="$extra_options linux.opt";; extra_options="$extra_options linux.opt";;
*)
tm_defines="$tm_defines SINGLE_LIBC";;
esac esac
case $target in case $target in
*-*-*android*) *-*-*android*)
...@@ -1203,9 +1201,10 @@ i[34567]86-*-openbsd*) ...@@ -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) 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/* # Intel 80386's running GNU/*
# with ELF format using glibc 2 # 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 case ${target} in
i[34567]86-*-linux*) i[34567]86-*-linux*)
tm_file="${tm_file} linux.h"
# Assume modern glibc # Assume modern glibc
default_gnu_indirect_function=yes default_gnu_indirect_function=yes
if test x$enable_targets = xall; then 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 ...@@ -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" tm_file="${tm_file} i386/gnu-user.h i386/linux.h"
fi 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-*-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 i386/linux.h kfreebsd-gnu.h i386/kfreebsd-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 i386/linux.h kopensolaris-gnu.h i386/kopensolaris-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 i386/linux.h gnu.h i386/gnu.h";; i[34567]86-*-gnu*) tm_file="$tm_file i386/gnu-user.h gnu.h i386/gnu.h";;
esac esac
tmake_file="${tmake_file} i386/t-crtstuff i386/t-crtpc i386/t-crtfm t-dfprules" 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) 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 \ 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 i386/linux64.h" i386/x86-64.h i386/gnu-user64.h"
case ${target} in case ${target} in
x86_64-*-linux*) x86_64-*-linux*)
tm_file="${tm_file} linux.h i386/linux64.h"
default_gnu_indirect_function=glibc-2011 ;; default_gnu_indirect_function=glibc-2011 ;;
x86_64-*-kfreebsd*-gnu) tm_file="${tm_file} kfreebsd-gnu.h i386/kfreebsd-gnu.h" ;; 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" ;; x86_64-*-knetbsd*-gnu) tm_file="${tm_file} knetbsd-gnu.h" ;;
......
...@@ -95,3 +95,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ...@@ -95,3 +95,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#endif #endif
#define TARGET_POSIX_IO #define TARGET_POSIX_IO
#define TARGET_C99_FUNCTIONS 1
#define TARGET_HAS_SINCOS 1
...@@ -36,9 +36,6 @@ along with GCC. If not, see <http://www.gnu.org/licenses/>. ...@@ -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}" crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}"
#endif #endif
/* FIXME: Is a Hurd-specific fallback mechanism necessary? */
#undef MD_UNWIND_SUPPORT
#ifdef TARGET_LIBC_PROVIDES_SSP #ifdef TARGET_LIBC_PROVIDES_SSP
/* Not supported yet. */ /* Not supported yet. */
#undef TARGET_THREAD_SSP_OFFSET #undef TARGET_THREAD_SSP_OFFSET
......
...@@ -27,5 +27,3 @@ along with GCC; see the file COPYING3. If not see ...@@ -27,5 +27,3 @@ along with GCC; see the file COPYING3. If not see
#undef GNU_USER_DYNAMIC_LINKER64 #undef GNU_USER_DYNAMIC_LINKER64
#define GNU_USER_DYNAMIC_LINKER64 "/lib/ld-kfreebsd-x86-64.so.1" #define GNU_USER_DYNAMIC_LINKER64 "/lib/ld-kfreebsd-x86-64.so.1"
#undef MD_UNWIND_SUPPORT
...@@ -20,5 +20,3 @@ along with GCC; see the file COPYING3. If not see ...@@ -20,5 +20,3 @@ along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */ <http://www.gnu.org/licenses/>. */
#define GNU_USER_LINK_EMULATION "elf_i386" #define GNU_USER_LINK_EMULATION "elf_i386"
#undef MD_UNWIND_SUPPORT
...@@ -20,5 +20,3 @@ along with GCC; see the file COPYING3. If not see ...@@ -20,5 +20,3 @@ along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */ <http://www.gnu.org/licenses/>. */
#define GNU_USER_LINK_EMULATION "elf_i386" #define GNU_USER_LINK_EMULATION "elf_i386"
#undef MD_UNWIND_SUPPORT
/* DWARF2 EH unwinding support for AMD x86-64 and x86. /* 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. This file is part of GCC.
...@@ -146,28 +147,28 @@ x86_fallback_frame_state (struct _Unwind_Context *context, ...@@ -146,28 +147,28 @@ x86_fallback_frame_state (struct _Unwind_Context *context,
else else
return _URC_END_OF_STACK; 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_how = CFA_REG_OFFSET;
fs->regs.cfa_reg = 4; fs->regs.cfa_reg = 4;
fs->regs.cfa_offset = new_cfa - (long) context->cfa; fs->regs.cfa_offset = new_cfa - (long) context->cfa;
/* The SVR4 register numbering macros aren't usable in libgcc. */ /* The SVR4 register numbering macros aren't usable in libgcc. */
fs->regs.reg[0].how = REG_SAVED_OFFSET; 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].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].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].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].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].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].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].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->retaddr_column = 8;
fs->signal_frame = 1; fs->signal_frame = 1;
return _URC_NO_REASON; return _URC_NO_REASON;
......
...@@ -24,5 +24,3 @@ along with GCC; see the file COPYING3. If not see ...@@ -24,5 +24,3 @@ along with GCC; see the file COPYING3. If not see
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
#define MD_UNWIND_SUPPORT "config/i386/linux-unwind.h" #define MD_UNWIND_SUPPORT "config/i386/linux-unwind.h"
#define REG_NAME(reg) reg
...@@ -28,5 +28,3 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ...@@ -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 GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
#define MD_UNWIND_SUPPORT "config/i386/linux-unwind.h" #define MD_UNWIND_SUPPORT "config/i386/linux-unwind.h"
#define REG_NAME(reg) reg
...@@ -93,7 +93,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ...@@ -93,7 +93,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
/* Determine whether the entire c99 runtime /* Determine whether the entire c99 runtime
is present in the runtime library. */ is present in the runtime library. */
#undef TARGET_C99_FUNCTIONS
#define TARGET_C99_FUNCTIONS (OPTION_GLIBC) #define TARGET_C99_FUNCTIONS (OPTION_GLIBC)
/* Whether we have sincos that follows the GNU extension. */ /* Whether we have sincos that follows the GNU extension. */
#undef TARGET_HAS_SINCOS
#define TARGET_HAS_SINCOS (OPTION_GLIBC || OPTION_BIONIC) #define TARGET_HAS_SINCOS (OPTION_GLIBC || OPTION_BIONIC)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment