new file mode 100644
@@ -0,0 +1,33 @@
+From 7c70315f7f6b4305d761804fb03f8f90ad7572eb Mon Sep 17 00:00:00 2001
+From: Khem Raj <khem.raj@oss.qualcomm.com>
+Date: Fri, 17 Apr 2026 14:01:46 -0700
+Subject: [PATCH] build: guard --coverage linker flag behind
+ CODE_COVERAGE_ENABLED
+
+AM_LDFLAGS passes --coverage to the linker unconditionally,
+it causes coverage instrumentation to be enabled even when
+configured with --disable-code-coverage. Wrap it in the
+automake conditional provided by AX_CODE_COVERAGE.
+
+Upstream-Status: Submitted [https://github.com/OpenIDC/liboauth2/pull/74]
+Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
+---
+ Makefile.am | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index a079dcc..a3f991d 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -8,7 +8,10 @@ EXTRA_DIST = autogen.sh ChangeLog README.md LICENSE
+
+ AM_CPPFLAGS = -Wall -Werror -Wno-error=deprecated-declarations -I${srcdir}/include -I${srcdir}/src @JANSSON_CFLAGS@ @OPENSSL_CFLAGS@
+ AM_CPPFLAGS += $(CODE_COVERAGE_CPPFLAGS) $(CODE_COVERAGE_CFLAGS)
+-AM_LDFLAGS = --coverage
++AM_LDFLAGS =
++if CODE_COVERAGE_ENABLED
++AM_LDFLAGS += --coverage
++endif
+
+ LDADD = @JANSSON_LIBS@ @OPENSSL_LIBS@
+ LDADD += $(CODE_COVERAGE_LIBS)
@@ -7,6 +7,7 @@ SRC_URI = " \
git://github.com/OpenIDC/liboauth2;protocol=https;branch=master;tag=v${PV} \
file://0001-fix-clang-curl_easy_setopt-takes-a-long-not-an-int.patch \
file://0002-Fix-use-of-strchr-with-new-GCC.patch \
+ file://0001-build-guard-coverage-linker-flag-behind-CODE_COVERAG.patch \
"
SRCREV = "12571b6d6568c2db7d5f080f60ecb55795c0db19"
@@ -20,4 +21,4 @@ PACKAGECONFIG[memcache] = "--with-memcache,--without-memcache,libmemcached"
PACKAGECONFIG[redis] = "--with-redis,--without-redis,hiredis"
PACKAGECONFIG[jq] = "--with-jq,--without-jq,jq"
PACKAGECONFIG[apache] = "--with-apache,--without-apache,apache2"
-
+PACKAGECONFIG[ccov] = "--enable-code-coverage,--disable-code-coverage,"
Keep the knob disabled by default, as it will need c runtime to provide profiling runtime, which is not compiled into compiler-rt by default. So it ends up with build failures e.g. | aarch64-yoe-linux-ld.lld: error: cannot open /mnt/b/yoe/master/kas-build/tmp/work/cortexa72-yoe-linux/liboauth2/2.2.0/recipe-sysroot/usr/lib/clang/22.1.3/lib/aarch64-yoe-linux/libclang_rt.profile.a: No such file or directory | aarch64-yoe-linux-clang: error: linker command failed with exit code 1 (use -v to see invocation) Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> --- ...rage-linker-flag-behind-CODE_COVERAG.patch | 33 +++++++++++++++++++ .../liboauth2/liboauth2_2.2.0.bb | 3 +- 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 meta-oe/recipes-support/liboauth2/liboauth2/0001-build-guard-coverage-linker-flag-behind-CODE_COVERAG.patch