Merge lp:~laurynas-biveinis/percona-server/bug902471 into lp:percona-server/5.1

Proposed by Laurynas Biveinis
Status: Merged
Approved by: Alexey Kopytov
Approved revision: no longer in the source branch.
Merged at revision: 479
Proposed branch: lp:~laurynas-biveinis/percona-server/bug902471
Merge into: lp:percona-server/5.1
Diff against target: 11 lines (+1/-1)
1 file modified
Percona-Server/extra/yassl/taocrypt/src/Makefile.am (+1/-1)
To merge this branch: bzr merge lp:~laurynas-biveinis/percona-server/bug902471
Reviewer Review Type Date Requested Status
Alexey Kopytov (community) Approve
Review via email: mp+121395@code.launchpad.net

Description of the change

Fix bug 902471 (Lots of ssl tests failures on oneiric hosts), which is
upstream bug http://bugs.mysql.com/bug.php?id=61509.

The crashes are caused by broken inline assembly in taocrypt, that
does not properly pass function args to the inline assembly using the
GCC extended asm syntax, but rather assumes a certain stack layout.
This is not exposed to the compiler and breaks with GCC upgrade and/or
different optimization options.

Workaround by adding -fno-omit-frame-pointer to the taocrypt
compilation flags, thus forcing the required stack layout. This is
not a proper fix, and might break in the future again.

Jenkins: http://jenkins.percona.com/job/percona-server-5.1-param/395/

Null-merge for 5.5 (inline assembly there is broken too, but 5.5 does not crash. Since we only workaround and not fix, 5.5 is good enough already).

To post a comment you must log in.
Revision history for this message
Alexey Kopytov (akopytov) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'Percona-Server/extra/yassl/taocrypt/src/Makefile.am'
2--- Percona-Server/extra/yassl/taocrypt/src/Makefile.am 2012-02-13 11:40:12 +0000
3+++ Percona-Server/extra/yassl/taocrypt/src/Makefile.am 2012-08-27 10:27:37 +0000
4@@ -24,7 +24,7 @@
5 tftables.cpp twofish.cpp crypto.cpp rabbit.cpp hc128.cpp
6
7 libtaocrypt_la_CXXFLAGS = @yassl_taocrypt_extra_cxxflags@ -DYASSL_PURE_C \
8- @yassl_thread_cxxflags@
9+ @yassl_thread_cxxflags@ -fno-omit-frame-pointer
10
11 EXTRA_DIST = $(wildcard ../include/*.hpp)
12

Subscribers

People subscribed via source and target branches