[trans-mem] Re: EH TM bug

Submitted by Richard Henderson on July 15, 2010, 5:19 p.m.

Details

Message ID 4C3F433E.4050405@redhat.com
State New
Headers show

Commit Message

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.

Comments

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 hide | download patch | download mbox

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)