On 24/11/14 18:24 +0100, Tom de Vries wrote:
On 24-11-14 18:12, Jonathan Wakely wrote:
On 24/11/14 17:48 +0100, Tom de Vries wrote:
On 14-11-14 13:18, Jonathan Wakely wrote:
This adds system_error support to iostreams, including the required
base class changes to std::ios_base::failure. The abi_tag is used to
make it a distinct type.  This changes the type of I/O exceptions
thrown by the library but exceptions are very rarely used with
iostreams.

Tested powerpc64-linux and x86_64-linux


I'm running into this failure with a non-bootstrap build from trunk.

Is this on i686?


No, x86_64-unknown-linux-gnu.

I see them now too, but not always - I'm not sure why.

Anyway, this should fix it.


Could this be related?

Yes, definitely.

I was aware of the failures but hadn't been able to reproduce them.
With the info below I should be able to fix it, thanks.


Great :)

Thanks,
- Tom


2 incompatible symbols
0
_ZNSt8ios_base7failureB5cxx11C1ERKSsRKSt10error_code
std::ios_base::failure[abi:cxx11]::cxx11(std::string const&, std::error_code
const&)
version status: incompatible
GLIBCXX_3.4
type: function
status: added


1
_ZNSt8ios_base7failureB5cxx11C2ERKSsRKSt10error_code
std::ios_base::failure[abi:cxx11]::cxx11(std::string const&, std::error_code
const&)
version status: incompatible
GLIBCXX_3.4
type: function
status: added

commit a01cb5b1bfcab6e540ae3949b3ae6c258a47d0dd
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Sun Nov 30 01:36:18 2014 +0000

    	* config/abi/pre/gnu.ver: Fix ios_base::failure exports.

diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver
index 78f3e77..5176b29 100644
--- a/libstdc++-v3/config/abi/pre/gnu.ver
+++ b/libstdc++-v3/config/abi/pre/gnu.ver
@@ -85,7 +85,11 @@ GLIBCXX_3.4 {
       std::invalid_argument::i*;
 #     std::invalid_argument::~i*;
 #     std::ios_base::[A-Ha-z]*;
-      std::ios_base::[A-Ha-f]*;
+      std::ios_base::[A-Ha-e]*;
+      std::ios_base::failbit;
+#     std::ios_base::failure*;
+      std::ios_base::fixed;
+      std::ios_base::floatfield;
       std::ios_base::goodbit;
       std::ios_base::[h-z]*;
       std::ios_base::_M_grow_words*;
@@ -499,6 +503,11 @@ GLIBCXX_3.4 {
     _ZNSt8ios_baseD*;
     _ZNSt8ios_base4InitD*;
 
+    # std::ios_base::failure constructors, destructors, virtual function
+    _ZNSt8ios_base7failureC*;
+    _ZNSt8ios_base7failureD*;
+    _ZNKSt8ios_base7failure4whatEv;
+
     # bool std::has_facet
     _ZSt9has_facetIS*;
 

Reply via email to