From patchwork Sat Apr 11 07:15:37 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Khem Raj X-Patchwork-Id: 85865 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id C3F65F36BA6 for ; Sat, 11 Apr 2026 07:15:46 +0000 (UTC) Received: from mail-dy1-f175.google.com (mail-dy1-f175.google.com [74.125.82.175]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.182658.1775891741690675620 for ; Sat, 11 Apr 2026 00:15:41 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20251104 header.b=QvFChnqI; spf=pass (domain: gmail.com, ip: 74.125.82.175, mailfrom: raj.khem@gmail.com) Received: by mail-dy1-f175.google.com with SMTP id 5a478bee46e88-2bdd40d3c61so2433470eec.1 for ; Sat, 11 Apr 2026 00:15:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775891741; x=1776496541; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=5omdXnKxDxW7kPH/5V+J7pikcnvhyA1SnvBIv/R0W+o=; b=QvFChnqIBEGh0o003BlD+iVSleDI3Sh4yjZbae+kaJiGK+bs6LSoBc2EcwtThKduNH BhBSHIL5bSpmjy9OA594dKjohId/JtR3TAokCnvpwwoJ337nRBu7XxiDO96txpfMvKrk thnuydaOPwPQzcQcb6tHo7ZqP8/IqKqvKJ5n0BK/3chax19DWB/+Nu5rqtvUzFh1EiKr CCTKTL9izkD/gR/LVHGSRxlFWMWppS6o6AB/LjPm+0jsNDXHRyBOhzNUzpNDqaxb5Dqt JuLUnspHd8wngQUg43xRB7E+Ewp8nGwV+xVaQvwfXRHPH1lWE2CDh3vPq/zeRY0r8iN2 H5Ug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775891741; x=1776496541; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=5omdXnKxDxW7kPH/5V+J7pikcnvhyA1SnvBIv/R0W+o=; b=jqX1EfpmJlb8CBhDNQEW/4Jh58Sj9ccL9pmrBqmg6zCP8WT6/mQ/B+5JgBQldwsjTU fxZDXIr0bsps+BgducE8afyh84pjzPiunrZcwmto6ObkeWppkknk7hFYek3b7OCoDKi4 0BGc4Nc+CuvExBUMRfBj3JscsfdybJfGd890ABNcfNNwlrLxviP4FWICXfnd66EFKn0r UlLB5RsR2PObOv8WKBWyCLYrmHvzWiyUmFZdOEVgTzGayU1GC6naA8e/ugoLCLa6En56 18h7Zyvn245DpDKVl0dHw5djlPSrzlGMcs9uH1RUMllcjX193AzLNEUETxfod1r8O9u6 icmw== X-Gm-Message-State: AOJu0YyOhKDSvE+a+hpxCMmy64Ec7Wql1qogpfpOdpcK6mNQeA2DfvY7 7xz/R+bZ5jaJ7tFl/f/4wck9h3KdcV0SQfZ7SHOHbx7dFMSZIgGFo41xhbuRvyAU X-Gm-Gg: AeBDieupUXaMo4tJpktDMCLi5ksC7saF0A+NtWlDjopeWm0DeJVXfKnpcUa9cIfODk0 27XjFwgDloHPdYXedQdGjdth5v+gCuRReF+NiHnNBtqQ4CZT/FrUzSLG6o4ormP/OxQPjMZD+Te teKE5phXk7Jazt05vO/BWS4DwXBiIuLRJBM6EsYooMf6bFhlK13XohteflQmPh/LabB914+xzAd 8zphIbdySWOyA+suxdSvoueO592AJUBqpLsSqVcQEznA7tyuiV0ijLDSTF+FXIZkLBHvnT+gFAu R+tcKXi37EgdJIE2CWP898M+APBx2CLFN2cIK2H0uA/K73Ci7At1Q4w4gsbSm8e4tD5lbwX3T7I G/lQapvDlZCGtm7miCk/zeH0IXts2ATIpPDGwIwR5PuTK4u2VvREnMeieokJGsGHw1oTwNIZYo+ pxKy8wtfvUf+KgdH9q+PXyXPHKoHKoDJMhWXonz6VrcgiYiBZLvmW+YX5U7mSZIjAcmeaCNauZB Dt2SAzbwR7YUmjgzF0mRbXDsZbwLKh2S/UEvNIKjPliluK1nIyqvqEr1PKT X-Received: by 2002:a05:7300:e207:b0:2c5:d833:a4fe with SMTP id 5a478bee46e88-2d5876a10f7mr3615946eec.10.1775891740268; Sat, 11 Apr 2026 00:15:40 -0700 (PDT) Received: from apollo.localdomain ([208.95.233.74]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2d562eb05fcsm7986028eec.28.2026.04.11.00.15.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Apr 2026 00:15:39 -0700 (PDT) From: Khem Raj X-Google-Original-From: Khem Raj To: openembedded-devel@lists.openembedded.org Cc: Khem Raj Subject: [meta-oe][PATCH] dlt-daemon: Fix build with clang-22 Date: Sat, 11 Apr 2026 00:15:37 -0700 Message-ID: <20260411071537.108106-1-khem.raj@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sat, 11 Apr 2026 07:15:46 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/126251 Signed-off-by: Khem Raj --- ...arnings-Fix-clang-generated-warnings.patch | 1003 +++++++++++++++++ .../dlt-daemon/dlt-daemon_3.0.0.bb | 1 + 2 files changed, 1004 insertions(+) create mode 100644 meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-warnings-Fix-clang-generated-warnings.patch diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-warnings-Fix-clang-generated-warnings.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-warnings-Fix-clang-generated-warnings.patch new file mode 100644 index 0000000000..208e433e53 --- /dev/null +++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-warnings-Fix-clang-generated-warnings.patch @@ -0,0 +1,1003 @@ +From 74b36fab6e7e66ca470b7b2ca2a494edd8c673d5 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 10 Apr 2026 23:42:05 -0700 +Subject: [PATCH] warnings: Fix clang generated warnings + +This patch ensures that it can compile with clang-22 + +Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/850] +Signed-off-by: Khem Raj +--- + CMakeLists.txt | 3 + + examples/example1/example1.c | 2 +- + examples/example1_v2/example1.c | 2 +- + examples/example2/example2.c | 2 +- + examples/example2_v2/example2.c | 2 +- + examples/example3/example3.c | 2 +- + examples/example3_v2/example3.c | 2 +- + examples/example4/example4.c | 2 +- + examples/example4_v2/example4.c | 2 +- + src/console/dlt-control-v2.c | 2 +- + src/console/dlt-passive-node-ctrl.c | 8 +-- + src/console/dlt-receive-v2.c | 2 +- + src/console/dlt-sortbytimestamp.c | 2 +- + src/console/logstorage/dlt-logstorage-ctrl.c | 2 +- + src/daemon/dlt-daemon.c | 6 +- + src/daemon/dlt-daemon.h | 2 +- + src/daemon/dlt_daemon_client.c | 6 +- + src/examples/dlt-example-filetransfer.c | 8 ++- + .../dlt-example-multicast-clientmsg-view.c | 4 +- + src/examples/dlt-example-user-common-api.c | 2 +- + src/examples/dlt-example-user-func-v2.c | 2 +- + src/examples/dlt-example-user-func.c | 2 +- + src/examples/dlt-example-user-v2.c | 4 +- + src/examples/dlt-example-user.c | 2 +- + src/lib/dlt_env_ll.c | 3 +- + src/lib/dlt_user.c | 70 +++++++++---------- + .../dlt_offline_logstorage.c | 2 +- + src/shared/dlt_log.c | 8 +-- + src/system/dlt-system-journal.c | 8 ++- + src/system/dlt-system-process-handling.c | 2 +- + src/system/dlt-system-shell.c | 2 +- + src/system/dlt-system.h | 4 +- + src/tests/dlt-test-client-v2.c | 2 +- + src/tests/dlt-test-fork-handler-v2.c | 2 +- + src/tests/dlt-test-fork-handler.c | 2 +- + src/tests/dlt-test-multi-process-v2.c | 8 +-- + src/tests/dlt-test-multi-process.c | 8 +-- + src/tests/dlt-test-non-verbose.c | 4 +- + src/tests/dlt-test-preregister-context-v2.c | 2 +- + src/tests/dlt-test-preregister-context.c | 2 +- + src/tests/dlt-test-qnx-slogger.c | 2 +- + src/tests/dlt-test-stress-client-v2.c | 2 +- + src/tests/dlt-test-stress-user-v2.c | 2 +- + src/tests/dlt-test-stress-v2.c | 2 +- + src/tests/dlt-test-stress.c | 2 +- + src/tests/dlt-test-user-v2.c | 2 +- + src/tests/dlt-test-user.c | 2 +- + tests/dlt_test_receiver.c | 2 +- + 48 files changed, 110 insertions(+), 108 deletions(-) + +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -261,7 +261,11 @@ add_compile_options( + -Wcast-qual + -Wno-system-headers + -Wno-unused-function +- -Wno-stringop-truncation ++ $<$,$>:-Wno-gnu-statement-expression-from-macro-expansion> ++ $<$,$>:-Wno-gnu-statement-expression-from-macro-expansion> ++ $<$:-Wno-gnu-zero-variadic-macro-arguments> ++ $<$,$>:-Wno-stringop-truncation> ++ $<$,$>:-Wno-stringop-truncation> + ) + + if(WITH_DOC STREQUAL "OFF") +--- a/examples/example1/example1.c ++++ b/examples/example1/example1.c +@@ -50,7 +50,7 @@ + + DLT_DECLARE_CONTEXT(con_exa1); + +-int main() ++int main(void) + { + struct timespec ts; + +--- a/examples/example1_v2/example1.c ++++ b/examples/example1_v2/example1.c +@@ -50,7 +50,7 @@ + + DLT_DECLARE_CONTEXT(con_exa1); + +-int main() ++int main(void) + { + struct timespec ts; + +--- a/examples/example2/example2.c ++++ b/examples/example2/example2.c +@@ -52,7 +52,7 @@ + + DLT_DECLARE_CONTEXT(con_exa2); + +-int main() ++int main(void) + { + int num; + struct timespec ts; +--- a/examples/example2_v2/example2.c ++++ b/examples/example2_v2/example2.c +@@ -52,7 +52,7 @@ + + DLT_DECLARE_CONTEXT(con_exa2); + +-int main() ++int main(void) + { + int num; + struct timespec ts; +--- a/examples/example3/example3.c ++++ b/examples/example3/example3.c +@@ -52,7 +52,7 @@ + + DLT_DECLARE_CONTEXT(con_exa3); + +-int main() ++int main(void) + { + int num; + struct timespec ts; +--- a/examples/example3_v2/example3.c ++++ b/examples/example3_v2/example3.c +@@ -52,7 +52,7 @@ + + DLT_DECLARE_CONTEXT(con_exa3); + +-int main() ++int main(void) + { + int num; + struct timespec ts; +--- a/examples/example4/example4.c ++++ b/examples/example4/example4.c +@@ -50,7 +50,7 @@ + + DLT_DECLARE_CONTEXT(con_exa1); + +-int main() ++int main(void) + { + unsigned char buffer[256]; + int num; +--- a/examples/example4_v2/example4.c ++++ b/examples/example4_v2/example4.c +@@ -50,7 +50,7 @@ + + DLT_DECLARE_CONTEXT(con_exa1); + +-int main() ++int main(void) + { + unsigned char buffer[256]; + int num; +--- a/src/console/dlt-control-v2.c ++++ b/src/console/dlt-control-v2.c +@@ -129,7 +129,7 @@ typedef struct { + /** + * Print usage information of tool. + */ +-void usage() ++void usage(void) + { + char version[255]; + +--- a/src/console/dlt-passive-node-ctrl.c ++++ b/src/console/dlt-passive-node-ctrl.c +@@ -118,7 +118,7 @@ void set_node_id(char *id) + } + } + +-char *get_node_id() ++char *get_node_id(void) + { + return g_options.node_id; + } +@@ -211,7 +211,7 @@ static int dlt_passive_node_analyze_resp + * + * @return Pointer ot DltControlMsgBody, NULL otherwise + */ +-DltControlMsgBody *dlt_passive_node_prepare_message_body() ++DltControlMsgBody *dlt_passive_node_prepare_message_body(void) + { + DltControlMsgBody *mb = calloc(1, sizeof(DltControlMsgBody)); + char *ecuid = get_node_id(); +@@ -271,7 +271,7 @@ void dlt_passive_node_destroy_message_bo + * + * @return 0 on success, -1 on error + */ +-static int dlt_passive_node_ctrl_single_request() ++static int dlt_passive_node_ctrl_single_request(void) + { + int ret = -1; + +@@ -301,7 +301,7 @@ static int dlt_passive_node_ctrl_single_ + return ret; + } + +-static void usage() ++static void usage(void) + { + printf("Usage: dlt-passive-node-ctrl [options]\n"); + printf("Send a trigger to DLT daemon to (dis)connect a passive node " +--- a/src/console/dlt-receive-v2.c ++++ b/src/console/dlt-receive-v2.c +@@ -144,7 +144,7 @@ typedef struct { + /** + * Print usage information of tool. + */ +-void usage() ++void usage(void) + { + char version[255]; + +--- a/src/console/dlt-sortbytimestamp.c ++++ b/src/console/dlt-sortbytimestamp.c +@@ -194,7 +194,7 @@ void write_messages(int ohandle, DltFile + /** + * Print usage information of tool. + */ +-void usage() { ++void usage(void) { + char version[DLT_VERBUFSIZE]; + + dlt_get_version(version, DLT_VERBUFSIZE); +--- a/src/console/logstorage/dlt-logstorage-ctrl.c ++++ b/src/console/logstorage/dlt-logstorage-ctrl.c +@@ -354,7 +354,7 @@ static int dlt_logstorage_ctrl_setup_eve + * + * @return 0 on success, -1 otherwise. + */ +-static int dlt_logstorage_ctrl_single_request() ++static int dlt_logstorage_ctrl_single_request(void) + { + int ret = 0; + +--- a/src/daemon/dlt-daemon.c ++++ b/src/daemon/dlt-daemon.c +@@ -207,7 +207,7 @@ void close_pipes(int fds[2]) + /** + * Print usage information of tool. + */ +-void usage() ++void usage(void) + { + char version[DLT_DAEMON_TEXTBUFSIZE]; + dlt_get_version(version, DLT_DAEMON_TEXTBUFSIZE); +@@ -2489,7 +2489,7 @@ void dlt_daemon_local_cleanup(DltDaemon + free(daemon_local->flags.ipNodes); + } + +-void dlt_daemon_exit_trigger() ++void dlt_daemon_exit_trigger(void) + { + /* stop event loop */ + g_exit = -1; +@@ -2655,7 +2655,7 @@ int dlt_daemon_log_internal(DltDaemon *d + + msg.storageheadersizev2 = (uint32_t)(STORAGE_HEADER_V2_FIXED_SIZE + strlen(DLT_DAEMON_ECU_ID)); + msg.baseheadersizev2 = BASE_HEADER_V2_FIXED_SIZE; +- msg.baseheaderextrasizev2 = (int32_t)dlt_message_get_extraparameters_size_v2(msgcontent); ++ msg.baseheaderextrasizev2 = (uint32_t)dlt_message_get_extraparameters_size_v2(msgcontent); + /* Ecu Id, App Id, Ctx Id and Session Id*/ + msg.extendedheadersizev2 = (uint32_t)(1 + strlen(DLT_DAEMON_ECU_ID) + 1 + strlen(app_id) + 1 + strlen(ctx_id) + sizeof(uint32_t)); + +--- a/src/daemon/dlt-daemon.h ++++ b/src/daemon/dlt-daemon.h +@@ -217,7 +217,7 @@ int dlt_daemon_local_connection_init(Dlt + int dlt_daemon_local_ecu_version_init(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose); + + void dlt_daemon_daemonize(int verbose); +-void dlt_daemon_exit_trigger(); ++void dlt_daemon_exit_trigger(void); + void dlt_daemon_signal_handler(int sig); + #ifdef __QNX__ + void dlt_daemon_cleanup_timers(); +--- a/src/daemon/dlt_daemon_client.c ++++ b/src/daemon/dlt_daemon_client.c +@@ -817,7 +817,7 @@ int dlt_daemon_client_send_control_messa + + msg->storageheadersizev2 = (uint32_t)(STORAGE_HEADER_V2_FIXED_SIZE + (daemon->ecuid2len)); + msg->baseheadersizev2 = BASE_HEADER_V2_FIXED_SIZE; +- msg->baseheaderextrasizev2 = (int32_t)dlt_message_get_extraparameters_size_v2(DLT_CONTROL_MSG); ++ msg->baseheaderextrasizev2 = (uint32_t)dlt_message_get_extraparameters_size_v2(DLT_CONTROL_MSG); + msg->extendedheadersizev2 = (uint32_t)((daemon->ecuid2len) + 1 + appidlen + 1 + ctxidlen + 1); + + msg->headersizev2 = (int32_t)(msg->storageheadersizev2 + msg->baseheadersizev2 + +@@ -5388,7 +5388,7 @@ void dlt_daemon_control_passive_node_con + + con = &daemon_local->pGateway.connections[i]; + +- resp->connection_status[i] = con->status; ++ resp->connection_status[i] = (uint8_t)con->status; + //TBD: Review node_id[i * con->ecuid2len] + memcpy(&resp->node_id[i * con->ecuid2len], con->ecuid2, con->ecuid2len); + } +@@ -5471,7 +5471,7 @@ void dlt_daemon_control_passive_node_con + + con = &daemon_local->pGateway.connections[i]; + +- resp->connection_status[i] = con->status; ++ resp->connection_status[i] = (uint8_t)con->status; + memcpy(&resp->node_id[i * DLT_ID_SIZE], con->ecuid, DLT_ID_SIZE); + } + +--- a/src/examples/dlt-example-filetransfer.c ++++ b/src/examples/dlt-example-filetransfer.c +@@ -84,9 +84,10 @@ bool shutdownStatus = false; + * The function will set the flag (shutdownStatus) to true after .2 sec + * @return Null to stop thread + */ +-void *cancel_filetransfer() ++void *cancel_filetransfer(void* arg) + { + // wait 200msec once a filetransfer is started and then set the flag to true ++ (void)arg; + struct timespec ts; + ts.tv_sec = 0; + ts.tv_nsec = 200000000; // 200 ms +@@ -99,8 +100,9 @@ void *cancel_filetransfer() + * The function will start dlt filetransfer and will throw error if status of shutdownStatus is high + * @return Null to stop thread + */ +-void *filetransfer() ++void *filetransfer(void* arg) + { ++ (void)arg; + int transferResult; + + transferResult = dlt_user_log_file_header(&fileContext, file); +@@ -125,7 +127,7 @@ void *filetransfer() + /** + * Print usage information of tool. + */ +-void usage() ++void usage(void) + { + char version[255]; + +--- a/src/examples/dlt-example-multicast-clientmsg-view.c ++++ b/src/examples/dlt-example-multicast-clientmsg-view.c +@@ -96,7 +96,7 @@ int dlt_receive_message_callback_udp(Dlt + { + static char text[DLT_RECEIVE_TEXTBUFSIZE]; + +- if ((message == NULL)) { ++ if (message == NULL) { + printf("NULL message in dlt_receive_message_callback_udp\n"); + return -1; + } +@@ -119,7 +119,7 @@ int dlt_receive_message_callback_udp(Dlt + } + + +-int main() ++int main(void) + { + struct clientinfostruct clientinfo; + struct ip_mreq mreq; +--- a/src/examples/dlt-example-user-common-api.c ++++ b/src/examples/dlt-example-user-common-api.c +@@ -66,7 +66,7 @@ DLT_DECLARE_CONTEXT(mycontext) + /** + * Print usage information of tool. + */ +-void usage() ++void usage(void) + { + char version[255]; + +--- a/src/examples/dlt-example-user-func-v2.c ++++ b/src/examples/dlt-example-user-func-v2.c +@@ -84,7 +84,7 @@ DltContextData mycontextdata; + /** + * Print usage information of tool. + */ +-void usage() ++void usage(void) + { + char version[255]; + +--- a/src/examples/dlt-example-user-func.c ++++ b/src/examples/dlt-example-user-func.c +@@ -82,7 +82,7 @@ DltContextData mycontextdata; + /** + * Print usage information of tool. + */ +-void usage() ++void usage(void) + { + char version[255]; + +--- a/src/examples/dlt-example-user-v2.c ++++ b/src/examples/dlt-example-user-v2.c +@@ -88,7 +88,7 @@ DLT_DECLARE_CONTEXT(mycontext3) + /** + * Print usage information of tool. + */ +-void usage() ++void usage(void) + { + char version[255]; + +@@ -458,4 +458,4 @@ int dlt_user_injection_callback_with_spe + void dlt_user_log_level_changed_callback_v2(char *context_id, uint8_t log_level, uint8_t trace_status) + { + printf("Log level changed of context %s, LogLevel=%u, TraceState=%u\n", context_id, log_level, trace_status); +-} +\ No newline at end of file ++} +--- a/src/examples/dlt-example-user.c ++++ b/src/examples/dlt-example-user.c +@@ -86,7 +86,7 @@ DLT_DECLARE_CONTEXT(mycontext3) + /** + * Print usage information of tool. + */ +-void usage() ++void usage(void) + { + char version[255]; + +--- a/src/lib/dlt_env_ll.c ++++ b/src/lib/dlt_env_ll.c +@@ -125,7 +125,8 @@ int dlt_env_helper_to_lower(char **const + + int dlt_env_extract_symbolic_ll(char **const env, int8_t *ll) + { +- char result[strlen("verbose") + 1]; ++ char result[sizeof("verbose")]; ++ + + if (!env || !ll) { + return -1; +--- a/src/lib/dlt_user.c ++++ b/src/lib/dlt_user.c +@@ -545,7 +545,7 @@ DltReturnValue dlt_init(void) + + /* Check logging mode and internal log file is opened or not*/ + if (logging_mode == DLT_LOG_TO_FILE && logging_handle == NULL) { +- dlt_log_init(logging_mode); ++ dlt_log_init((int)logging_mode); + } + + /* Initialize common part of dlt_init()/dlt_init_file() */ +@@ -2391,14 +2391,14 @@ DltReturnValue dlt_set_application_ll_ts + + /* Update local structures */ + for (i = 0; i < dlt_user.dlt_ll_ts_num_entries; i++) { +- dlt_user.dlt_ll_ts[i].log_level = loglevel; +- dlt_user.dlt_ll_ts[i].trace_status = tracestatus; ++ dlt_user.dlt_ll_ts[i].log_level = (int8_t)loglevel; ++ dlt_user.dlt_ll_ts[i].trace_status = (int8_t)tracestatus; + + if (dlt_user.dlt_ll_ts[i].log_level_ptr) +- *(dlt_user.dlt_ll_ts[i].log_level_ptr) = loglevel; ++ *(dlt_user.dlt_ll_ts[i].log_level_ptr) = (int8_t)loglevel; + + if (dlt_user.dlt_ll_ts[i].trace_status_ptr) +- *(dlt_user.dlt_ll_ts[i].trace_status_ptr) = tracestatus; ++ *(dlt_user.dlt_ll_ts[i].trace_status_ptr) = (int8_t)tracestatus; + } + + dlt_mutex_unlock(); +@@ -2413,7 +2413,7 @@ DltReturnValue dlt_set_application_ll_ts + } + } + +-int dlt_get_log_state() ++int dlt_get_log_state(void) + { + return dlt_user.log_state; + } +@@ -2500,25 +2500,6 @@ DltReturnValue dlt_user_log_write_start_ + return DLT_RETURN_TRUE; + } + +-static DltReturnValue dlt_user_log_write_start_internal(DltContext *handle, +- DltContextData *log, +- DltLogLevelType loglevel, +- uint32_t messageid, +- bool is_verbose); +- +-inline DltReturnValue dlt_user_log_write_start(DltContext *handle, DltContextData *log, DltLogLevelType loglevel) +-{ +- return dlt_user_log_write_start_internal(handle, log, loglevel, DLT_USER_DEFAULT_MSGID, true); +-} +- +-DltReturnValue dlt_user_log_write_start_id(DltContext *handle, +- DltContextData *log, +- DltLogLevelType loglevel, +- uint32_t messageid) +-{ +- return dlt_user_log_write_start_internal(handle, log, loglevel, messageid, false); +-} +- + DltReturnValue dlt_user_log_write_start_internal(DltContext *handle, + DltContextData *log, + DltLogLevelType loglevel, +@@ -2587,6 +2568,19 @@ DltReturnValue dlt_user_log_write_start_ + return ret; + } + ++inline DltReturnValue dlt_user_log_write_start(DltContext *handle, DltContextData *log, DltLogLevelType loglevel) ++{ ++ return dlt_user_log_write_start_internal(handle, log, loglevel, DLT_USER_DEFAULT_MSGID, true); ++} ++ ++DltReturnValue dlt_user_log_write_start_id(DltContext *handle, ++ DltContextData *log, ++ DltLogLevelType loglevel, ++ uint32_t messageid) ++{ ++ return dlt_user_log_write_start_internal(handle, log, loglevel, messageid, false); ++} ++ + DltReturnValue dlt_user_log_write_start_w_given_buffer(DltContext *handle, + DltContextData *log, + DltLogLevelType loglevel, +@@ -3746,7 +3740,7 @@ DltReturnValue dlt_user_trace_network_se + } + + log.args_num = 0; +- log.trace_status = nw_trace_type; ++ log.trace_status = (int32_t)nw_trace_type; + log.size = 0; + + gettimeofday(&tv, NULL); +@@ -3848,7 +3842,7 @@ DltReturnValue dlt_user_trace_network_se + } + + log.args_num = 0; +- log.trace_status = nw_trace_type; ++ log.trace_status = (int32_t)nw_trace_type; + log.size = 0; + + /* Write identifier */ +@@ -3917,7 +3911,7 @@ DltReturnValue dlt_user_trace_network_se + } + + log.args_num = 0; +- log.trace_status = nw_trace_type; ++ log.trace_status = (int32_t)nw_trace_type; + log.size = 0; + + /* Write identifier */ +@@ -4184,7 +4178,7 @@ DltReturnValue dlt_user_trace_network_tr + } + + log.args_num = 0; +- log.trace_status = nw_trace_type; ++ log.trace_status = (int32_t)nw_trace_type; + log.size = 0; + + if (header == NULL) +@@ -4556,7 +4550,7 @@ DltReturnValue dlt_log_raw_v2(DltContext + return DLT_RETURN_OK; + } + +-DltReturnValue dlt_log_marker() ++DltReturnValue dlt_log_marker(void) + { + if (!DLT_USER_INITIALIZED) { + if (dlt_init() < DLT_RETURN_OK) { +@@ -6299,8 +6293,8 @@ DltReturnValue dlt_send_app_ll_ts_limit( + + /* set usercontext */ + dlt_set_id(usercontext.apid, apid); /* application id */ +- usercontext.log_level = loglevel; +- usercontext.trace_status = tracestatus; ++ usercontext.log_level = (uint8_t)loglevel; ++ usercontext.trace_status = (uint8_t)tracestatus; + + if (dlt_user.dlt_is_file) + return DLT_RETURN_OK; +@@ -6354,8 +6348,8 @@ DltReturnValue dlt_send_app_ll_ts_limit_ + } + usercontext.apidlen = (uint8_t)apidlen_sz; + dlt_set_id_v2(usercontext.apid, apid, usercontext.apidlen); /* application id */ +- usercontext.log_level = loglevel; +- usercontext.trace_status = tracestatus; ++ usercontext.log_level = (uint8_t)loglevel; ++ usercontext.trace_status = (uint8_t)tracestatus; + + size_t buffersize = sizeof(uint8_t) + usercontext.apidlen + sizeof(uint8_t) + sizeof(uint8_t); + uint8_t buffer[DLT_ID_SIZE + 3]; +@@ -6435,7 +6429,7 @@ DltReturnValue dlt_user_log_send_log_mod + return DLT_RETURN_OK; + } + +-DltReturnValue dlt_user_log_send_marker() ++DltReturnValue dlt_user_log_send_marker(void) + { + DltUserHeader userheader; + DltReturnValue ret; +@@ -7349,7 +7343,7 @@ void dlt_user_test_corrupt_message_size( + #endif + + +-int dlt_start_threads() ++int dlt_start_threads(void) + { + struct timespec time_to_wait, single_wait; + struct timespec now; +@@ -7438,7 +7432,7 @@ int dlt_start_threads() + return 0; + } + +-void dlt_stop_threads() ++void dlt_stop_threads(void) + { + int dlt_housekeeperthread_result = 0; + int joined = 0; +@@ -7510,7 +7504,7 @@ void dlt_stop_threads() + #endif /* DLT_NETWORK_TRACE_ENABLE */ + } + +-static void dlt_fork_child_fork_handler() ++static void dlt_fork_child_fork_handler(void) + { + g_dlt_is_child = 1; + dlt_user_init_state = INIT_UNITIALIZED; +--- a/src/offlinelogstorage/dlt_offline_logstorage.c ++++ b/src/offlinelogstorage/dlt_offline_logstorage.c +@@ -1732,7 +1732,7 @@ DLT_STATIC int dlt_daemon_offline_setup_ + continue; + + /* check value and store temporary */ +- ret = dlt_logstorage_check_param(&tmp_data, i, value); ++ ret = dlt_logstorage_check_param(&tmp_data, (DltLogstorageFilterConfType)i, value); + + if (ret != 0) { + if (tmp_data.apids != NULL) { +--- a/src/shared/dlt_log.c ++++ b/src/shared/dlt_log.c +@@ -113,7 +113,7 @@ DltReturnValue dlt_log_init_multiple_log + return result; + } + +-DltReturnValue dlt_log_init_single_logfile() ++DltReturnValue dlt_log_init_single_logfile(void) + { + /* internal logging to file */ + errno = 0; +@@ -333,14 +333,14 @@ void dlt_log_free(void) + } + } + +-void dlt_log_free_single_logfile() ++void dlt_log_free_single_logfile(void) + { + if (logging_handle != NULL) { + fclose(logging_handle); + } + } + +-void dlt_log_free_multiple_logfiles() ++void dlt_log_free_multiple_logfiles(void) + { + if (DLT_RETURN_ERROR == multiple_files_buffer_free(&multiple_files_ring_buffer)) return; + +@@ -348,7 +348,7 @@ void dlt_log_free_multiple_logfiles() + multiple_files_ring_buffer.ohandle = -1; + } + +-bool dlt_is_log_in_multiple_files_active() ++bool dlt_is_log_in_multiple_files_active(void) + { + return multiple_files_ring_buffer.ohandle > -1; + } +--- a/src/system/dlt-system-journal.c ++++ b/src/system/dlt-system-journal.c +@@ -73,7 +73,7 @@ typedef struct + DLT_IMPORT_CONTEXT(dltsystem) + DLT_DECLARE_CONTEXT(journalContext) + +-int journal_checkUserBufferForFreeSpace() ++int journal_checkUserBufferForFreeSpace(void) + { + int total_size, used_size; + +@@ -87,7 +87,7 @@ int journal_checkUserBufferForFreeSpace( + + int dlt_system_journal_get(sd_journal *j, char *target, const char *field, size_t max_size) + { +- char *data; ++ const char *data; + size_t length; + int error_code; + size_t field_size; +@@ -100,7 +100,9 @@ int dlt_system_journal_get(sd_journal *j + target[0] = 0; + + /* get data from journal */ +- error_code = sd_journal_get_data(j, field, (const void **)&data, &length); ++ const void *tmp; ++ error_code = sd_journal_get_data(j, field, &tmp, &length); ++ data = (const char *)tmp; + + /* check if an error */ + if (error_code) +--- a/src/system/dlt-system-process-handling.c ++++ b/src/system/dlt-system-process-handling.c +@@ -72,7 +72,7 @@ volatile uint8_t quit = 0; + extern s_ft_inotify ino; + #endif + +-int daemonize() ++int daemonize(void) + { + DLT_LOG(dltsystem, DLT_LOG_DEBUG, + DLT_STRING("dlt-system-process-handling, daemonize")); +--- a/src/system/dlt-system-shell.c ++++ b/src/system/dlt-system-shell.c +@@ -112,7 +112,7 @@ int dlt_shell_injection_callback(uint32_ + return 0; + } + +-void init_shell() ++void init_shell(void) + { + DLT_LOG(dltsystem, DLT_LOG_DEBUG, + DLT_STRING("dlt-system-shell, register callback")); +--- a/src/system/dlt-system.h ++++ b/src/system/dlt-system.h +@@ -193,8 +193,8 @@ int read_configuration_file(DltSystemCon + void cleanup_config(DltSystemConfiguration *config, DltSystemCliOptions *options); + + /* For dlt-process-handling.c */ +-int daemonize(); +-void init_shell(); ++int daemonize(void); ++void init_shell(void); + void dlt_system_signal_handler(int sig); + + /* Main function for creating/registering all needed file descriptors and starting the poll for all of them. */ +--- a/src/tests/dlt-test-client-v2.c ++++ b/src/tests/dlt-test-client-v2.c +@@ -125,7 +125,7 @@ typedef struct + /** + * Print usage information of tool. + */ +-void usage() ++void usage(void) + { + char version[255]; + +--- a/src/tests/dlt-test-fork-handler-v2.c ++++ b/src/tests/dlt-test-fork-handler-v2.c +@@ -91,7 +91,7 @@ void dlt_log_message(DltContext *context + /** + * @brief sample code for using at_fork-handler + */ +-int main() ++int main(void) + { + DltContext mainContext; + struct timespec timeout, r; +--- a/src/tests/dlt-test-fork-handler.c ++++ b/src/tests/dlt-test-fork-handler.c +@@ -49,7 +49,7 @@ void dlt_log_message(DltContext *context + /** + * @brief sample code for using at_fork-handler + */ +-int main() ++int main(void) + { + DltContext mainContext; + struct timespec timeout, r; +--- a/src/tests/dlt-test-multi-process-v2.c ++++ b/src/tests/dlt-test-multi-process-v2.c +@@ -112,11 +112,11 @@ typedef struct { + /* Forward declarations */ + void init_params(s_parameters *params); + void quit_handler(int signum); +-void cleanup(); ++void cleanup(void); + void do_forks(s_parameters params); + void run_threads(s_parameters params); + void *do_logging(void *data); +-int wait_for_death(); ++int wait_for_death(void); + + /* State information */ + volatile sig_atomic_t in_handler = 0; +@@ -323,7 +323,7 @@ void quit_handler(int signum) + /** + * Ask the child processes to die + */ +-void cleanup() ++void cleanup(void) + { + unsigned int i; + +@@ -458,7 +458,7 @@ void run_threads(s_parameters params) + /** + * Wait for child processes to complete their work. + */ +-int wait_for_death() ++int wait_for_death(void) + { + int pids_left = (int) pidcount; + +--- a/src/tests/dlt-test-multi-process.c ++++ b/src/tests/dlt-test-multi-process.c +@@ -89,11 +89,11 @@ typedef struct { + /* Forward declarations */ + void init_params(s_parameters *params); + void quit_handler(int signum); +-void cleanup(); ++void cleanup(void); + void do_forks(s_parameters params); + void run_threads(s_parameters params); + void *do_logging(void *arg); +-int wait_for_death(); ++int wait_for_death(void); + + /* State information */ + volatile sig_atomic_t in_handler = 0; +@@ -300,7 +300,7 @@ void quit_handler(int signum) + /** + * Ask the child processes to die + */ +-void cleanup() ++void cleanup(void) + { + unsigned int i; + +@@ -435,7 +435,7 @@ void run_threads(s_parameters params) + /** + * Wait for child processes to complete their work. + */ +-int wait_for_death() ++int wait_for_death(void) + { + int pids_left = (int) pidcount; + +--- a/src/tests/dlt-test-non-verbose.c ++++ b/src/tests/dlt-test-non-verbose.c +@@ -58,7 +58,7 @@ DltContextData context_data; + + void dlt_user_log_level_changed_callback(char context_id[DLT_ID_SIZE],uint8_t log_level,uint8_t trace_status); + +-void usage() ++void usage(void) + { + char version[DLT_COMMON_BUFFER_LENGTH]; + +@@ -84,7 +84,7 @@ void usage() + /******************/ + /* The test cases */ + /******************/ +-int test_logstorage() ++int test_logstorage(void) + { + int delay = LOG_DELAY; + int i; +--- a/src/tests/dlt-test-preregister-context-v2.c ++++ b/src/tests/dlt-test-preregister-context-v2.c +@@ -72,7 +72,7 @@ + /** + * @brief sample code for using pre-registered contexts + */ +-int main() ++int main(void) + { + DltContext mainContext; + struct timespec ts; +--- a/src/tests/dlt-test-preregister-context.c ++++ b/src/tests/dlt-test-preregister-context.c +@@ -30,7 +30,7 @@ + /** + * @brief sample code for using pre-registered contexts + */ +-int main() ++int main(void) + { + DltContext mainContext; + struct timespec ts; +--- a/src/tests/dlt-test-qnx-slogger.c ++++ b/src/tests/dlt-test-qnx-slogger.c +@@ -28,7 +28,7 @@ + #define DELAY 500 + #define LENGTH 100 + +-void usage() ++void usage(void) + { + char version[255]; + +--- a/src/tests/dlt-test-stress-client-v2.c ++++ b/src/tests/dlt-test-stress-client-v2.c +@@ -127,7 +127,7 @@ typedef struct + /** + * Print usage information of tool. + */ +-void usage() ++void usage(void) + { + char version[255]; + +--- a/src/tests/dlt-test-stress-user-v2.c ++++ b/src/tests/dlt-test-stress-user-v2.c +@@ -86,7 +86,7 @@ DltContextData context_data; + /** + * Print usage information of tool. + */ +-void usage() ++void usage(void) + { + char version[255]; + +--- a/src/tests/dlt-test-stress-v2.c ++++ b/src/tests/dlt-test-stress-v2.c +@@ -104,7 +104,7 @@ char *env_manual_interruption = 0; + /** + * Print usage information of tool. + */ +-void usage() ++void usage(void) + { + char version[255]; + +--- a/src/tests/dlt-test-stress.c ++++ b/src/tests/dlt-test-stress.c +@@ -105,7 +105,7 @@ char *env_manual_interruption = 0; + /** + * Print usage information of tool. + */ +-void usage() ++void usage(void) + { + char version[255]; + +--- a/src/tests/dlt-test-user-v2.c ++++ b/src/tests/dlt-test-user-v2.c +@@ -142,7 +142,7 @@ DltContextData context_data; + /** + * Print usage information of tool. + */ +-void usage() ++void usage(void) + { + char version[255]; + +--- a/src/tests/dlt-test-user.c ++++ b/src/tests/dlt-test-user.c +@@ -144,7 +144,7 @@ DltContextData context_data; + /** + * Print usage information of tool. + */ +-void usage() ++void usage(void) + { + char version[255]; + +--- a/tests/dlt_test_receiver.c ++++ b/tests/dlt_test_receiver.c +@@ -107,7 +107,7 @@ int result = 0; + /** + * Print usage information of tool. + */ +-void usage() ++void usage(void) + { + char version[255]; + +--- a/src/shared/dlt_common.c ++++ b/src/shared/dlt_common.c +@@ -6108,7 +6108,7 @@ DltReturnValue dlt_message_argument_prin + return DLT_RETURN_OK; + } + +-void dlt_check_envvar() ++void dlt_check_envvar(void) + { + char *env_log_filename = getenv("DLT_LOG_FILENAME"); + +--- a/src/system/dlt-system-filetransfer.c ++++ b/src/system/dlt-system-filetransfer.c +@@ -724,10 +724,14 @@ int process_files(FiletransferOptions co + } + + char *tosend = malloc(length); ++#ifndef __clang__ + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wformat-truncation=" ++#endif + snprintf(tosend, length, "%s/%s", opts->Directory[j], ie->name); ++#ifndef __clang__ + #pragma GCC diagnostic pop ++#endif + send_one(tosend, opts, j); + free(tosend); + } diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_3.0.0.bb b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_3.0.0.bb index 1c15ef0483..141dce57cd 100644 --- a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_3.0.0.bb +++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_3.0.0.bb @@ -23,6 +23,7 @@ SRC_URI = "git://github.com/COVESA/${BPN}.git;protocol=https;branch=master \ file://0001-fix-build-failure-when-systemd-is-enabled.patch \ file://0001-Fix-build-failure-with-glibc-2.43.patch \ file://0001-CMakeLists.txt-make-CONFIGURATION_FILES_DIR-aligned.patch \ + file://0001-warnings-Fix-clang-generated-warnings.patch \ " SRCREV = "f595ea29d1007ca1c3b2d1fd3a88adf7d3db6320"