Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.

2016-01-21 Thread Torvald Riegel
On Thu, 2016-01-21 at 11:00 +0100, Dominique d'Humières wrote: > Torvald, > > Now that I can bootstrap on darwin, I have found the following failure for > libitm.c++/libstdc++-safeexc.C > > /opt/gcc/work/libitm/testsuite/libitm.c++/libstdc++-safeexc.C:50:2: error: > unsafe function call

Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.

2016-01-21 Thread Dominique d'Humières
Torvald, Now that I can bootstrap on darwin, I have found the following failure for libitm.c++/libstdc++-safeexc.C /opt/gcc/work/libitm/testsuite/libitm.c++/libstdc++-safeexc.C:50:2: error: unsafe function call 'std::underflow_error::underflow_error(const string&)' within atomic transaction

Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.

2016-01-21 Thread Torvald Riegel
On Thu, 2016-01-21 at 11:00 +0100, Dominique d'Humières wrote: > Torvald, > > Now that I can bootstrap on darwin, I have found the following failure for > libitm.c++/libstdc++-safeexc.C > > /opt/gcc/work/libitm/testsuite/libitm.c++/libstdc++-safeexc.C:50:2: error: > unsafe function call

Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.

2016-01-21 Thread Dominique d'Humières
> Le 21 janv. 2016 à 16:25, Torvald Riegel a écrit : > > On Thu, 2016-01-21 at 11:00 +0100, Dominique d'Humières wrote: >> Torvald, >> >> Now that I can bootstrap on darwin, I have found the following failure for >> libitm.c++/libstdc++-safeexc.C >> >>

Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.

2016-01-21 Thread Dominique d'Humières
> Le 21 janv. 2016 à 18:15, Dominique d'Humières a écrit : > > >> Le 21 janv. 2016 à 16:25, Torvald Riegel a écrit : >> >> On Thu, 2016-01-21 at 11:00 +0100, Dominique d'Humières wrote: >>> Torvald, >>> >>> Now that I can bootstrap on darwin, I have

Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.

2016-01-21 Thread Pedro Alves
On 01/21/2016 06:06 PM, Mike Stump wrote: > On Jan 21, 2016, at 9:29 AM, Dominique d'Humières wrote: >> // { dg-do run { target { ! { *-*-darwin* powerpc-ibm-aix* } } } } > > A comment to hint that this has something to do with weak undefined would be > nice. > Or come up

Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.

2016-01-21 Thread Mike Stump
On Jan 21, 2016, at 9:29 AM, Dominique d'Humières wrote: > // { dg-do run { target { ! { *-*-darwin* powerpc-ibm-aix* } } } } A comment to hint that this has something to do with weak undefined would be nice.

Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.

2016-01-21 Thread Torvald Riegel
On Thu, 2016-01-21 at 18:12 +, Pedro Alves wrote: > On 01/21/2016 06:06 PM, Mike Stump wrote: > > On Jan 21, 2016, at 9:29 AM, Dominique d'Humières > > wrote: > >> // { dg-do run { target { ! { *-*-darwin* powerpc-ibm-aix* } } } } > > > > A comment to hint that this has

Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.

2016-01-19 Thread Jonathan Wakely
On 19/01/16 20:10 +0100, Torvald Riegel wrote: On Sat, 2016-01-16 at 10:57 +0100, Dominique d'Humières wrote: > Addressed these, fixed a problem with using GLIBCXX_WEAK_DEFINITION > (which is only set on Darwin despite the generic-sounding name -- so > just use __attribute__((weak)) directly),

Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.

2016-01-19 Thread Torvald Riegel
On Sat, 2016-01-16 at 10:57 +0100, Dominique d'Humières wrote: > > Addressed these, fixed a problem with using GLIBCXX_WEAK_DEFINITION > > (which is only set on Darwin despite the generic-sounding name -- so > > just use __attribute__((weak)) directly), and also updated > > testsuite_abi.cc so

Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.

