[Buildroot] [PATCH v2] Makefile: Symlink lib32 to lib for MIPS64/n32

Markos Chandras markos.chandras at gmail.com
Wed Jul 3 13:06:56 UTC 2013

From: Markos Chandras <markos.chandras at imgtec.com>

gcc hardcodes the uClibc interpreter for MIPS64/n32 as follows:
(gcc-4.7.3, gcc/config/mips/linux64.h):
define UCLIBC_DYNAMIC_LINKERN32 "/lib32/ld-uClibc.so.0"

However, buildroot always creates the $(TARGET_DIR)/lib,
$(TARGET_DIR)/usr/lib, $(STAGING_DIR)/lib and
$(STAGING_DIR)/usr/lib directories, therefore for consinstency
reasons, we create a lib32->lib symlink to fix the interpreter
problems for MIPS64/n32.

Signed-off-by: Markos Chandras <markos.chandras at imgtec.com>
Changes since v1:
- drop pushd/popd
- Create symlinks for the STAGING_DIR as well
 Makefile | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/Makefile b/Makefile
index 509eab6..31c41e4 100644
--- a/Makefile
+++ b/Makefile
@@ -436,6 +436,13 @@ $(BUILD_DIR)/.root:
 		--exclude .hg --exclude=CVS --exclude '*~' \
 	cp support/misc/target-dir-warning.txt $(TARGET_DIR_WARNING_FILE)
+ifeq ($(BR2_MIPS_NABI32),y)
+	ln -sfn lib $(TARGET_DIR)/lib32
+	ln -sfn lib $(TARGET_DIR)/usr/lib32
+	ln -sfn lib $(STAGING_DIR)/lib32
+	ln -sfn lib $(STAGING_DIR)/usr/lib32
 	touch $@
 $(TARGET_DIR): $(BUILD_DIR)/.root

More information about the buildroot mailing list