Skip to content
Commits on Source (6)
......@@ -43,7 +43,7 @@
variables:
FDO_UPSTREAM_REPO: wayland/weston
FDO_REPO_SUFFIX: "$BUILD_OS/$BUILD_ARCH"
FDO_DISTRIBUTION_TAG: '2021-08-02.3-aarch64-virt'
FDO_DISTRIBUTION_TAG: '2021-08-03.2-clang'
include:
......@@ -167,6 +167,12 @@ aarch64-debian-container_prep:
- export TESTS_RES_PATH="$BUILDDIR/tests-res.txt"
- mkdir "$BUILDDIR" "$PREFIX"
.build-with-clang:
variables:
CC: clang-8
CC_LD: lld-8
MESON_TOOLCHAIN_OPTIONS: "$MESON_OPTIONS -Db_lundef=false" # clang+ASan+undef=boom
# Extends the core build templates to also provide for running our testing. We
# run this inside a virtme (qemu wrapper) VM environment so we can test the DRM
# backend using the 'vkms' virtual driver under Linux.
......@@ -175,7 +181,7 @@ aarch64-debian-container_prep:
- .ci-rules
script:
- cd "$BUILDDIR"
- meson --prefix="$PREFIX" -Db_sanitize=address ${MESON_OPTIONS} ..
- meson --prefix="$PREFIX" -Db_sanitize=address ${MESON_OPTIONS} ${MESON_TOOLCHAIN_OPTIONS} ..
- ninja -k0 -j${FDO_CI_CONCURRENT:-4}
- ninja install
- test -n "${QEMU_SMP}" || QEMU_SMP=${FDO_CI_CONCURRENT:-4}
......@@ -200,7 +206,6 @@ aarch64-debian-container_prep:
.build-no-test:
extends:
- .ci-rules
- .build-env
script:
- cd "$BUILDDIR"
- meson --prefix="$PREFIX" ${MESON_OPTIONS} ..
......@@ -294,6 +299,18 @@ aarch64-debian-full-build:
- .test-env-debian-aarch64
- .build-options-full
x86_64-clang-debian-full-build:
extends:
- .test-env-debian-x86_64
- .build-with-clang
- .build-options-full
aarch64-clang-debian-full-build:
extends:
- .test-env-debian-aarch64
- .build-with-clang
- .build-options-full
# Docs should be invariant on all architectures, so we only do it on Debian
# x86-64.
docs-build:
......@@ -329,6 +346,13 @@ armv7-debian-no-gl-build:
- .build-no-test
- .build-options-no-gl
armv7-clang-debian-no-gl-build:
extends:
- .build-env-debian-armv7
- .build-with-clang
- .build-no-test
- .build-options-no-gl
aarch64-debian-no-gl-build:
extends:
- .test-env-debian-aarch64
......
......@@ -134,9 +134,12 @@ rm -rf mesa
# PipeWire is used for remoting support. Unlike our other dependencies its
# behaviour will be stable, however as a pre-1.0 project its API is not yet
# stable, so again we lock it to a fixed version.
#
# ... the version chosen is 0.3.32 with a small Clang-specific build fix.
rm -rf pipewire
git clone --single-branch --branch 0.3.31 https://gitlab.freedesktop.org/pipewire/pipewire.git pipewire
git clone --single-branch --branch master https://gitlab.freedesktop.org/pipewire/pipewire.git pipewire
cd pipewire
git checkout -b snapshot bf112940d0bf8f526dd6229a619c1283835b49c2
meson build
ninja ${NINJAFLAGS} -C build install
cd ..
......
......@@ -37,6 +37,7 @@ apt-get -y --no-install-recommends install \
autoconf \
automake \
build-essential \
clang-8 \
curl \
doxygen \
gcovr \
......@@ -85,6 +86,8 @@ apt-get -y --no-install-recommends install \
libxcursor-dev \
libxkbcommon-dev \
libxml2-dev \
lld-8 \
llvm-8 \
mesa-common-dev \
ninja-build \
pkg-config \
......
......@@ -399,7 +399,7 @@ headless_gl_renderer_init(struct headless_backend *b)
{
const struct gl_renderer_display_options options = {
.egl_platform = EGL_PLATFORM_SURFACELESS_MESA,
.egl_native_display = EGL_DEFAULT_DISPLAY,
.egl_native_display = NULL,
.egl_surface_type = EGL_PBUFFER_BIT,
.drm_formats = headless_formats,
.drm_formats_count = ARRAY_LENGTH(headless_formats),
......
......@@ -2862,8 +2862,8 @@ populate_supported_formats(struct weston_compositor *ec,
struct weston_drm_format *fmt;
int *formats = NULL;
uint64_t *modifiers = NULL;
unsigned int num_formats, num_modifiers;
unsigned int i, j;
int num_formats, num_modifiers;
int i, j;
int ret = 0;
/* Use EGL_EXT_image_dma_buf_import_modifiers to query the
......
......@@ -47,7 +47,7 @@ struct test_context;
struct runner_test {
const char *name;
void (*run)(struct test_context *);
} __attribute__ ((aligned (32)));
} __attribute__ ((aligned (64)));
#define RUNNER_TEST(name) \
static void runner_func_##name(struct test_context *); \
......
......@@ -55,7 +55,7 @@ struct weston_test_entry {
const void *table_data;
size_t element_size;
int n_elements;
} __attribute__ ((aligned (32)));
} __attribute__ ((aligned (64)));
#define TEST_BEGIN(name, arg) \
static void name(arg)
......
......@@ -77,7 +77,7 @@ struct zuc_registration {
zucimpl_test_fn fn; /**< function implementing base test. */
zucimpl_test_fn_f fn_f; /**< function implementing test with
fixture. */
} __attribute__ ((aligned (32)));
} __attribute__ ((aligned (64)));
int
......