Mir

Merge lp:~andreas-pokorny/mir/ftbfs-vivid-clang-lttng-ust-changes into lp:mir

Proposed by Andreas Pokorny
Status: Merged
Approved by: Andreas Pokorny
Approved revision: no longer in the source branch.
Merged at revision: 3516
Proposed branch: lp:~andreas-pokorny/mir/ftbfs-vivid-clang-lttng-ust-changes
Merge into: lp:mir
Diff against target: 38 lines (+18/-0)
2 files modified
src/client/lttng/CMakeLists.txt (+9/-0)
src/server/report/lttng/CMakeLists.txt (+9/-0)
To merge this branch: bzr merge lp:~andreas-pokorny/mir/ftbfs-vivid-clang-lttng-ust-changes
Reviewer Review Type Date Requested Status
Chris Halse Rogers Approve
Mir CI Bot continuous-integration Approve
Review via email: mp+295418@code.launchpad.net

Commit message

fix vivid + overlay build problems triggered by a lttng-ust-dev update by dsiabling a specific clang warning and -pedantic in the lttng directories
(LP: #1584601)

Description of the change

An update to lttng-ust-dev contains a change in the user space tracepoint call, which now leads to a call to macro expansion that uses a gcc extension
(urcu/system.h):

/*
 * Load a data from shared memory, doing a cache flush if required.
 */
#define CMM_LOAD_SHARED(p) \
        __extension__ \
        ({ \
                cmm_smp_rmc(); \
                _CMM_LOAD_SHARED(p); \
        })

The block inside the ()-expression is kind of like a ,-operator the last statement in the block is treated as an expression and defines the value of the expression.

To post a comment you must log in.
Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

FAILED: Continuous integration, rev:3516
https://mir-jenkins.ubuntu.com/job/mir-ci/1017/
Executed test runs:
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-mir/1111/console
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/1159
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/1150
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial/1150
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=vivid+overlay/1121/console
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/1121
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/1121/artifact/output/*zip*/output.zip
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/1121/console
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/1121/console
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial/1121
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial/1121/artifact/output/*zip*/output.zip

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

review: Needs Fixing (continuous-integration)
Revision history for this message
Andreas Pokorny (andreas-pokorny) wrote :

Only fixes the clang build. I think it should be limited to the affected clang versions before landing. removal of pedantic might fix the vivid/gcc/android build. Looking for alternatives of that.

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

FAILED: Continuous integration, rev:3517
https://mir-jenkins.ubuntu.com/job/mir-ci/1021/
Executed test runs:
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-mir/1116/console
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/1164
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/1155
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial/1155
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=vivid+overlay/1126/console
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/1126
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/1126/artifact/output/*zip*/output.zip
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/1126/console
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/1126/console
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial/1126
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial/1126/artifact/output/*zip*/output.zip

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

review: Needs Fixing (continuous-integration)
Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

PASSED: Continuous integration, rev:3518
https://mir-jenkins.ubuntu.com/job/mir-ci/1022/
Executed test runs:
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-mir/1117
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/1165
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/1156
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial/1156
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=vivid+overlay/1127
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=vivid+overlay/1127/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/1127
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/1127/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/1127
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/1127/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/1127
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/1127/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial/1127
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial/1127/artifact/output/*zip*/output.zip

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

review: Approve (continuous-integration)
Revision history for this message
Chris Halse Rogers (raof) wrote :

I'm good with this.

review: Approve
Revision history for this message
Chris Halse Rogers (raof) wrote :

Even without limiting to affected clang versions.

Revision history for this message
Andreas Pokorny (andreas-pokorny) wrote :

aye - it is now limited to the lttng directories.. so I am happy to land that now..

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'src/client/lttng/CMakeLists.txt'
--- src/client/lttng/CMakeLists.txt 2016-03-29 07:30:50 +0000
+++ src/client/lttng/CMakeLists.txt 2016-05-23 13:07:06 +0000
@@ -15,6 +15,15 @@
15string(REPLACE "-flto" "" NO_LTO_FLAGS ${CMAKE_C_FLAGS})15string(REPLACE "-flto" "" NO_LTO_FLAGS ${CMAKE_C_FLAGS})
16set(CMAKE_C_FLAGS ${NO_LTO_FLAGS})16set(CMAKE_C_FLAGS ${NO_LTO_FLAGS})
1717
18# lttng-ust uses urcu headers which contain code blocks inside expressions
19# this is a gnu extension.
20string(REPLACE "-pedantic" "" NO_PEDANTIC_CHECK_FLAGS ${CMAKE_CXX_FLAGS})
21if("${CMAKE_CXX_COMPILER}" MATCHES "clang")
22 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-gnu-statement-expression")
23else()
24 set(CMAKE_CXX_FLAGS "${NO_PEDANTIC_CHECK_FLAGS}")
25endif()
26
18add_library(mirclientlttng SHARED tracepoints.c)27add_library(mirclientlttng SHARED tracepoints.c)
1928
20# Don't treat missing-field-initializers as an error, since29# Don't treat missing-field-initializers as an error, since
2130
=== modified file 'src/server/report/lttng/CMakeLists.txt'
--- src/server/report/lttng/CMakeLists.txt 2016-03-29 07:30:50 +0000
+++ src/server/report/lttng/CMakeLists.txt 2016-05-23 13:07:06 +0000
@@ -14,6 +14,15 @@
14string(REPLACE "-flto" "" NO_LTO_FLAGS ${CMAKE_C_FLAGS})14string(REPLACE "-flto" "" NO_LTO_FLAGS ${CMAKE_C_FLAGS})
15set(CMAKE_C_FLAGS ${NO_LTO_FLAGS})15set(CMAKE_C_FLAGS ${NO_LTO_FLAGS})
1616
17# lttng-ust uses urcu headers which contain code blocks inside expressions
18# this is a gnu extension.
19string(REPLACE "-pedantic" "" NO_PEDANTIC_CHECK_FLAGS ${CMAKE_CXX_FLAGS})
20if("${CMAKE_CXX_COMPILER}" MATCHES "clang")
21 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-gnu-statement-expression")
22else()
23 set(CMAKE_CXX_FLAGS "${NO_PEDANTIC_CHECK_FLAGS}")
24endif()
25
17set(26set(
18 LTTNG_SOURCES27 LTTNG_SOURCES
1928

Subscribers

People subscribed via source and target branches