From: Yann E. MORIN Date: Sat, 30 Mar 2019 08:46:41 +0000 (+0100) Subject: package/busybox: fix build with individual binaries X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=371799fb54d7bbf55688776f9167f8f97c4c68c0;p=buildroot.git package/busybox: fix build with individual binaries Fixes: http://autobuild.buildroot.org/results/053/0539b3765eaa99029c4185ae89db6adb9e867078/ Kudos to Thomas for pinpointing the actual issue. Signed-off-by: "Yann E. MORIN" Cc: Thomas Petazzoni Cc: Peter Korsgaard Signed-off-by: Thomas Petazzoni --- diff --git a/package/busybox/0003-libbb-mark-scripted_main-as-externally-visible.patch b/package/busybox/0003-libbb-mark-scripted_main-as-externally-visible.patch new file mode 100644 index 0000000000..d3b174dd4a --- /dev/null +++ b/package/busybox/0003-libbb-mark-scripted_main-as-externally-visible.patch @@ -0,0 +1,53 @@ +From eb5830223d452944b96e526b2f44158bda5c5c56 Mon Sep 17 00:00:00 2001 +From: Ron Yorston +Date: Sat, 30 Mar 2019 07:47:12 +0000 +Subject: [PATCH] libbb: mark scripted_main() as externally visible + +Building with individual binaries enabled fails when embedded +script applets are included: + + /tmp/ccIvMFZg.o: In function `main': + applet.c:(.text.main+0x20): undefined reference to `scripted_main' + +Mark scripted_main() as externally visible. + +Reported-by: Yann E. MORIN +Signed-off-by: Ron Yorston +Signed-off-by: "Yann E. MORIN" +--- +Upstream status: reported, patch pending; + http://lists.busybox.net/pipermail/busybox/2019-March/087148.html + http://lists.busybox.net/pipermail/busybox/2019-March/087149.html +--- + include/libbb.h | 2 +- + libbb/appletlib.c | 1 + + 2 files changed, 2 insertions(+), 1 deletion(-) + +diff --git a/include/libbb.h b/include/libbb.h +index e0d5521e4..a20d5e403 100644 +--- a/include/libbb.h ++++ b/include/libbb.h +@@ -1347,7 +1347,7 @@ void bb_logenv_override(void) FAST_FUNC; + + /* Embedded script support */ + char *get_script_content(unsigned n) FAST_FUNC; +-int scripted_main(int argc, char** argv); ++int scripted_main(int argc, char** argv) MAIN_EXTERNALLY_VISIBLE; + + /* Applets which are useful from another applets */ + int bb_cat(char** argv) FAST_FUNC; +diff --git a/libbb/appletlib.c b/libbb/appletlib.c +index c15014a34..fa19e8488 100644 +--- a/libbb/appletlib.c ++++ b/libbb/appletlib.c +@@ -770,6 +770,7 @@ static int find_script_by_name(const char *name) + return -1; + } + ++int scripted_main(int argc UNUSED_PARAM, char **argv) MAIN_EXTERNALLY_VISIBLE; + int scripted_main(int argc UNUSED_PARAM, char **argv) + { + int script = find_script_by_name(applet_name); +-- +2.14.1 +