aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoreager <eager@138bc75d-0d04-0410-961f-82ee72b054a4>2009-09-23 20:15:35 +0000
committereager <eager@138bc75d-0d04-0410-961f-82ee72b054a4>2009-09-23 20:15:35 +0000
commite213b437dd1de4158b272580f209f01b9103ecdb (patch)
tree6d8aab955d66e638ff2b28a2142747cf47d3d1ac
parentfc3dddb9d8388089f8a978b7db326805029ca59e (diff)
2009-09-23 Michael Eager <eager@eagercon.com>microblaze-4.1.2
* eh_term_handler.cc (_GLIBCXX_NO_VERBOSE_TERMINATE): Add. * configure.host (microblaze-*-*): Add cpu_defines_dir. * config/cpu/microblaze/cpu_defines.h: New, define _GLIBCXX_NO_VERBOSE_TERMINATE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/microblaze@152098 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--libstdc++-v3/ChangeLog7
-rw-r--r--libstdc++-v3/config/cpu/microblaze/cpu_defines.h37
-rw-r--r--libstdc++-v3/configure.host3
-rw-r--r--libstdc++-v3/libsupc++/eh_term_handler.cc4
4 files changed, 49 insertions, 2 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index fcaeadc6179..7d2f59804f4 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,10 @@
+2009-09-23 Michael Eager <eager@eagercon.com>
+
+ * eh_term_handler.cc (_GLIBCXX_NO_VERBOSE_TERMINATE): Add.
+ * configure.host (microblaze-*-*): Add cpu_defines_dir.
+ * config/cpu/microblaze/cpu_defines.h: New, define
+ _GLIBCXX_NO_VERBOSE_TERMINATE.
+
2007-02-13 Release Manager
* GCC 4.1.2 released.
diff --git a/libstdc++-v3/config/cpu/microblaze/cpu_defines.h b/libstdc++-v3/config/cpu/microblaze/cpu_defines.h
new file mode 100644
index 00000000000..f6a26b6a60f
--- /dev/null
+++ b/libstdc++-v3/config/cpu/microblaze/cpu_defines.h
@@ -0,0 +1,37 @@
+// Specific definitions for Xilinx MicroBlaze platforms -*- C++ -*-
+
+// Copyright (C) 2009 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library 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)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// 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 this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+#ifndef _GLIBCXX_CPU_DEFINES
+#define _GLIBCXX_CPU_DEFINES 1
+
+// Optimize memory size for embedded systems
+// -- Use abort for eh terminate
+#define _GLIBCXX_NO_VERBOSE_TERMINATE 1
+
+#endif
diff --git a/libstdc++-v3/configure.host b/libstdc++-v3/configure.host
index a0ddf0be215..80ee0332aa6 100644
--- a/libstdc++-v3/configure.host
+++ b/libstdc++-v3/configure.host
@@ -139,6 +139,9 @@ esac
# Set specific CPU overrides for cpu_defines_dir. Most can just use generic.
# THIS TABLE IS SORTED. KEEP IT THAT WAY.
case "${host_cpu}" in
+ microblaze*)
+ cpu_defines_dir=cpu/microblaze
+ ;;
powerpc* | rs6000)
cpu_defines_dir=cpu/powerpc
;;
diff --git a/libstdc++-v3/libsupc++/eh_term_handler.cc b/libstdc++-v3/libsupc++/eh_term_handler.cc
index 66025ed6a78..54e80b0e779 100644
--- a/libstdc++-v3/libsupc++/eh_term_handler.cc
+++ b/libstdc++-v3/libsupc++/eh_term_handler.cc
@@ -37,13 +37,13 @@
to "std::abort", and rebuilding the library. In a freestanding mode, we
default to this latter approach. */
-#if ! _GLIBCXX_HOSTED
+#if ! _GLIBCXX_HOSTED || defined(_GLIBCXX_NO_VERBOSE_TERMINATE)
# include <cstdlib>
#endif
/* The current installed user handler. */
std::terminate_handler __cxxabiv1::__terminate_handler =
-#if _GLIBCXX_HOSTED
+#if _GLIBCXX_HOSTED && ! defined(_GLIBCXX_NO_VERBOSE_TERMINATE)
__gnu_cxx::__verbose_terminate_handler;
#else
std::abort;