Merge lp:~linuxjedi/libdrizzle/5.1-compiler-fixes into lp:libdrizzle

Proposed by Andrew Hutchings on 2013-05-03
Status: Approved
Approved by: Andrew Hutchings on 2013-05-03
Approved revision: 123
Proposed branch: lp:~linuxjedi/libdrizzle/5.1-compiler-fixes
Merge into: lp:libdrizzle
Diff against target: 29 lines (+6/-6)
1 file modified
m4/ax_harden_compiler_flags.m4 (+6/-6)
To merge this branch: bzr merge lp:~linuxjedi/libdrizzle/5.1-compiler-fixes
Reviewer Review Type Date Requested Status
Drizzle Trunk 2013-05-03 Pending
Review via email: mp+162339@code.launchpad.net

Description of the change

The address sanitizer cannot be used at the same time as the thread sanitizer. CLang actually enforces this but for some reason GCC doesn't.

When both are tried together the address sanitizer barfs on the thread sanitizer lib, I suspect this is due to the way it has to be linked.

The address sanitizer is probably more useful to libdrizzle right now so disabling the thread sanitizer.

To post a comment you must log in.
Brian Aker (brianaker) wrote :

Got it... So what is needed is a command line option for this.

Sent from my Ti85

On May 3, 2013, at 5:36, Andrew Hutchings <email address hidden> wrote:

> Andrew Hutchings has proposed merging lp:~linuxjedi/libdrizzle/5.1-compiler-fixes into lp:libdrizzle.
>
> Requested reviews:
> Drizzle Trunk (drizzle-trunk)
>
> For more details, see:
> https://code.launchpad.net/~linuxjedi/libdrizzle/5.1-compiler-fixes/+merge/162339
>
> The address sanitizer cannot be used at the same time as the thread sanitizer. CLang actually enforces this but for some reason GCC doesn't.
>
> When both are tried together the address sanitizer barfs on the thread sanitizer lib, I suspect this is due to the way it has to be linked.
>
> The address sanitizer is probably more useful to libdrizzle right now so disabling the thread sanitizer.
> --
> https://code.launchpad.net/~linuxjedi/libdrizzle/5.1-compiler-fixes/+merge/162339
> Your team Drizzle Trunk is requested to review the proposed merge of lp:~linuxjedi/libdrizzle/5.1-compiler-fixes into lp:libdrizzle.
> === modified file 'm4/ax_harden_compiler_flags.m4' --- m4/ax_harden_compiler_flags.m4 2013-04-29 06:10:51 +0000 +++ m4/ax_harden_compiler_flags.m4 2013-05-03 12:35:59 +0000 @@ -161,9 +161,9 @@ _APPEND_COMPILE_FLAGS_ERROR([-fno-omit-frame-pointer]) _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=address]) _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=integer]) - AS_IF([test "x$enable_shared" = "xyes"],[ - _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=thread]) - ]) +# AS_IF([test "x$enable_shared" = "xyes"],[ +# _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=thread]) +# ]) _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=memory]) _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=alignment]) _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=bool]) @@ -283,9 +283,9 @@ _APPEND_COMPILE_FLAGS_ERROR([-fno-omit-frame-pointer]) _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=address]) _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=integer]) - AS_IF([test "x$enable_shared" = "xyes"],[ - _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=thread]) - ]) +# AS_IF([test "x$enable_shared" = "xyes"],[ +# _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=thread]) +# ]) _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=memory]) _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=alignment]) _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=bool])

Andrew Hutchings (linuxjedi) wrote :

yes, a command line option would probably work well. Also I sent you Skype messages as there are various problems with 4 of the Jenkins slaves

Unmerged revisions

123. By Andrew Hutchings on 2013-05-03

Disable thread sanitizer

Doesn't work with address sanitizer

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'm4/ax_harden_compiler_flags.m4'
2--- m4/ax_harden_compiler_flags.m4 2013-04-29 06:10:51 +0000
3+++ m4/ax_harden_compiler_flags.m4 2013-05-03 12:35:59 +0000
4@@ -161,9 +161,9 @@
5 _APPEND_COMPILE_FLAGS_ERROR([-fno-omit-frame-pointer])
6 _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=address])
7 _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=integer])
8- AS_IF([test "x$enable_shared" = "xyes"],[
9- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=thread])
10- ])
11+# AS_IF([test "x$enable_shared" = "xyes"],[
12+# _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=thread])
13+# ])
14 _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=memory])
15 _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=alignment])
16 _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=bool])
17@@ -283,9 +283,9 @@
18 _APPEND_COMPILE_FLAGS_ERROR([-fno-omit-frame-pointer])
19 _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=address])
20 _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=integer])
21- AS_IF([test "x$enable_shared" = "xyes"],[
22- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=thread])
23- ])
24+# AS_IF([test "x$enable_shared" = "xyes"],[
25+# _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=thread])
26+# ])
27 _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=memory])
28 _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=alignment])
29 _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=bool])

Subscribers

People subscribed via source and target branches

to all changes:
to status/vote changes: