Patchwork [trans-mem] Re: EH TM bug

login
register
mail settings
Submitter Richard Henderson
Date July 15, 2010, 5:19 p.m.
Message ID <4C3F433E.4050405@redhat.com>
Download mbox | patch
Permalink /patch/58997/
State New
Headers show

Comments

Richard Henderson - July 15, 2010, 5:19 p.m.
[ TM+EH fails for i686-linux ]

Wow, this is silly.  When I converted to C++, I added -fno-exceptions
to get better code in the library, since the library itself does not
use exceptions.

Except there are a few routines involved in the *user's* exception
handling, and we need the unwind tables generated for that.  Of course
I did all the previous testing with x86_64-linux, which builds the
tables by default.


r~


	* Makefile.am (AM_CXXFLAGS): Add -funwind-tables.
	* Makefile.in: Rebuild.
Aldy Hernandez - July 15, 2010, 7:16 p.m.
On Thu, Jul 15, 2010 at 10:19:58AM -0700, Richard Henderson wrote:
> [ TM+EH fails for i686-linux ]
> 
> Wow, this is silly.  When I converted to C++, I added -fno-exceptions
> to get better code in the library, since the library itself does not
> use exceptions.
> 
> Except there are a few routines involved in the *user's* exception
> handling, and we need the unwind tables generated for that.  Of course
> I did all the previous testing with x86_64-linux, which builds the
> tables by default.

Sweet!  Thanks.  Of course, from now on we'll be testing 64 *and* 32-bits, 
now that we finally have the entire testsuite working for both :).

Do you mind committing to the branch?

Thanks again.
Richard Henderson - July 15, 2010, 7:31 p.m.
On 07/15/2010 12:16 PM, Aldy Hernandez wrote:
> Do you mind committing to the branch?

Whoops, I thought I had.  Done now.


r~

Patch

diff --git a/libitm/Makefile.am b/libitm/Makefile.am
index fef2a13..8ad4e5f 100644
--- a/libitm/Makefile.am
+++ b/libitm/Makefile.am
@@ -18,7 +18,8 @@  vpath % $(strip $(search_path))
 
 AM_CPPFLAGS = $(addprefix -I, $(search_path))
 AM_CFLAGS = $(XCFLAGS)
-AM_CXXFLAGS = -std=gnu++0x -fno-exceptions -fno-rtti $(XCFLAGS) $(abi_version)
+AM_CXXFLAGS = -std=gnu++0x -funwind-tables -fno-exceptions -fno-rtti \
+	$(XCFLAGS) $(abi_version)
 AM_CCASFLAGS = $(XCFLAGS)
 AM_LDFLAGS = $(XLDFLAGS) $(SECTION_LDFLAGS) $(OPT_LDFLAGS)