PulseAudio Marge Bot pushed to branch master at PulseAudio / pulseaudio
Commits: 87478843 by Marijn Suijten at 2021-11-05T07:50:56+00:00 gitlab-ci: Bump Ubuntu image to 20.04 e04f14eb/dc9dc70f introduced preprocessor warnings to deny the use of any `alsa-lib` older than `1.2.1`, and with a future patch disallowing warnings entirely through `-Werror` we now need a distribution that serves a new enough `alsa-lib`. Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/653> - - - - - 76652c8c by Marijn Suijten at 2021-11-05T07:50:56+00:00 gitlab-ci: Turn on Werror for meson builds Prevent simple warnings like !651 from slipping into the build. Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/653> - - - - - 6e1ba717 by Marijn Suijten at 2021-11-05T07:50:56+00:00 tests/mix-test: Don't pass unnecessary NULL fmt argument to fail_unless GCC warns on all these `fail_unless` calls: warning: too many arguments for format [-Wformat-extra-args] `fail_unless` only takes an expression and optionally a string literal as message with formatting args. Passing NULL for this message should not be necessary as indicated by all the other tests not passing it either. Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/653> - - - - - add6e71e by Marijn Suijten at 2021-11-05T07:50:56+00:00 pulsecore/shm: Remove shm_marker struct packing for pa_atomic_t fields Taking addresses of fields in a packed struct are not guaranteed to be aligned, resulting in warnings such as: ../src/pulsecore/shm.c: In function 'sharedmem_create': ../src/pulsecore/shm.c:198:25: error: taking address of packed member of 'struct shm_marker' may result in an unaligned pointer value [-Werror=address-of-packed-member] 198 | pa_atomic_store(&marker->pid, (int) getpid()); | ^~~~~~~~~~~~ The struct already has its fields and types laid out in such a way that the desired packing (without padding) is guaranteed - enforce this with a `static_assert` to get rid of the unaligned pointer warning. Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/653> - - - - - 4 changed files: - .gitlab-ci.yml - src/pulsecore/shm.c - src/tests/cpu-mix-test.c - src/tests/mix-test.c Changes: ===================================== .gitlab-ci.yml ===================================== @@ -19,8 +19,8 @@ variables: # CI runs, for example when adding new packages to FDO_DISTRIBUTION_PACKAGES. # The tag is an arbitrary string that identifies the exact container # contents. - FDO_DISTRIBUTION_TAG: '2021-03-01-02' - FDO_DISTRIBUTION_VERSION: '18.04' + FDO_DISTRIBUTION_TAG: '2021-11-03-00' + FDO_DISTRIBUTION_VERSION: '20.04' FDO_UPSTREAM_REPO: 'pulseaudio/pulseaudio' UBUNTU_IMAGE: "$CI_REGISTRY_IMAGE/ubuntu/$FDO_DISTRIBUTION_VERSION:$FDO_DISTRIBUTION_TAG" @@ -98,7 +98,7 @@ build-meson: - python3 setup.py install - cd .. # Do the actual build - - meson build + - meson build --werror - cd build - ninja - ulimit -c 0 # don't dump core files on tests that are supposed to assert ===================================== src/pulsecore/shm.c ===================================== @@ -91,7 +91,10 @@ struct shm_marker { uint64_t _reserved2; uint64_t _reserved3; uint64_t _reserved4; -} PA_GCC_PACKED; +}; + +// Ensure struct is appropriately packed +static_assert(sizeof(struct shm_marker) == 8 * 5, "`struct shm_marker` is not tightly packed"); static inline size_t shm_marker_size(pa_mem_type_t type) { if (type == PA_MEM_TYPE_SHARED_POSIX) ===================================== src/tests/cpu-mix-test.c ===================================== @@ -76,7 +76,7 @@ static void run_mix_test( samples_ref = out_ref + (8 - align); nsamples = channels * (SAMPLES - (8 - align)); - fail_unless((pool = pa_mempool_new(PA_MEM_TYPE_PRIVATE, 0, true)) != NULL, NULL); + fail_unless((pool = pa_mempool_new(PA_MEM_TYPE_PRIVATE, 0, true)) != NULL); pa_random(samples0, nsamples * sizeof(int16_t)); c0.memblock = pa_memblock_new_fixed(pool, samples0, nsamples * sizeof(int16_t), false); ===================================== src/tests/mix-test.c ===================================== @@ -97,7 +97,7 @@ static void compare_block(const pa_sample_spec *ss, const pa_memchunk *chunk, in uint8_t *u = d; for (i = 0; i < chunk->length / pa_frame_size(ss); i++) { - fail_unless(*u == *v, NULL); + fail_unless(*u == *v); ++u; ++v; } @@ -109,7 +109,7 @@ static void compare_block(const pa_sample_spec *ss, const pa_memchunk *chunk, in uint8_t *u = d; for (i = 0; i < chunk->length / pa_frame_size(ss); i++) { - fail_unless(*u == *v, NULL); + fail_unless(*u == *v); ++u; ++v; } @@ -121,7 +121,7 @@ static void compare_block(const pa_sample_spec *ss, const pa_memchunk *chunk, in uint8_t *u = d; for (i = 0; i < chunk->length / pa_frame_size(ss); i++) { - fail_unless(*u == *v, NULL); + fail_unless(*u == *v); ++u; ++v; } @@ -135,7 +135,7 @@ static void compare_block(const pa_sample_spec *ss, const pa_memchunk *chunk, in for (i = 0; i < chunk->length / pa_frame_size(ss); i++) { uint16_t uu = PA_MAYBE_UINT16_SWAP(ss->format != PA_SAMPLE_S16NE, *u); - fail_unless(uu == *v, NULL); + fail_unless(uu == *v); ++u; ++v; } @@ -149,7 +149,7 @@ static void compare_block(const pa_sample_spec *ss, const pa_memchunk *chunk, in for (i = 0; i < chunk->length / pa_frame_size(ss); i++) { float uu = ss->format == PA_SAMPLE_FLOAT32NE ? *u : PA_READ_FLOAT32RE(u); - fail_unless(fabsf(uu - *v) <= 1e-6f, NULL); + fail_unless(fabsf(uu - *v) <= 1e-6f); ++u; ++v; } @@ -163,7 +163,7 @@ static void compare_block(const pa_sample_spec *ss, const pa_memchunk *chunk, in for (i = 0; i < chunk->length / pa_frame_size(ss); i++) { uint32_t uu = PA_MAYBE_UINT32_SWAP(ss->format != PA_SAMPLE_S32NE, *u); - fail_unless(uu == *v, NULL); + fail_unless(uu == *v); ++u; ++v; } @@ -177,7 +177,7 @@ static void compare_block(const pa_sample_spec *ss, const pa_memchunk *chunk, in for (i = 0; i < chunk->length / pa_frame_size(ss); i++) { uint32_t uu = PA_MAYBE_UINT32_SWAP(ss->format != PA_SAMPLE_S24_32NE, *u); - fail_unless(uu == *v, NULL); + fail_unless(uu == *v); ++u; ++v; } @@ -191,7 +191,7 @@ static void compare_block(const pa_sample_spec *ss, const pa_memchunk *chunk, in for (i = 0; i < chunk->length / pa_frame_size(ss); i++) { uint32_t uu = ss->format == PA_SAMPLE_S24LE ? PA_READ24LE(u) : PA_READ24BE(u); - fail_unless(uu == PA_READ24BE(v), NULL); + fail_unless(uu == PA_READ24BE(v)); u += 3; v += 3; @@ -286,7 +286,7 @@ START_TEST (mix_test) { if (!getenv("MAKE_CHECK")) pa_log_set_level(PA_LOG_DEBUG); - fail_unless((pool = pa_mempool_new(PA_MEM_TYPE_PRIVATE, 0, true)) != NULL, NULL); + fail_unless((pool = pa_mempool_new(PA_MEM_TYPE_PRIVATE, 0, true)) != NULL); a.channels = 1; a.rate = 44100; View it on GitLab: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/compare/0497821afc0ab7ae17d5fe5c365d240eec459495...add6e71e4ca7a280b51e7e0e29784f5382e449a0 -- View it on GitLab: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/compare/0497821afc0ab7ae17d5fe5c365d240eec459495...add6e71e4ca7a280b51e7e0e29784f5382e449a0 You're receiving this email because of your account on gitlab.freedesktop.org.
