[RFC PATCH] modutils: fix build with uClibc

Rahul Bedarkar rahul.bedarkar at imgtec.com
Tue Dec 20 18:51:20 UTC 2016


Commit 3a45b87ac36f (modutils: support finit_module syscall) introduced
macro finit_module. But it is not defined for uClibc.

With uClibc, we get following build errors:

  modutils/lib.a(modutils.o): In function `bb_init_module':
  modutils.c:(.text.bb_init_module+0x94): undefined reference to `finit_module'
  modutils.c:(.text.bb_init_module+0xa0): undefined reference to `finit_module'

This commit guards usage of finit_module when not using uClibc.

This build issue is detected by Buildroot autobuilder:
http://autobuild.buildroot.net/results/556/55655daef23788fb3967f801ec8b79e9bed7122b/build-end.log

Signed-off-by: Rahul Bedarkar <rahul.bedarkar at imgtec.com>
---
 modutils/modutils.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/modutils/modutils.c b/modutils/modutils.c
index d36caaf..4ae7483 100644
--- a/modutils/modutils.c
+++ b/modutils/modutils.c
@@ -221,7 +221,7 @@ int FAST_FUNC bb_init_module(const char *filename, const char *options)
 	 * only rootfs) which needs the finit_module call.  If it fails, we fall
 	 * back to normal module loading to support compressed modules.
 	 */
-# ifdef __NR_finit_module
+# if !defined(__UCLIBC__) && defined (__NR_finit_module)
 	{
 		int fd = open(filename, O_RDONLY | O_CLOEXEC);
 		if (fd >= 0) {
-- 
2.6.2



More information about the busybox mailing list