...e-DLT_WatchdogSec-can-be-set-by-user.patch | 40 --
.../dlt-daemon/0001-Fix-build-failures.patch | 360 ++++++++++++++++++
...Fix-compile-failure-related-to-gzlog.patch | 69 ++++
.../0001-Fix-kinds-of-build-failure.patch | 174 +++++++++
.../0003-allow-build-with-cmake-4.patch | 99 -----
.../dlt-daemon/dlt-daemon/544.patch | 80 ----
.../dlt-daemon/dlt-daemon/567.patch | 36 --
...-daemon_2.18.10.bb => dlt-daemon_3.0.0.bb} | 10 +-
9 files changed, 610 insertions(+), 262 deletions(-)
delete mode 100644
meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-CMakeLists-txt-make-DLT_WatchdogSec-can-be-set-by-user.patch
create mode 100644
meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-build-failures.patch
create mode 100644
meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-compile-failure-related-to-gzlog.patch
create mode 100644
meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-kinds-of-build-failure.patch
delete mode 100644
meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0003-allow-build-with-cmake-4.patch
delete mode 100644 meta-oe/recipes-extended/dlt-daemon/dlt-daemon/544.patch
delete mode 100644 meta-oe/recipes-extended/dlt-daemon/dlt-daemon/567.patch
rename meta-oe/recipes-extended/dlt-daemon/{dlt-daemon_2.18.10.bb =>
dlt-daemon_3.0.0.bb} (91%)
diff --git a/meta-oe/recipes-core/glib-2.0/glibmm-2.68_2.86.0.bb
b/meta-oe/recipes-core/glib-2.0/glibmm-2.68_2.86.0.bb
index 621a85456d..b0c83f7eba 100644
--- a/meta-oe/recipes-core/glib-2.0/glibmm-2.68_2.86.0.bb
+++ b/meta-oe/recipes-core/glib-2.0/glibmm-2.68_2.86.0.bb
@@ -2,8 +2,8 @@ SUMMARY = "C++ bindings for the glib library"
HOMEPAGE = "http://www.gtkmm.org/"
SECTION = "libs"
LICENSE = "LGPL-2.1-only & GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=42dfffebc56fec7527aac53b7a89d1d8 \
- file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4bf661c1e3793e55c8d1051bc5e0ae21 \
+ file://COPYING.tools;md5=570a9b3749dd0463a1778803b12a6dce"
DEPENDS = "mm-common glib-2.0 libsigc++-3 glib-2.0-native"
diff --git
a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-CMakeLists-txt-make-DLT_WatchdogSec-can-be-set-by-user.patch
b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-CMakeLists-txt-make-DLT_WatchdogSec-can-be-set-by-user.patch
deleted file mode 100644
index 335872c40f..0000000000
---
a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-CMakeLists-txt-make-DLT_WatchdogSec-can-be-set-by-user.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From bc03f142507da92add8ba325fdf8187d47a7d719 Mon Sep 17 00:00:00 2001
-From: Changqing Li <[email protected]>
-Date: Fri, 13 Dec 2024 16:37:24 +0800
-Subject: [PATCH] CMakeLists.txt: make DLT_WatchdogSec can be set by user
-
-In my test env, WatchdogSec default value 2 is not enough, manually
-changed to 3 is ok. This makes dlt.service/dlt-system.service start
-failed during boot time. So, make DLT_WatchdogSec can be set by user, so
-user can set them to proper value at build time, then service can start
-successfully in boot time.
-
-Signed-off-by: Changqing Li <[email protected]>
-
-Upstream-Status: Backport
[https://github.com/COVESA/dlt-daemon/pull/720/commits/bc03f142507da92add8ba325fdf8187d47a7d719]
-
-Signed-off-by: Changqing Li <[email protected]>
----
- systemd/CMakeLists.txt | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/systemd/CMakeLists.txt b/systemd/CMakeLists.txt
-index 16cbe86b5..659378d16 100644
---- a/systemd/CMakeLists.txt
-+++ b/systemd/CMakeLists.txt
-@@ -18,10 +18,14 @@ if(WITH_SYSTEMD)
- set(SYSTEMD_CONFIGURATIONS_FILES_DIR ${SYSTEMD_UNITDIR} )
-
- if(WITH_SYSTEMD_WATCHDOG)
-- set( DLT_WatchdogSec 2 )
-+ if(NOT DEFINED DLT_WatchdogSec)
-+ set(DLT_WatchdogSec 2 CACHE STRING "Watchdog timeout in seconds")
-+ endif()
- message( STATUS "The systemd watchdog is enabled - timeout is set to
${DLT_WatchdogSec} seconds")
- else(WITH_SYSTEMD_WATCHDOG)
-- set( DLT_WatchdogSec 0 )
-+ if(NOT DEFINED DLT_WatchdogSec)
-+ set(DLT_WatchdogSec 0 CACHE STRING "Watchdog timeout in seconds")
-+ endif()
- message( STATUS "The systemd watchdog is disabled")
- endif(WITH_SYSTEMD_WATCHDOG)
diff --git
a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-build-failures.patch
b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-build-failures.patch
new file mode 100644
index 0000000000..6cfa3a5482
--- /dev/null
+++
b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-build-failures.patch
@@ -0,0 +1,360 @@
+From 4813b72cfe82062db41dd1d8cfa7069634d78d9e Mon Sep 17 00:00:00 2001
+From: Changqing Li <[email protected]>
+Date: Mon, 16 Mar 2026 13:28:40 +0800
+Subject: [PATCH] Fix build failures
+
+Fix the following similar build failures, some of the build failure
+reproduced with arm64/riscv64, some of the build reproduced with 32bit
+x86/arm.
+
+dlt_daemon_common.c:2785:26: error: conversion to 'int8_t' {aka 'signed char'}
from 'char' may change the sign of the result [-Werror=sign-conversion]
+
+src/tests/dlt-test-multi-process-client-v2.c:302:49: error: format '%lld'
expects argument of type 'long long int', but argument 2 has type 'time_t' {aka
'long int'} [-Werror=format=]
+ 302 | printf(" Time running (seconds) : %lld\n", time(NULL) -
stats.first_message_time);
+ | ~~~^
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ | | |
+ | long long int
time_t {aka long int}
+ | %ld
+
+src/lib/dlt_user.c:5109:60: error: format '%lld' expects argument of type
'long long int', but argument 4 has type '__off_t' {aka 'long int'}
[-Werror=format=]
+ 5109 | dlt_vlog(LOG_DEBUG, "%s: Current file size=[%lld]\n",
__func__,
+ | ~~~^
+ | |
+ | long long
int
+ | %ld
+ 5110 | st.st_size);
+ | ~~~~~~~~~~
+ | |
+ | __off_t {aka long int}
+
+Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/827]
+
+Signed-off-by: Changqing Li <[email protected]>
+---
+ src/daemon/dlt-daemon.c | 8 ++---
+ src/daemon/dlt_daemon_client.c | 32 ++++++++++----------
+ src/daemon/dlt_daemon_common.c | 4 +--
+ src/lib/dlt_user.c | 18 +++++------
+ src/shared/dlt_common.c | 2 +-
+ src/shared/dlt_multiple_files.c | 2 +-
+ src/tests/dlt-test-multi-process-client-v2.c | 8 ++---
+ src/tests/dlt-test-multi-process-v2.c | 2 +-
+ src/tests/dlt-test-multi-process.c | 2 +-
+ 9 files changed, 39 insertions(+), 39 deletions(-)
+
+diff --git a/src/daemon/dlt-daemon.c b/src/daemon/dlt-daemon.c
+index 523bf33..2ae5bc9 100644
+--- a/src/daemon/dlt-daemon.c
++++ b/src/daemon/dlt-daemon.c
+@@ -457,7 +457,7 @@ int option_file_parser(DltDaemonLocal *daemon_local)
+
+ if (n < 0 || (size_t)n > sizeof(daemon_local->flags.loggingFilename)) {
+ dlt_vlog(LOG_WARNING, "%s: snprintf truncation/error(%ld) %s\n",
+- __func__, n, daemon_local->flags.loggingFilename);
++ __func__, (long int)n, daemon_local->flags.loggingFilename);
+ }
+ daemon_local->flags.enableLoggingFileLimit = false;
+ daemon_local->flags.loggingFileSize = 250000;
+@@ -2501,7 +2501,7 @@ void dlt_daemon_exit_trigger()
+ n = snprintf(tmp, DLT_PATH_MAX, "%s/dlt", dltFifoBaseDir);
+ if (n < 0 || (size_t)n > DLT_PATH_MAX) {
+ dlt_vlog(LOG_WARNING, "%s: snprintf truncation/error(%ld) %s\n",
+- __func__, n, tmp);
++ __func__, (long int)n, tmp);
+ }
+
+ (void)unlink(tmp);
+@@ -2878,8 +2878,8 @@ int dlt_daemon_log_internal(DltDaemon *daemon,
DltDaemonLocal *daemon_local,
+ dlt_daemon_client_send(DLT_DAEMON_SEND_TO_ALL, daemon,daemon_local,
+ msg.headerbuffer, sizeof(DltStorageHeader),
+ msg.headerbuffer + sizeof(DltStorageHeader),
+- (size_t)(msg.headersize -
(int32_t)sizeof(DltStorageHeader)),
+- msg.databuffer, (size_t)msg.datasize, verbose);
++ (int)(msg.headersize -
(int32_t)sizeof(DltStorageHeader)),
++ msg.databuffer, (int)msg.datasize, verbose);
+
+ free(msg.databuffer);
+ }else {
+diff --git a/src/daemon/dlt_daemon_client.c b/src/daemon/dlt_daemon_client.c
+index 50d8f19..20a512b 100644
+--- a/src/daemon/dlt_daemon_client.c
++++ b/src/daemon/dlt_daemon_client.c
+@@ -551,8 +551,8 @@ int dlt_daemon_client_send_message_to_all_client(DltDaemon
*daemon,
+ return dlt_daemon_client_send(DLT_DAEMON_SEND_TO_ALL, daemon,
daemon_local,
+ daemon_local->msg.headerbuffer, sizeof(DltStorageHeader),
+ daemon_local->msg.headerbuffer + sizeof(DltStorageHeader),
+- (size_t)(daemon_local->msg.headersize -
(int32_t)sizeof(DltStorageHeader)),
+- daemon_local->msg.databuffer,
(size_t)daemon_local->msg.datasize, verbose);
++ (int)(daemon_local->msg.headersize -
(int32_t)sizeof(DltStorageHeader)),
++ daemon_local->msg.databuffer,
(int)daemon_local->msg.datasize, verbose);
+
+ }
+
+@@ -771,8 +771,8 @@ int dlt_daemon_client_send_control_message(int sock,
+ if ((ret =
+ dlt_daemon_client_send(sock, daemon, daemon_local,
msg->headerbuffer, sizeof(DltStorageHeader),
+ msg->headerbuffer +
sizeof(DltStorageHeader),
+- (size_t)(msg->headersize -
(int32_t)sizeof(DltStorageHeader)),
+- msg->databuffer, (size_t)msg->datasize,
verbose))) {
++ (int)(msg->headersize -
(int32_t)sizeof(DltStorageHeader)),
++ msg->databuffer, (int)msg->datasize,
verbose))) {
+ dlt_log(LOG_DEBUG, "dlt_daemon_control_send_control_message: DLT message
send to all failed!.\n");
+ return ret;
+ }
+@@ -1919,7 +1919,7 @@ void dlt_daemon_control_get_log_info(int sock,
+
+ /* Allocate buffer for response message */
+ resp.databuffer = (uint8_t *)malloc((size_t)resp.datasize);
+- resp.databuffersize = (size_t)resp.datasize;
++ resp.databuffersize = resp.datasize;
+
+ if (resp.databuffer == 0) {
+ dlt_daemon_control_service_response(sock,
+@@ -2572,7 +2572,7 @@ int dlt_daemon_control_message_buffer_overflow(int sock,
+
+ if (msg.databuffer == 0) {
+ msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
+- msg.databuffersize = (size_t)msg.datasize;
++ msg.databuffersize = msg.datasize;
+ }
+
+ if (msg.databuffer == 0)
+@@ -2633,7 +2633,7 @@ int dlt_daemon_control_message_buffer_overflow_v2(int
sock,
+
+ if (msg.databuffer == 0) {
+ msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
+- msg.databuffersize = (size_t)msg.datasize;
++ msg.databuffersize = msg.datasize;
+ }
+
+ if (msg.databuffer == 0)
+@@ -2686,7 +2686,7 @@ void dlt_daemon_control_service_response(int sock,
+
+ if (msg.databuffer == 0) {
+ msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
+- msg.databuffersize = (size_t)msg.datasize;
++ msg.databuffersize = msg.datasize;
+ }
+
+ if (msg.databuffer == 0)
+@@ -2732,7 +2732,7 @@ void dlt_daemon_control_service_response_v2(int sock,
+
+ if (msg.databuffer == 0) {
+ msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
+- msg.databuffersize = (size_t)msg.datasize;
++ msg.databuffersize = msg.datasize;
+ }
+
+ if (msg.databuffer == 0)
+@@ -2779,7 +2779,7 @@ int dlt_daemon_control_message_unregister_context(int
sock,
+
+ if (msg.databuffer == 0) {
+ msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
+- msg.databuffersize = (size_t)msg.datasize;
++ msg.databuffersize = msg.datasize;
+ }
+
+ if (msg.databuffer == 0)
+@@ -2842,7 +2842,7 @@ int dlt_daemon_control_message_unregister_context_v2(int
sock,
+
+ if (msg.databuffer == 0) {
+ msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
+- msg.databuffersize = (size_t)msg.datasize;
++ msg.databuffersize = msg.datasize;
+ }
+
+ if (msg.databuffer == 0)
+@@ -2909,7 +2909,7 @@ int dlt_daemon_control_message_connection_info(int sock,
+
+ if (msg.databuffer == 0) {
+ msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
+- msg.databuffersize = (size_t)msg.datasize;
++ msg.databuffersize = msg.datasize;
+ }
+
+ if (msg.databuffer == 0)
+@@ -2962,7 +2962,7 @@ int dlt_daemon_control_message_connection_info_v2(int
sock,
+
+ if (msg.databuffer == 0) {
+ msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
+- msg.databuffersize = (size_t)msg.datasize;
++ msg.databuffersize = msg.datasize;
+ }
+
+ if (msg.databuffer == 0)
+@@ -3010,7 +3010,7 @@ int dlt_daemon_control_message_timezone(int sock,
DltDaemon *daemon, DltDaemonLo
+
+ if (msg.databuffer == 0) {
+ msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
+- msg.databuffersize = (size_t)msg.datasize;
++ msg.databuffersize = msg.datasize;
+ }
+
+ if (msg.databuffer == 0)
+@@ -3072,7 +3072,7 @@ int dlt_daemon_control_message_timezone_v2(int sock,
DltDaemon *daemon, DltDaemo
+
+ if (msg.databuffer == 0) {
+ msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
+- msg.databuffersize = (size_t)msg.datasize;
++ msg.databuffersize = msg.datasize;
+ }
+
+ if (msg.databuffer == 0)
+@@ -3127,7 +3127,7 @@ int dlt_daemon_control_message_marker(int sock,
DltDaemon *daemon, DltDaemonLoca
+
+ if (msg.databuffer == 0) {
+ msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
+- msg.databuffersize = (size_t)msg.datasize;
++ msg.databuffersize = msg.datasize;
+ }
+
+ if (msg.databuffer == 0)
+diff --git a/src/daemon/dlt_daemon_common.c b/src/daemon/dlt_daemon_common.c
+index 2f08c6a..65b264a 100644
+--- a/src/daemon/dlt_daemon_common.c
++++ b/src/daemon/dlt_daemon_common.c
+@@ -2782,7 +2782,7 @@ int dlt_daemon_user_send_log_state(DltDaemon *daemon,
DltDaemonApplication *app,
+ if (dlt_user_set_userheader(&userheader, DLT_USER_MESSAGE_LOG_STATE) <
DLT_RETURN_OK)
+ return -1;
+
+- logstate.log_state = daemon->connectionState;
++ logstate.log_state = (int8_t)daemon->connectionState;
+
+ /* log to FIFO */
+ ret = dlt_user_log_out2_with_timeout(app->user_handle,
+@@ -2811,7 +2811,7 @@ int dlt_daemon_user_send_log_state_v2(DltDaemon *daemon,
DltDaemonApplication *a
+ if (dlt_user_set_userheader_v2(&userheader, DLT_USER_MESSAGE_LOG_STATE) <
DLT_RETURN_OK)
+ return -1;
+
+- logstate.log_state = daemon->connectionState;
++ logstate.log_state = (int8_t)daemon->connectionState;
+
+ /* log to FIFO */
+ ret = dlt_user_log_out2_with_timeout(app->user_handle,
+diff --git a/src/lib/dlt_user.c b/src/lib/dlt_user.c
+index 6d0098d..e432e26 100644
+--- a/src/lib/dlt_user.c
++++ b/src/lib/dlt_user.c
+@@ -5106,8 +5106,8 @@ DltReturnValue dlt_user_log_send_log(DltContextData
*log, const int mtype, int *
+ return DLT_RETURN_ERROR;
+ }
+
+- dlt_vlog(LOG_DEBUG, "%s: Current file size=[%ld]\n", __func__,
+- st.st_size);
++ dlt_vlog(LOG_DEBUG, "%s: Current file size=[%lld]\n", __func__,
++ (long long int)st.st_size);
+ /* Check filesize */
+ /* Return error if the file size has reached to maximum */
+ unsigned int msg_size = (unsigned int)st.st_size + (unsigned
int)msg.headersize +
+@@ -5115,8 +5115,8 @@ DltReturnValue dlt_user_log_send_log(DltContextData
*log, const int mtype, int *
+ if (msg_size > dlt_user.filesize_max) {
+ dlt_user_file_reach_max = true;
+ dlt_vlog(LOG_ERR,
+- "%s: File size (%ld bytes) reached to defined maximum
size (%d bytes)\n",
+- __func__, st.st_size, dlt_user.filesize_max);
++ "%s: File size (%lld bytes) reached to defined maximum
size (%d bytes)\n",
++ __func__, (long long int)st.st_size,
dlt_user.filesize_max);
+ dlt_mutex_unlock();
+ return DLT_RETURN_FILESZERR;
+ }
+@@ -5612,21 +5612,21 @@ DltReturnValue dlt_user_log_send_log_v2(DltContextData
*log, const int mtype, Dl
+ return DLT_RETURN_ERROR;
+ }
+
+- dlt_vlog(LOG_DEBUG, "%s: Current file size=[%ld]\n", __func__,
+- st.st_size);
++ dlt_vlog(LOG_DEBUG, "%s: Current file size=[%lld]\n", __func__,
++ (long long int)st.st_size);
+ /* Check filesize */
+ /* Return error if the file size has reached to maximum */
+ unsigned int msg_size = 0;
+ if (st.st_size < 0 || st.st_size > UINT_MAX) {
+- dlt_vlog(LOG_ERR, "%s: File size (%ld bytes) is invalid or too
large for unsigned int\n", __func__, st.st_size);
++ dlt_vlog(LOG_ERR, "%s: File size (%lld bytes) is invalid or too
large for unsigned int\n", __func__, (long long int)st.st_size);
+ return DLT_RETURN_FILESZERR;
+ }
+ msg_size = (unsigned int)st.st_size + (unsigned int)
msg.headersizev2 + (unsigned int) log->size;
+ if (msg_size > dlt_user.filesize_max) {
+ dlt_user_file_reach_max = true;
+ dlt_vlog(LOG_ERR,
+- "%s: File size (%ld bytes) reached to defined maximum
size (%d bytes)\n",
+- __func__, st.st_size, dlt_user.filesize_max);
++ "%s: File size (%lld bytes) reached to defined maximum
size (%d bytes)\n",
++ __func__, (long long int)st.st_size,
dlt_user.filesize_max);
+ return DLT_RETURN_FILESZERR;
+ }
+ else {
+diff --git a/src/shared/dlt_common.c b/src/shared/dlt_common.c
+index 6ad354b..aa0aaaa 100644
+--- a/src/shared/dlt_common.c
++++ b/src/shared/dlt_common.c
+@@ -1220,7 +1220,7 @@ DltReturnValue dlt_message_header_flags_v2(DltMessageV2
*msg, char *text, size_t
+ for (int i = 0; i<5; ++i){
+ tt = (tt << 8) | msg->headerextrav2.seconds[i];
+ }
+- snprintf(text + strlen(text), textlength - strlen(text), "%ld.%.9u
", tt, msg->headerextrav2.nanoseconds);
++ snprintf(text + strlen(text), textlength - strlen(text), "%lld.%.9u
", (long long int)tt, msg->headerextrav2.nanoseconds);
+ }
+ else
+ snprintf(text + strlen(text), textlength - strlen(text), "----------
");
+diff --git a/src/shared/dlt_multiple_files.c b/src/shared/dlt_multiple_files.c
+index c4019e5..65529ff 100644
+--- a/src/shared/dlt_multiple_files.c
++++ b/src/shared/dlt_multiple_files.c
+@@ -257,7 +257,7 @@ ssize_t multiple_files_buffer_get_total_size(const
MultipleFilesRingBuffer *file
+ if (((unsigned int)res < sizeof(filename)) && (res > 0)) {
+ errno = 0;
+ if (0 == stat(filename, &status))
+- size += status.st_size;
++ size += (ssize_t)status.st_size;
+ else
+ fprintf(stderr, "file %s cannot be stat-ed, error=%s\n",
filename, strerror(errno));
+ }
+diff --git a/src/tests/dlt-test-multi-process-client-v2.c
b/src/tests/dlt-test-multi-process-client-v2.c
+index 2bb1158..ec99720 100644
+--- a/src/tests/dlt-test-multi-process-client-v2.c
++++ b/src/tests/dlt-test-multi-process-client-v2.c
+@@ -299,10 +299,10 @@ void print_stats(s_statistics stats, s_parameters params)
+ printf(" Messages received : %d\n", stats.messages_received);
+ printf(" Broken messages received : %d\n",
stats.broken_messages_received);
+ printf(" Bytes received : %d\n", stats.bytes_received);
+- printf(" Time running (seconds) : %ld\n", time(NULL) -
stats.first_message_time);
+- printf(" Throughput (msgs/sec)/(B/sec) : %ld/%ld\n",
+- stats.messages_received / ((time(NULL) - stats.first_message_time)
+ 1),
+- (stats.bytes_received) / ((time(NULL) - stats.first_message_time)
+ 1));
++ printf(" Time running (seconds) : %lld\n", (long long
int)(time(NULL) - stats.first_message_time));
++ printf(" Throughput (msgs/sec)/(B/sec) : %lld/%lld\n",
++ (long long int)(stats.messages_received / ((time(NULL) -
stats.first_message_time) + 1)),
++ (long long int)((stats.bytes_received) / ((time(NULL) -
stats.first_message_time) + 1)));
+
+ if (params.messages_left == 0) {
+ if (stats.broken_messages_received == 0)
+diff --git a/src/tests/dlt-test-multi-process-v2.c
b/src/tests/dlt-test-multi-process-v2.c
+index 44a8622..1d3a54a 100644
+--- a/src/tests/dlt-test-multi-process-v2.c
++++ b/src/tests/dlt-test-multi-process-v2.c
+@@ -393,7 +393,7 @@ void *do_logging(void *arg)
+
+ sleep_time = mksleep_time(data->params.delay,
data->params.delay_fudge);
+ ts.tv_sec = sleep_time / 1000000000;
+- ts.tv_nsec = sleep_time % 1000000000;
++ ts.tv_nsec = (long int)(sleep_time % 1000000000);
+ nanosleep(&ts, NULL);
+ }
+
+diff --git a/src/tests/dlt-test-multi-process.c
b/src/tests/dlt-test-multi-process.c
+index 016c8b4..00fb11c 100644
+--- a/src/tests/dlt-test-multi-process.c
++++ b/src/tests/dlt-test-multi-process.c
+@@ -370,7 +370,7 @@ void *do_logging(void *arg)
+
+ sleep_time = mksleep_time(data->params.delay,
data->params.delay_fudge);
+ ts.tv_sec = sleep_time / 1000000000;
+- ts.tv_nsec = sleep_time % 1000000000;
++ ts.tv_nsec = (long int)(sleep_time % 1000000000);
+ nanosleep(&ts, NULL);
+ }
+
+--
+2.34.1
+
diff --git
a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-compile-failure-related-to-gzlog.patch
b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-compile-failure-related-to-gzlog.patch
new file mode 100644
index 0000000000..f9692d9f4d
--- /dev/null
+++
b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-compile-failure-related-to-gzlog.patch
@@ -0,0 +1,69 @@
+From bee9bce043c72de1d27a4251333ace9fe66bcc74 Mon Sep 17 00:00:00 2001
+From: Changqing Li <[email protected]>
+Date: Thu, 12 Mar 2026 19:37:11 +0800
+Subject: [PATCH] Fix compile failure related to gzlog
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+* In commit [1], gzlog is changed from gzFile to gzFile*, this cause
+ failure:
+/dlt-daemon/src/offlinelogstorage/dlt_offline_logstorage.c:88:21: error:
passing argument 1 of ‘gzclose’ from incompatible pointer type
[-Werror=incompatible-pointer-types]
+ 88 | gzclose(data->gzlog);
+ | ~~~~^~~~~~~
+ | |
+ | struct gzFile_s **
+compilation terminated due to -Wfatal-errors.
+
+so change gzlog back to gzFile, so that all the gzxxx function can work
+well.
+
+* Change to gzFile causes the following failure, since fileno need
+ FILE*, according to code "config->gzlog = gzdopen(config->fd, mode)",
+ seems we don't need to use fileno, just use config->fd is ok.
+/dlt-daemon/src/offlinelogstorage/dlt_offline_logstorage_behavior.c:1133:48:
error: passing argument 1 of ‘fileno’ from incompatible pointer type
[-Werror=incompatible-pointer-types]
+ 1133 | if (fsync(fileno(config->gzlog)) != 0) {
+ | ~~~~~~^~~~~~~
+ | |
+ | gzFile {aka struct
gzFile_s *}
+compilation terminated due to -Wfatal-errors.
+
+[1]
https://github.com/COVESA/dlt-daemon/commit/543087ba98c103dc576edadeccf614c9dab1b9b3
+
+Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/826]
+
+Signed-off-by: Changqing Li <[email protected]>
+---
+ src/offlinelogstorage/dlt_offline_logstorage.h | 2 +-
+ src/offlinelogstorage/dlt_offline_logstorage_behavior.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/offlinelogstorage/dlt_offline_logstorage.h
b/src/offlinelogstorage/dlt_offline_logstorage.h
+index fe38687..09ea5ce 100644
+--- a/src/offlinelogstorage/dlt_offline_logstorage.h
++++ b/src/offlinelogstorage/dlt_offline_logstorage.h
+@@ -217,7 +217,7 @@ struct DltLogStorageFilterConfig
+ FILE *log; /* current open log file */
+ int fd; /* The file descriptor for the active log
file */
+ #ifdef DLT_LOGSTORAGE_USE_GZIP
+- gzFile *gzlog; /* current open gz log file */
++ gzFile gzlog; /* current open gz log file */
+ #endif
+ void *cache; /* log data cache */
+ unsigned int specific_size; /* cache size used for specific_size sync
strategy */
+diff --git a/src/offlinelogstorage/dlt_offline_logstorage_behavior.c
b/src/offlinelogstorage/dlt_offline_logstorage_behavior.c
+index f17fbb2..ff09c9e 100644
+--- a/src/offlinelogstorage/dlt_offline_logstorage_behavior.c
++++ b/src/offlinelogstorage/dlt_offline_logstorage_behavior.c
+@@ -1130,7 +1130,7 @@ int
dlt_logstorage_prepare_on_msg(DltLogStorageFilterConfig *config,
+ (config->sync == DLT_LOGSTORAGE_SYNC_UNSET)) {
+ #ifdef DLT_LOGSTORAGE_USE_GZIP
+ if (config->gzip_compression == DLT_LOGSTORAGE_GZIP_ON) {
+- if (fsync(fileno(config->gzlog)) != 0) {
++ if (fsync(config->fd) != 0) {
+ if (errno != ENOSYS) {
+ dlt_vlog(LOG_ERR, "%s: failed to sync gzip log
file\n", __func__);
+ }
+--
+2.34.1
+
diff --git
a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-kinds-of-build-failure.patch
b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-kinds-of-build-failure.patch
new file mode 100644
index 0000000000..403d1089e2
--- /dev/null
+++
b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-kinds-of-build-failure.patch
@@ -0,0 +1,174 @@
+From 3d713358fe19ce02e7c580d26222ec2386c94bc9 Mon Sep 17 00:00:00 2001
+From: Changqing Li <[email protected]>
+Date: Thu, 12 Mar 2026 20:06:34 +0800
+Subject: [PATCH] Fix kinds of build failure
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Fix kinds of build failures caused by -Werror=sign-conversion,
+-Werror=cast-qual, -Werror=conversion etc.
+Eg:
+src/offlinelogstorage/dlt_offline_logstorage.h:129:49: error: unsigned
conversion from ‘int’ to ‘unsigned int’ changes value from ‘-1’ to ‘4294967295’
[-Werror=sign-conversion]
+ 129 | #define DLT_LOGSTORAGE_GZIP_ERROR -1 /* error case */
+ | ^
+/dlt-daemon/src/offlinelogstorage/dlt_offline_logstorage.c:1303:36: note: in
expansion of macro ‘DLT_LOGSTORAGE_GZIP_ERROR’
+ 1303 | config->gzip_compression = DLT_LOGSTORAGE_GZIP_ERROR;
+
+ | ^~~~~~~~~~~~~~~~~~~~~~~~~
+
+src/offlinelogstorage/dlt_offline_logstorage_behavior.c:851:16: error:
conversion from ‘z_size_t’ {aka ‘long unsigned int’} to ‘int’ may change value
[-Werror=conversion]
+ 851 | return gzfwrite(ptr, size, nmemb, config->gzlog);
+ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+src/console/dlt-control-common.c:922:25: error: cast discards 'const'
qualifier from pointer target type [-Werror=cast-qual]
+ 922 | json_object_to_file((char*)filename, json_filter_obj);
+ |
+
+Use explicit type conversion to make the build can pass
+
+Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/826]
+
+Signed-off-by: Changqing Li <[email protected]>
+---
+ src/console/dlt-control-common.c | 2 +-
+ src/daemon/dlt-daemon.c | 4 ++--
+ src/daemon/udp_connection/dlt_daemon_udp_socket.c | 10 +++++-----
+ src/examples/dlt-example-multicast-clientmsg-view.c | 8 ++++----
+ src/offlinelogstorage/dlt_offline_logstorage.h | 2 +-
+ .../dlt_offline_logstorage_behavior.c | 4 ++--
+ 6 files changed, 15 insertions(+), 15 deletions(-)
+
+diff --git a/src/console/dlt-control-common.c
b/src/console/dlt-control-common.c
+index 2aeea280..4f9e95b4 100644
+--- a/src/console/dlt-control-common.c
++++ b/src/console/dlt-control-common.c
+@@ -919,7 +919,7 @@ DltReturnValue dlt_json_filter_save(DltFilter *filter,
const char *filename, int
+ }
+
+ printf("Saving current filter into '%s'\n", filename);
+- json_object_to_file((char*)filename, json_filter_obj);
++ json_object_to_file(filename, json_filter_obj);
+
+ return DLT_RETURN_OK;
+ }
+diff --git a/src/daemon/dlt-daemon.c b/src/daemon/dlt-daemon.c
+index 97af1cd9..94024eb4 100644
+--- a/src/daemon/dlt-daemon.c
++++ b/src/daemon/dlt-daemon.c
+@@ -867,7 +867,7 @@ int option_file_parser(DltDaemonLocal *daemon_local)
+
+ if ((longval == MULTICAST_CONNECTION_DISABLED)
+ || (longval == MULTICAST_CONNECTION_ENABLED)) {
+- daemon_local->UDPConnectionSetup = longval;
++ daemon_local->UDPConnectionSetup = (int)longval;
+ printf("Option: %s=%s\n", token, value);
+ }
+ else {
+@@ -884,7 +884,7 @@ int option_file_parser(DltDaemonLocal *daemon_local)
+ }
+ else if (strcmp(token, "UDPMulticastIPPort") == 0)
+ {
+- daemon_local->UDPMulticastIPPort = strtol(value,
NULL, 10);
++ daemon_local->UDPMulticastIPPort = (int)strtol(value,
NULL, 10);
+ }
+ #endif
+ else if (strcmp(token, "BindAddress") == 0)
+diff --git a/src/daemon/udp_connection/dlt_daemon_udp_socket.c
b/src/daemon/udp_connection/dlt_daemon_udp_socket.c
+index 4c40cda8..b3408773 100644
+--- a/src/daemon/udp_connection/dlt_daemon_udp_socket.c
++++ b/src/daemon/udp_connection/dlt_daemon_udp_socket.c
+@@ -66,7 +66,7 @@ void dlt_daemon_udp_setmulticast_addr(DltDaemonLocal
*daemon_local)
+ struct sockaddr_in clientaddr;
+ clientaddr.sin_family = AF_INET;
+ inet_pton(AF_INET, daemon_local->UDPMulticastIPAddress,
&clientaddr.sin_addr);
+- clientaddr.sin_port = htons(daemon_local->UDPMulticastIPPort);
++ clientaddr.sin_port = htons((uint16_t)daemon_local->UDPMulticastIPPort);
+ memcpy(&g_udpmulticast_addr.clientaddr, &clientaddr, sizeof(struct
sockaddr_in));
+ g_udpmulticast_addr.clientaddr_size =
sizeof(g_udpmulticast_addr.clientaddr);
+ g_udpmulticast_addr.isvalidflag = ADDRESS_VALID;
+@@ -224,17 +224,17 @@ void
dlt_daemon_udp_clientmsg_send(DltDaemonClientSockInfo *clientinfo,
+
+ if ((clientinfo->isvalidflag == ADDRESS_VALID) &&
+ (size1 > 0) && (size2 > 0)) {
+- void *data = (void *)calloc(size1 + size2, sizeof(char));
++ void *data = (void *)calloc((size_t)(size1 + size2), sizeof(char));
+
+ if (data == NULL) {
+ dlt_vlog(LOG_ERR, "%s: calloc failure\n", __func__);
+ return;
+ }
+
+- memcpy(data, data1, size1);
+- memcpy(data + size1, data2, size2);
++ memcpy(data, data1, (size_t)size1);
++ memcpy((int*)data + size1, data2, (size_t)size2);
+
+- if (sendto(g_udp_sock_fd, data, size1 + size2, 0, (struct sockaddr
*)&clientinfo->clientaddr,
++ if (sendto(g_udp_sock_fd, data, (size_t)(size1 + size2), 0, (struct sockaddr
*)&clientinfo->clientaddr,
+ clientinfo->clientaddr_size) < 0)
+ dlt_vlog(LOG_ERR, "%s: Send UDP Packet Data failed\n", __func__);
+
+diff --git a/src/examples/dlt-example-multicast-clientmsg-view.c
b/src/examples/dlt-example-multicast-clientmsg-view.c
+index c00537e5..f8920453 100644
+--- a/src/examples/dlt-example-multicast-clientmsg-view.c
++++ b/src/examples/dlt-example-multicast-clientmsg-view.c
+@@ -74,9 +74,9 @@ int dlt_receiver_receive_socket_udp(struct clientinfostruct
*clientinfo, DltRece
+ /* wait for data from socket */
+ unsigned int addrlen = sizeof(clientinfo->addr);
+
+- if ((receiver->bytesRcvd = recvfrom(clientinfo->fd,
++ if ((receiver->bytesRcvd = (int32_t)recvfrom(clientinfo->fd,
+ receiver->buf +
receiver->lastBytesRcvd,
+- receiver->buffersize -
receiver->lastBytesRcvd,
++ (size_t)(receiver->buffersize -
receiver->lastBytesRcvd),
+ 0,
+ (struct sockaddr *)&(clientinfo->addr),
&addrlen))
+ <= 0) {
+@@ -177,11 +177,11 @@ int main()
+ dlt_receiver_receive_socket_udp(&clientinfo, &(clientinfo.receiver));
+
+ while (dlt_message_read(&msg, (unsigned char
*)(clientinfo.receiver.buf),
+- clientinfo.receiver.bytesRcvd, 0, 0) ==
DLT_MESSAGE_ERROR_OK) {
++ (unsigned int)clientinfo.receiver.bytesRcvd,
0, 0) == DLT_MESSAGE_ERROR_OK) {
+ dlt_receive_message_callback_udp(&msg);
+
+ if (dlt_receiver_remove(&(clientinfo.receiver),
+- msg.headersize + msg.datasize -
sizeof(DltStorageHeader))
++ msg.headersize + msg.datasize -
((int32_t)(sizeof(DltStorageHeader))))
+ == DLT_RETURN_ERROR) {
+ /* Return value ignored */
+ dlt_message_free(&msg, 0);
+diff --git a/src/offlinelogstorage/dlt_offline_logstorage.h
b/src/offlinelogstorage/dlt_offline_logstorage.h
+index 09ea5ce4..cfb70f33 100644
+--- a/src/offlinelogstorage/dlt_offline_logstorage.h
++++ b/src/offlinelogstorage/dlt_offline_logstorage.h
+@@ -192,7 +192,7 @@ struct DltLogStorageFilterConfig
+ int overwrite; /* Overwrite strategy */
+ int skip; /* Flag to skip file logging if
DISCARD_NEW */
+ char *ecuid; /* ECU identifier */
+- unsigned int gzip_compression; /* Toggle if log files should be gzip
compressed */
++ int gzip_compression; /* Toggle if log files should be gzip
compressed */
+ /* callback function for filter configurations */
+ int (*dlt_logstorage_prepare)(DltLogStorageFilterConfig *config,
+ DltLogStorageUserConfig *file_config,
+diff --git a/src/offlinelogstorage/dlt_offline_logstorage_behavior.c
b/src/offlinelogstorage/dlt_offline_logstorage_behavior.c
+index ff09c9eb..ae8f4442 100644
+--- a/src/offlinelogstorage/dlt_offline_logstorage_behavior.c
++++ b/src/offlinelogstorage/dlt_offline_logstorage_behavior.c
+@@ -848,10 +848,10 @@ DLT_STATIC int dlt_logstorage_write_to_log(void *ptr,
size_t size, size_t nmemb,
+ {
+ #ifdef DLT_LOGSTORAGE_USE_GZIP
+ if (config->gzip_compression == DLT_LOGSTORAGE_GZIP_ON) {
+- return gzfwrite(ptr, size, nmemb, config->gzlog);
++ return (int)gzfwrite(ptr, size, nmemb, config->gzlog);
+ }
+ else {
+- return fwrite(ptr, size, nmemb, config->log);
++ return (int)fwrite(ptr, size, nmemb, config->log);
+ }
+ #else
+ return (int)fwrite(ptr, size, nmemb, config->log);
+--
+2.34.1
+
diff --git
a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0003-allow-build-with-cmake-4.patch
b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0003-allow-build-with-cmake-4.patch
deleted file mode 100644
index ac5fec5684..0000000000
---
a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0003-allow-build-with-cmake-4.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From ae23f2cccc169874d89903cad24bf36e19bef659 Mon Sep 17 00:00:00 2001
-From: Alper Ak <[email protected]>
-Date: Wed, 9 Jul 2025 18:18:33 +0300
-Subject: [PATCH] cmake: Set minimum required version to 3.5 for CMake 4+
- compatibility
-
-Fix:
-
-| CMake Error at CMakeLists.txt:17 (cmake_minimum_required):
-| Compatibility with CMake < 3.5 has been removed from CMake.
-|
-| Update the VERSION argument <min> value. Or, use the <min>...<max> syntax
-| to tell CMake that the project requires at least <min> but has been updated
-| to work with policies introduced by <max> or earlier.
-|
-| Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.
-|
-|
-| -- Configuring incomplete, errors occurred!
-
-Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/755]
-
-Signed-off-by: Alper Ak <[email protected]>
----
- CMakeLists.txt | 2 +-
- examples/example1/CMakeLists.txt | 2 +-
- examples/example2/CMakeLists.txt | 2 +-
- examples/example3/CMakeLists.txt | 2 +-
- examples/example4/CMakeLists.txt | 2 +-
- 5 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 94185b8..2a0f619 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -14,7 +14,7 @@
- #######
-
- # Set minimum Cmake version and setup policy behavior
--cmake_minimum_required(VERSION 3.3)
-+cmake_minimum_required(VERSION 3.5)
-
- if(${CMAKE_VERSION} VERSION_GREATER "3.20" OR ${CMAKE_VERSION} VERSION_EQUAL
"3.20")
- cmake_policy(SET CMP0115 OLD)
-diff --git a/examples/example1/CMakeLists.txt
b/examples/example1/CMakeLists.txt
-index 60644a1..44cd053 100644
---- a/examples/example1/CMakeLists.txt
-+++ b/examples/example1/CMakeLists.txt
-@@ -17,7 +17,7 @@
- # DLT example implementation
- #
-
--cmake_minimum_required( VERSION 2.6 )
-+cmake_minimum_required( VERSION 3.5 )
- project( automotive-dlt-example1 )
-
- #
-diff --git a/examples/example2/CMakeLists.txt
b/examples/example2/CMakeLists.txt
-index 66a4f24..a8efbcf 100644
---- a/examples/example2/CMakeLists.txt
-+++ b/examples/example2/CMakeLists.txt
-@@ -17,7 +17,7 @@
- # DLT example implementation
- #
-
--cmake_minimum_required( VERSION 2.6 )
-+cmake_minimum_required( VERSION 3.5 )
- project( automotive-dlt-example2 )
-
- #
-diff --git a/examples/example3/CMakeLists.txt
b/examples/example3/CMakeLists.txt
-index 45b7467..4d4958d 100644
---- a/examples/example3/CMakeLists.txt
-+++ b/examples/example3/CMakeLists.txt
-@@ -17,7 +17,7 @@
- # DLT example implementation
- #
-
--cmake_minimum_required( VERSION 2.6 )
-+cmake_minimum_required( VERSION 3.5 )
- project( automotive-dlt-example3 )
-
- #
-diff --git a/examples/example4/CMakeLists.txt
b/examples/example4/CMakeLists.txt
-index 53a4fad..161c333 100644
---- a/examples/example4/CMakeLists.txt
-+++ b/examples/example4/CMakeLists.txt
-@@ -17,7 +17,7 @@
- # DLT example implementation
- #
-
--cmake_minimum_required( VERSION 2.6 )
-+cmake_minimum_required( VERSION 3.5 )
- project( automotive-dlt-example4 )
-
- #
---
-2.43.0
-
diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/544.patch
b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/544.patch
deleted file mode 100644
index 3699b8c83a..0000000000
--- a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/544.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/544]
-
-From 8121a979026d5fcb05bd4e5d3a0647f321b56106 Mon Sep 17 00:00:00 2001
-From: Gianfranco Costamagna <[email protected]>
-Date: Thu, 28 Sep 2023 12:54:23 +0200
-Subject: [PATCH] Add common dlt_cdh_cpuinfo.c to unblock build on non amd64
- and i386 arcs
-
----
- src/core_dump_handler/dlt_cdh.h | 2 ++
- src/core_dump_handler/dlt_cdh_cpuinfo.c | 33 +++++++++++++++++++++++++
- src/core_dump_handler/dlt_cdh_crashid.c | 2 +-
- 3 files changed, 36 insertions(+), 1 deletion(-)
- create mode 100644 src/core_dump_handler/dlt_cdh_cpuinfo.c
-
-diff --git a/src/core_dump_handler/dlt_cdh.h b/src/core_dump_handler/dlt_cdh.h
-index d572ecf3..8608c6c4 100644
---- a/src/core_dump_handler/dlt_cdh.h
-+++ b/src/core_dump_handler/dlt_cdh.h
-@@ -55,6 +55,8 @@ typedef struct
- uint64_t pc;
- uint64_t ip;
- uint64_t lr;
-+ uint64_t sp;
-+ uint64_t fp;
-
- } cdh_registers_t;
-
-diff --git a/src/core_dump_handler/dlt_cdh_cpuinfo.c
b/src/core_dump_handler/dlt_cdh_cpuinfo.c
-new file mode 100644
-index 00000000..03509fda
---- /dev/null
-+++ b/src/core_dump_handler/dlt_cdh_cpuinfo.c
-@@ -0,0 +1,33 @@
-+/*
-+ * SPDX license identifier: MPL-2.0
-+ *
-+ * Copyright (C) 2011-2015, BMW AG
-+ *
-+ * This file is part of COVESA Project DLT - Diagnostic Log and Trace.
-+ *
-+ * This Source Code Form is subject to the terms of the
-+ * Mozilla Public License (MPL), v. 2.0.
-+ * If a copy of the MPL was not distributed with this file,
-+ * You can obtain one at http://mozilla.org/MPL/2.0/.
-+ *
-+ * For further information see http://www.covesa.org/.
-+ */
-+
-+/*!
-+ * \author Gianfranco Costamagna <[email protected]>
-+ *
-+ * \copyright Copyright © 2011-2015 BMW AG. \n
-+ * License MPL-2.0: Mozilla Public License version 2.0
http://mozilla.org/MPL/2.0/.
-+ *
-+ * \file dlt_cdh_cpuinfo.c
-+ */
-+
-+#include "dlt_cdh_cpuinfo.h"
-+
-+void get_registers(prstatus_t *prstatus, cdh_registers_t *registers)
-+{
-+/* struct user_regs_struct *ptr_reg = (struct user_regs_struct
*)prstatus->pr_reg;
-+
-+ registers->pc = ptr_reg->pc;*/ /* [REG_PROC_COUNTER]; */
-+
-+}
-diff --git a/src/core_dump_handler/dlt_cdh_crashid.c
b/src/core_dump_handler/dlt_cdh_crashid.c
-index bca44e0e..8dd98d70 100644
---- a/src/core_dump_handler/dlt_cdh_crashid.c
-+++ b/src/core_dump_handler/dlt_cdh_crashid.c
-@@ -30,7 +30,7 @@
- #include <stdio.h>
- #include <string.h>
- #include <errno.h>
--#include <asm/prctl.h>
-+#include <sys/prctl.h>
- #include <inttypes.h>
-
- #include "dlt_cdh.h"
diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/567.patch
b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/567.patch
deleted file mode 100644
index fd36480456..0000000000
--- a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/567.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/567]
-
-From c84e48f6986054cf8b9459e608235b7bd1635746 Mon Sep 17 00:00:00 2001
-From: Gianfranco Costamagna <[email protected]>
-Date: Mon, 13 Nov 2023 12:37:23 +0100
-Subject: [PATCH] dlt_cdh:
-
-Make sure on 64 bit we read an ELF64 structure.
-Otherwise we get a read error, and the context file is missing some good
-to know information
----
- src/core_dump_handler/dlt_cdh.h | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/src/core_dump_handler/dlt_cdh.h b/src/core_dump_handler/dlt_cdh.h
-index 8608c6c4..3dac480a 100644
---- a/src/core_dump_handler/dlt_cdh.h
-+++ b/src/core_dump_handler/dlt_cdh.h
-@@ -45,10 +45,17 @@
- #define CORE_FILE_PATTERN "%s/core.%d.%s.%d.gz"
- #define CONTEXT_FILE_PATTERN "%s/context.%d.%s.%d.txt"
-
-+#if ((__SIZEOF_POINTER) == 4)
- #define ELF_Ehdr Elf32_Ehdr
- #define ELF_Phdr Elf32_Phdr
- #define ELF_Shdr Elf32_Shdr
- #define ELF_Nhdr Elf32_Nhdr
-+#else
-+#define ELF_Ehdr Elf64_Ehdr
-+#define ELF_Phdr Elf64_Phdr
-+#define ELF_Shdr Elf64_Shdr
-+#define ELF_Nhdr Elf64_Nhdr
-+#endif
-
- typedef struct
- {
diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.10.bb
b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_3.0.0.bb
similarity index 91%
rename from meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.10.bb
rename to meta-oe/recipes-extended/dlt-daemon/dlt-daemon_3.0.0.bb
index 82edde6c9d..838a619a42 100644
--- a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.10.bb
+++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_3.0.0.bb
@@ -17,12 +17,11 @@ DEPENDS = "zlib gzip-native json-c"
SRC_URI = "git://github.com/COVESA/${BPN}.git;protocol=https;branch=master \
file://0002-Don-t-execute-processes-as-a-specific-user.patch \
file://0004-Modify-systemd-config-directory.patch \
- file://544.patch \
- file://567.patch \
-
file://0001-CMakeLists-txt-make-DLT_WatchdogSec-can-be-set-by-user.patch \
- file://0003-allow-build-with-cmake-4.patch \
+ file://0001-Fix-compile-failure-related-to-gzlog.patch \
+ file://0001-Fix-kinds-of-build-failure.patch \
+ file://0001-Fix-build-failures.patch \
"
-SRCREV = "0f2d4cfffada6f8448a2cb27995b38eb4271044f"
+SRCREV = "f595ea29d1007ca1c3b2d1fd3a88adf7d3db6320"
PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '
systemd systemd-watchdog systemd-journal ', '', d)} \
@@ -71,4 +70,5 @@ FILES:${PN}-doc += "${datadir}/dlt-filetransfer"
do_install:append() {
rm -f ${D}${bindir}/dlt-test-*
+ sed -i -e 's:${RECIPE_SYSROOT}::g' ${D}/usr/lib/pkgconfig/automotive-dlt.pc
}