When building for Arm, the following error is seen:
| ../../libunwind-1.6.2/src/arm/Gtrace.c:529:7: error: call to undeclared 
library function 'printf' with type 'int (const char *, ...)'; ISO C99 and 
later do not support implicit function declarations 
[-Wimplicit-function-declaration]
|       printf("XXX1\n");

Since every other reference to printf either has BSD or !linux then, I
think it's safe to assume this is not valid and a BSD ifdef can be
placed around this code.

Signed-off-by: Jon Mason <[email protected]>
---
 .../0007-Remove-undefined-printf.patch        | 32 +++++++++++++++++++
 .../libunwind/libunwind_1.6.2.bb              |  1 +
 2 files changed, 33 insertions(+)
 create mode 100644 
meta/recipes-support/libunwind/libunwind/0007-Remove-undefined-printf.patch

diff --git 
a/meta/recipes-support/libunwind/libunwind/0007-Remove-undefined-printf.patch 
b/meta/recipes-support/libunwind/libunwind/0007-Remove-undefined-printf.patch
new file mode 100644
index 000000000000..1826d8d72405
--- /dev/null
+++ 
b/meta/recipes-support/libunwind/libunwind/0007-Remove-undefined-printf.patch
@@ -0,0 +1,32 @@
+From ed4777e3200aadacfaf2b48e1cd6dec9da37c737 Mon Sep 17 00:00:00 2001
+From: Jon Mason <[email protected]>
+Date: Tue, 21 Mar 2023 15:14:10 +0000
+Subject: [PATCH] Remove undefined printf
+
+Seeing the following error when building with clang for Linux on Arm
+| ../../libunwind-1.6.2/src/arm/Gtrace.c:529:7: error: call to undeclared 
library function 'printf' with type 'int (const char *, ...)'; ISO C99 and 
later do not support implicit function declarations 
[-Wimplicit-function-declaration]
+|       printf("XXX1\n");
+
+Based on other printf's in libunwind, this appears to not be used on
+Linux (and appears to only be used for BSD).  So, add an ifdef around
+this chunk to only be defined for BSD
+
+Upstream-Status: Pending
+---
+ src/arm/Gtrace.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/arm/Gtrace.c b/src/arm/Gtrace.c
+index 51fc281..fb73d87 100644
+--- a/src/arm/Gtrace.c
++++ b/src/arm/Gtrace.c
+@@ -526,7 +526,9 @@ tdep_trace (unw_cursor_t *cursor, void **buffer, int *size)
+       break;
+ 
+     case UNW_ARM_FRAME_SYSCALL:
++#if defined(__FreeBSD__)
+       printf("XXX1\n");
++#endif
+       break;
+ 
+     default:
diff --git a/meta/recipes-support/libunwind/libunwind_1.6.2.bb 
b/meta/recipes-support/libunwind/libunwind_1.6.2.bb
index 716be9a452f4..74d7874f50bb 100644
--- a/meta/recipes-support/libunwind/libunwind_1.6.2.bb
+++ b/meta/recipes-support/libunwind/libunwind_1.6.2.bb
@@ -5,6 +5,7 @@ SRC_URI = 
"http://download.savannah.nongnu.org/releases/libunwind/libunwind-${PV
            file://0004-Fix-build-on-mips-musl.patch \
            
file://0005-ppc32-Consider-ucontext-mismatches-between-glibc-and.patch \
            file://0006-Fix-for-X32.patch \
+           file://0007-Remove-undefined-printf.patch \
            "
 SRC_URI:append:libc-musl = " file://musl-header-conflict.patch"
 
-- 
2.30.2

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#178897): 
https://lists.openembedded.org/g/openembedded-core/message/178897
Mute This Topic: https://lists.openembedded.org/mt/97762342/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to