← Commit list

1ef3ce91c

Denys Vlasenko
Denys Vlasenko
2017-07-19
SUCCESS Duration: 146s

Subject

sparc: needs -fPIC

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

Makefile+1 -1
@@ -178,7 +178,7 @@ endif
# SUBARCH is subsequently ignored.
ifneq ($(CROSS_COMPILE),)
-SUBARCH := $(shell echo $(CROSS_COMPILE) | cut -d- -f1)
+SUBARCH := $(shell echo $(CROSS_COMPILE) | cut -d- -f1 | sed 's:^.*/::g')
else
SUBARCH := $(shell uname -m)
endif
arch/sparc/Makefile+11 -0
@@ -0,0 +1,11 @@
+# When building a library, even intra-library references,
+# such as from find_applet_by_name() to applet_names[],
+# don't work with -fpic on sparc, needs -fPIC.
+# Don't know why it fails in this case but works when
+# a binary is being built.
+#
+# (if is superfluous, ARCH_FPIC is only used by library build, but it
+# demonstrates the point: non-pic binary does not need it)
+ifeq ($(CONFIG_BUILD_LIBBUSYBOX),y)
+ARCH_FPIC = -fPIC
+endif
arch/sparc64/Makefile+11 -0
@@ -0,0 +1,11 @@
+# When building a library, even intra-library references,
+# such as from find_applet_by_name() to applet_names[],
+# don't work with -fpic on sparc, needs -fPIC.
+# Don't know why it fails in this case but works when
+# a binary is being built.
+#
+# (if is superfluous, ARCH_FPIC is only used by library build, but it
+# demonstrates the point: non-pic binary does not need it)
+ifeq ($(CONFIG_BUILD_LIBBUSYBOX),y)
+ARCH_FPIC = -fPIC
+endif