Mir

Merge lp://qastaging/~afrantzis/mir/fix-clang-sbuild into lp://qastaging/mir

Proposed by Alexandros Frantzis
Status: Merged
Approved by: Alan Griffiths
Approved revision: no longer in the source branch.
Merged at revision: 3338
Proposed branch: lp://qastaging/~afrantzis/mir/fix-clang-sbuild
Merge into: lp://qastaging/mir
Diff against target: 42 lines (+2/-12)
2 files modified
examples/CMakeLists.txt (+1/-12)
tests/mir_test_doubles/mock_x11.cpp (+1/-0)
To merge this branch: bzr merge lp://qastaging/~afrantzis/mir/fix-clang-sbuild
Reviewer Review Type Date Requested Status
Mir CI Bot continuous-integration Approve
Alan Griffiths Approve
Review via email: mp+287149@code.qastaging.launchpad.net

Commit message

Fix clang under CI sbuild

Description of the change

Fix clang under CI sbuild

This MP:

1. Removes the alternative/clang version of Clients-only-use-client-ABI test. Clang + ld.gold don't export symbols with the @@VERSION suffix (symbols are being marked with the correct version in the symbol table, though). Plus, this alternative version is essentially the same as Clients-only-use-client-symbols.

2. Explicitly initializes the button field in the XEvent button event. For some reason, possibly a compiler problem or incompatibility, the XEvent unions in mtd::FakeX11Resources are not properly initialized with '= {0}', and valgrind thinks we are reading from an uninitialized value.

For completeness, I will mention a third issue that I had to work around in the build job:

3. clang seems to handle 'extern inline' in a way that seems to be incompatible with the pthread headers in vivid, leading to multiple definitions of pthread_equal. We work around this problem in the build job by building with -fno-inline.

To post a comment you must log in.
Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

The 3rd issue you mention sounds a bit like the ODR issues Chris encountered in lp:~raof/mir/fix-and-enable-lto/+merge/282133.

But, while it would be nice to have the Clients-only-use-client-ABI test run with clang one day, these changes don't break anything and having a clang sbuild is a big pro.

review: Approve
Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

PASSED: Continuous integration, rev:3338
https://mir-jenkins.ubuntu.com/job/mir-ci/400/
Executed test runs:
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-mir/198
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/217
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/213
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial/213
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/203
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/203/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/203
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/203/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/203
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/203/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial/203
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial/203/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://mir-jenkins.ubuntu.com/job/mir-ci/400/rebuild

review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches