imx-cst:fix race condition build error

Add missing makefile rule depedency on compilation of cst_lexer.c, which
require header cst_parser.h generated at compilation with cst_parser.c

This issue has been detected during the Yocto autobuilder test CI,
probably during a high CPU load
(https://autobuilder.yoctoproject.org/valkyrie/#/builders/87/builds/46/steps/33/logs/stdio).

Signed-off-by: Kelefa Sane <kelefa.sane@smile.fr>
Reviewed-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Kéléfa Sané 2025-06-02 16:08:28 +02:00 committed by Khem Raj
parent 593c862309
commit aa21c0b347
2 changed files with 46 additions and 0 deletions

View File

@ -0,0 +1,45 @@
From 73509cb22ffab827dc3e3ccda2781683b8e8296d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?K=C3=A9l=C3=A9fa=20San=C3=A9?= <kelefa.sane@smile.fr>
Date: Mon, 2 Jun 2025 11:07:08 +0200
Subject: [PATCH] fix missing makefile rule dependency
During, the package build with an high CPU load we can face
a build failed issue, caused by the header file cst_parser.h not present
when compiling cst_lexer.c, which depend on cst_parser.h:
| x86_64-poky-linux-gcc ... -c cst_lexer.c -o cst_lexer.d
| ../../code/front_end/src/cst_lexer.l:21:10: fatal error:
|cst_parser.h: No such file or directory
| 21 | #include "cst_parser.h"
| | ^~~~~~~~~~~~~~
| compilation terminated.
The file cst_parser.h is generated during compilation
by a makefile rule which also generate cst_parser.c
To fix the issue, makefile rule needed to be update
in order for compilation of cst_lexer.c to be done,
always after the generation of cst_parser.h and .c
Upstream-Status: Submitted [https://community.nxp.com/t5/Other-NXP-Products/Package-imx-code-signing-tool-3-4-0-dfsg-2-build-issue/m-p/2108575#M28853]
Signed-off-by: Kelefa Sane <kelefa.sane@smile.fr>
---
code/build/make/rules.mk | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/code/build/make/rules.mk b/code/build/make/rules.mk
index 7720e4b..239108b 100644
--- a/code/build/make/rules.mk
+++ b/code/build/make/rules.mk
@@ -35,6 +35,11 @@ LFLAGS := -t
@echo "Link $@"
$(LD) $^ $(LDFLAGS) -o $@
+# Compilation of cst_lexer.c require cst_parser.h
+# (cst_lexer.c include cst_parser.h) which is generated
+# by the same makefile genrating cst_parser.c
+cst_lexer.o: cst_parser.c
+
%.o: %.c
@echo "Compile $@"
# generate dependency file

View File

@ -16,6 +16,7 @@ DEBIAN_PGK_VERSION = "${PV}+dfsg"
SRC_URI = "\
${DEBIAN_MIRROR}/main/i/${DEBIAN_PGK_NAME}/${DEBIAN_PGK_NAME}_${DEBIAN_PGK_VERSION}.orig.tar.xz \
file://0001-fix-missing-makefile-rule-dependency.patch \
"
SRC_URI[sha256sum] = "52ee3cee3bc500a42095f73c4584e223b4b9d2dfc1cd3e5df965c5952eba8c8d"