2016-01-18 Thread Torvald Riegel
On Sun, 2016-01-17 at 18:30 -0500, David Edelsohn wrote: > On Sun, Jan 17, 2016 at 3:21 PM, Torvald Riegel wrote: > > On Sat, 2016-01-16 at 15:38 -0500, David Edelsohn wrote: > >> On Sat, Jan 16, 2016 at 8:35 AM, Jakub Jelinek wrote: > >> > On Sat, Jan 16,

Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.

2016-01-18 Thread Torvald Riegel
On Mon, 2016-01-18 at 14:54 +0100, Torvald Riegel wrote: > On Sun, 2016-01-17 at 18:30 -0500, David Edelsohn wrote: > > On Sun, Jan 17, 2016 at 3:21 PM, Torvald Riegel wrote: > > > On Sat, 2016-01-16 at 15:38 -0500, David Edelsohn wrote: > > >> On Sat, Jan 16, 2016 at 8:35 AM,

Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.

2016-01-18 Thread Jonathan Wakely
On 18/01/16 17:30 +0100, Torvald Riegel wrote: On Mon, 2016-01-18 at 14:54 +0100, Torvald Riegel wrote: On Sun, 2016-01-17 at 18:30 -0500, David Edelsohn wrote: > On Sun, Jan 17, 2016 at 3:21 PM, Torvald Riegel wrote: > > On Sat, 2016-01-16 at 15:38 -0500, David Edelsohn

Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.

2016-01-17 Thread Torvald Riegel
On Sat, 2016-01-16 at 15:38 -0500, David Edelsohn wrote: > On Sat, Jan 16, 2016 at 8:35 AM, Jakub Jelinek wrote: > > On Sat, Jan 16, 2016 at 07:47:33AM -0500, David Edelsohn wrote: > >> stage1 libstdc++ builds just fine. the problem is stage2 configure > >> fails due to missing

Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.

2016-01-17 Thread Jakub Jelinek
On Sun, Jan 17, 2016 at 09:21:45PM +0100, Torvald Riegel wrote: > The attached patch works around this by always definining stubs for the > libitm functions, yet declaring them weak at the same time. If This doesn't look like a good idea. The dynamic linker doesn't make difference between weak

Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.

2016-01-17 Thread David Edelsohn
On Sun, Jan 17, 2016 at 3:21 PM, Torvald Riegel wrote: > On Sat, 2016-01-16 at 15:38 -0500, David Edelsohn wrote: >> On Sat, Jan 16, 2016 at 8:35 AM, Jakub Jelinek wrote: >> > On Sat, Jan 16, 2016 at 07:47:33AM -0500, David Edelsohn wrote: >> >> stage1

Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.

2016-01-17 Thread Jonathan Wakely
On 16 January 2016 at 22:58, H.J. Lu wrote: > Don't you need to update baseline_symbols.txt? That usually happens when we get near the release, not every time we add symbols.

Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.

2016-01-16 Thread David Edelsohn
stage1 libstdc++ builds just fine. the problem is stage2 configure fails due to missing ITM_xxx symbols when configure tries to compile and run conftest programs. Thanks, David On Sat, Jan 16, 2016 at 7:43 AM, Jonathan Wakely wrote: > What are the errors? > > I can build

Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.

2016-01-16 Thread Jakub Jelinek
On Sat, Jan 16, 2016 at 07:47:33AM -0500, David Edelsohn wrote: > stage1 libstdc++ builds just fine. the problem is stage2 configure > fails due to missing ITM_xxx symbols when configure tries to compile > and run conftest programs. On x86_64-linux, the _ITM_xxx symbols are undef weak ones and

Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.

2016-01-16 Thread Dominique d'Humières
> Addressed these, fixed a problem with using GLIBCXX_WEAK_DEFINITION > (which is only set on Darwin despite the generic-sounding name -- so > just use __attribute__((weak)) directly), and also updated > testsuite_abi.cc so that it knows about CXXABI_1.3.10. > > Approved by Jonathan Wakely.

Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.

2016-01-16 Thread David Edelsohn
This patch broke bootstrap on AIX. Not all targets support TM. This patch makes libstdc++ unconditionally refer to TM symbols. Please fix. - David

Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.

