libcamera/utils
Naushir Patuck 5e4dc46a0c utils: mojom: Fix build error caused by the mojom tool update
The update to the mojom tool in commit d17de86904 causes build errors
with gcc 12.2 release builds. One such error is:

In file included from src/libcamera/proxy/worker/raspberrypi_ipa_proxy_worker.cpp:18:
In static member function ‘static libcamera::ipa::RPi::ProcessParams libcamera::IPADataSerializer<libcamera::ipa::RPi::ProcessParams>::deserialize(std::vector<unsigned char>::const_iterator, std::vector<unsigned char>::const_iterator, libcamera::ControlSerializer*)’,
    inlined from ‘void IPAProxyRPiWorker::readyRead()’ at src/libcamera/proxy/worker/raspberrypi_ipa_proxy_worker.cpp:302:70:
include/libcamera/ipa/raspberrypi_ipa_serializer.h:1172:32: error: ‘*(uint32_t*)((char*)&ret + offsetof(libcamera::ipa::RPi::ProcessParams, libcamera::ipa::RPi::ProcessParams::buffers.libcamera::ipa::RPi::BufferIds::bayer))’ may be used uninitialized [-Werror=maybe-uninitialized]
 1172 |                         return ret;

The failure is caused by the new auto-generated IPA interface not
initialising POD types to a default value. This is because the updated
mojom library uses a new mojom.ValueKind class to represent POD types,
whereas the interface generator script uses the mojom.Kind class, which
is correct for the older mojom library.

Fix this breakage by switching the interface generator script to use
mojom.ValueKind to test for POD types.

Fixes: d17de86904 ("utils: ipc: Update mojo")
Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Acked-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2024-02-15 11:38:25 +00:00
..
hooks hooks: pre-push: Disable interpretation of escape sequences 2024-01-09 15:39:04 +00:00
ipc utils: mojom: Fix build error caused by the mojom tool update 2024-02-15 11:38:25 +00:00
ipu3 utils: ipu3-capture.sh: Fix the script to work with recent media-ctl versions 2023-07-05 00:51:34 +01:00
raspberrypi utils: raspberrypi: ctt: Improve the Macbeth Chart search reliability 2024-01-09 15:39:02 +00:00
rkisp1 utils: rkisp1: gen-csc-table: Add support for inverting the CSC 2022-09-30 22:30:17 +03:00
tracepoints libcamera: tracing: fix header generation when built as subproject 2022-11-24 14:52:00 +00:00
tuning utils: tuning: Add tuning script for rkisp1 2022-11-25 15:38:17 +09:00
abi-compat.sh utils: ABI Compatibility checker 2023-07-04 20:25:10 +01:00
checkstyle.py utils: checkstyle.py: Extract title and trailers with one command 2023-07-28 19:11:56 +03:00
gen-controls.py libcamera: controls: Use vendor tags for draft controls and properties 2023-11-30 13:59:27 +00:00
gen-formats.py utils: gen-formats: Support big-endian DRM formats 2021-02-01 22:33:55 +02:00
gen-header.sh utils: Convert to pragma once 2021-11-24 12:19:03 +00:00
gen-ipa-priv-key.sh libcamera: ipa: Move key generation to utils 2020-09-24 10:56:22 +01:00
gen-ipa-pub-key.py libcamera: ipa: Move key generation to utils 2020-09-24 10:56:22 +01:00
gen-version.sh meson: Really fix git version parsing 2023-04-05 07:16:07 +03:00
meson.build README, meson: Add dependency on ply and jinja2 for IPA interface generation 2020-11-11 19:23:16 +09:00
release.sh utils: Provide a release script 2022-10-13 12:40:24 +01:00
run-dist.sh build: Preserve upstream git versioning using meson dist 2021-10-19 13:14:54 +03:00
semver utils: semver: Add version helper 2022-10-13 12:40:23 +01:00
update-kernel-headers.sh utils: update-kernel-headers: Support git worktrees 2023-10-18 16:17:18 +03:00
update-mojo.sh utils: update-mojo.sh: Commit the mojo update 2024-01-09 15:39:05 +00:00