[Mesa-dev] [RFC] travis: lower SWR requirement to GCC 4.8, aka std=c++11

Rowley, Timothy O timothy.o.rowley at intel.com
Wed Jul 5 18:28:50 UTC 2017


> On Jul 4, 2017, at 12:01 PM, Emil Velikov <emil.l.velikov at gmail.com> wrote:
> 
> From: Emil Velikov <emil.velikov at collabora.com>
> 
> With ealier commit we relaxed the requirement from C++14 to C++11.
> Update the build script so that it
> 
> Cc: Tim Rowley <timothy.o.rowley at intel.com
> Fixes: 0b80b025021 ("swr: relax c++ requirement from c++14 to c++11")
> Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
> ---
> Tim, this does _not_ quite work, hence I'm sending it as RFC.
> The current build failures can be seen here
> 
> Autotools
> https://travis-ci.org/evelikov/Mesa/jobs/250043586
> Scons
> https://travis-ci.org/evelikov/Mesa/jobs/250043595
> 

gcc-4.8 is throwing up some issues; I’ve patched them in the submission I just made to mesa-stable (swr: modifications to allow gcc-4.8 compilation).  Still get a weird link problem (undefined reference to llvm::RTDyldMemoryManager::getSymbolAddressInProcess), but that looks to be more of a core gallium problem.

> Although I expect additional issues, since w/o the patch a local build 
> throws the following:
> 
> src/gallium/drivers/swr/rasterizer/core/api.cpp: In function ‘void* SwrCreateContext(SWR_CREATECONTEXT_INFO*)’:
> src/gallium/drivers/swr/rasterizer/core/api.cpp:111:64: warning: ‘new’ of type ‘SWR_STATS’ with extended alignment 64 [-Waligned-new=]
>     pContext->pStats = new SWR_STATS[pContext->NumWorkerThreads];
>                                                                ^
> src/gallium/drivers/swr/rasterizer/core/api.cpp:111:64: note: uses ‘void* operator new [](std::size_t)’, which does not have an alignment parameter
> src/gallium/drivers/swr/rasterizer/core/api.cpp:111:64: note: use ‘-faligned-new’ to enable C++17 over-aligned new support
> 
> src/gallium/drivers/swr/rasterizer/core/threads.cpp: In function ‘void CreateThreadPool(SWR_CONTEXT*, THREAD_POOL*)’:
> src/gallium/drivers/swr/rasterizer/core/threads.cpp:989:72: warning: ‘new’ of type ‘SWR_STATS’ with extended alignment 64 [-Waligned-new=]
>         pContext->dcRing[dc].dynState.pStats = new SWR_STATS[numThreads];
>                                                                        ^
> src/gallium/drivers/swr/rasterizer/core/threads.cpp:989:72: note: uses ‘void* operator new [](std::size_t)’, which does not have an alignment parameter
> src/gallium/drivers/swr/rasterizer/core/threads.cpp:989:72: note: use ‘-faligned-new’ to enable C++17 over-aligned new support

These are curious - I’m not seeing warnings like this on gcc-4.8.5.

> 
> 
> .travis.yml | 12 ++++--------
> 1 file changed, 4 insertions(+), 8 deletions(-)
> 
> diff --git a/.travis.yml b/.travis.yml
> index 4fde6f45f4a..fa52bf96f16 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -57,8 +57,8 @@ matrix:
>         - MAKE_CHECK_COMMAND="true"
>         - LLVM_VERSION=3.9
>         - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
> -        - OVERRIDE_CC="gcc-5"
> -        - OVERRIDE_CXX="g++-5"
> +        - OVERRIDE_CC="gcc-4.8"
> +        - OVERRIDE_CXX="g++-4.8"
>         - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
>         - DRI_DRIVERS=""
>         - GALLIUM_ST="--enable-dri --disable-opencl --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx --disable-gallium-osmesa"
> @@ -67,13 +67,11 @@ matrix:
>       addons:
>         apt:
>           sources:
> -            - ubuntu-toolchain-r-test
>             - llvm-toolchain-trusty-3.9
>           packages:
>             # LLVM packaging is broken and misses these dependencies
>             - libedit-dev
>             # From sources above
> -            - g++-5
>             - llvm-3.9-dev
>             # Common
>             - xz-utils
> @@ -250,19 +248,17 @@ matrix:
>         - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
>         # Keep it symmetrical to the make build. There's no actual SWR, yet.
>         - SCONS_CHECK_COMMAND="true"
> -        - OVERRIDE_CC="gcc-5"
> -        - OVERRIDE_CXX="g++-5"
> +        - OVERRIDE_CC="gcc-4.8"
> +        - OVERRIDE_CXX="g++-4.8"
>       addons:
>         apt:
>           sources:
> -            - ubuntu-toolchain-r-test
>             - llvm-toolchain-trusty-3.9
>           packages:
>             - scons
>             # LLVM packaging is broken and misses these dependencies
>             - libedit-dev
>             # From sources above
> -            - g++-5
>             - llvm-3.9-dev
>             # Common
>             - xz-utils
> -- 
> 2.13.0
> 



More information about the mesa-dev mailing list