2016-01-16 Thread Jonathan Wakely
What are the errors? I can build libstdc++ on gcc111. Does this patch help? diff --git a/libstdc++-v3/src/c++11/cow-stdexcept.cc b/libstdc++-v3/src/c++11/cow-stdexcept.cc index afc3f6c..8a1b65a 100644 --- a/libstdc++-v3/src/c++11/cow-stdexcept.cc +++ b/libstdc++-v3/src/c++11/cow-stdexcept.cc

Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.

2016-01-16 Thread Jonathan Wakely
On 16/01/16 14:35 +0100, Jakub Jelinek wrote: On Sat, Jan 16, 2016 at 07:47:33AM -0500, David Edelsohn wrote: stage1 libstdc++ builds just fine. the problem is stage2 configure fails due to missing ITM_xxx symbols when configure tries to compile and run conftest programs. On x86_64-linux,

Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.

2016-01-16 Thread Jonathan Wakely
On 16/01/16 13:41 +, Jonathan Wakely wrote: On 16/01/16 14:35 +0100, Jakub Jelinek wrote: On Sat, Jan 16, 2016 at 07:47:33AM -0500, David Edelsohn wrote: stage1 libstdc++ builds just fine. the problem is stage2 configure fails due to missing ITM_xxx symbols when configure tries to compile

Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.

2016-01-16 Thread H.J. Lu
On Thu, Jan 7, 2016 at 8:47 AM, Torvald Riegel wrote: > The attached patch makes some exceptions transaction-safe, as require by > the Transactional Memory TS. I believe I addressed all feedback for the > previous version of this patch (in particular, there are now more

Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.

2016-01-16 Thread Torvald Riegel
On Sat, 2016-01-16 at 10:57 +0100, Dominique d'Humières wrote: > > Addressed these, fixed a problem with using GLIBCXX_WEAK_DEFINITION > > (which is only set on Darwin despite the generic-sounding name -- so > > just use __attribute__((weak)) directly), and also updated > > testsuite_abi.cc so

Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.

2016-01-16 Thread Torvald Riegel
On Sat, 2016-01-16 at 14:35 +0100, Jakub Jelinek wrote: > On Sat, Jan 16, 2016 at 07:47:33AM -0500, David Edelsohn wrote: > > stage1 libstdc++ builds just fine. the problem is stage2 configure > > fails due to missing ITM_xxx symbols when configure tries to compile > > and run conftest programs.

Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.

2016-01-16 Thread David Edelsohn
On Sat, Jan 16, 2016 at 8:35 AM, Jakub Jelinek wrote: > On Sat, Jan 16, 2016 at 07:47:33AM -0500, David Edelsohn wrote: >> stage1 libstdc++ builds just fine. the problem is stage2 configure >> fails due to missing ITM_xxx symbols when configure tries to compile >> and run

Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.

2016-01-16 Thread David Edelsohn
Torvald, The error is a link failure in stage2 configure due to the missing _ITM_xxx and related symbols. I don't have the failed build any more. Maybe Jonathan can reply with the specific failures. There is an AIX system in the GNU Compile Farm: gcc111. - David On Sat, Jan 16, 2016 at 3:12

Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.

2016-01-15 Thread Torvald Riegel
On Thu, 2016-01-14 at 17:58 +, Jonathan Wakely wrote: > On 07/01/16 17:47 +0100, Torvald Riegel wrote: > >The attached patch makes some exceptions transaction-safe, as require by > >the Transactional Memory TS. I believe I addressed all feedback for the > >previous version of this patch (in

Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.

2016-01-14 Thread Jonathan Wakely
On 07/01/16 17:47 +0100, Torvald Riegel wrote: The attached patch makes some exceptions transaction-safe, as require by the Transactional Memory TS. I believe I addressed all feedback for the previous version of this patch (in particular, there are now more safety checks for preconditions for

[PATCH v2] libstdc++: Make certain exceptions transaction_safe.

2016-01-07 Thread Torvald Riegel
The attached patch makes some exceptions transaction-safe, as require by the Transactional Memory TS. I believe I addressed all feedback for the previous version of this patch (in particular, there are now more safety checks for preconditions for this implementation (eg, that the new allocator is