* [PATCH 0/5] Register save/restore function build improvements
@ 2017-05-11 15:56 Nicholas Piggin
2017-05-11 15:56 ` [PATCH 1/5] powerpc/64: place sfpr section explicitly with the linker script Nicholas Piggin
` (4 more replies)
0 siblings, 5 replies; 9+ messages in thread
From: Nicholas Piggin @ 2017-05-11 15:56 UTC (permalink / raw)
To: linuxppc-dev; +Cc: Nicholas Piggin
These are some minor improvements I came up when investigating
"orphan" sections (.sfpr currently is). For 4.13.
Nicholas Piggin (5):
powerpc/64: place sfpr section explicitly with the linker script
powerpc/64: do not link crtsavres.o in vmlinux
powerpc/64: do not link crtsaveres.o in boot
powerpc/64: do not create new section for save/restore functions
powerpc/64: Linker on-demand save/restore functions for modules
arch/powerpc/Makefile | 10 ++++++++++
arch/powerpc/boot/Makefile | 3 ++-
arch/powerpc/boot/crtsavres.S | 8 ++++----
arch/powerpc/kernel/vmlinux.lds.S | 8 ++++++++
arch/powerpc/lib/Makefile | 13 ++++++++++---
arch/powerpc/lib/crtsavres.S | 6 ++----
6 files changed, 36 insertions(+), 12 deletions(-)
--
2.11.0
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 1/5] powerpc/64: place sfpr section explicitly with the linker script
2017-05-11 15:56 [PATCH 0/5] Register save/restore function build improvements Nicholas Piggin
@ 2017-05-11 15:56 ` Nicholas Piggin
2017-05-30 9:11 ` [1/5] " Michael Ellerman
2017-05-11 15:56 ` [PATCH 2/5] powerpc/64: do not link crtsavres.o in vmlinux Nicholas Piggin
` (3 subsequent siblings)
4 siblings, 1 reply; 9+ messages in thread
From: Nicholas Piggin @ 2017-05-11 15:56 UTC (permalink / raw)
To: linuxppc-dev; +Cc: Nicholas Piggin
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
---
arch/powerpc/kernel/vmlinux.lds.S | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S
index 2f793be3d2b1..bcfda21c3179 100644
--- a/arch/powerpc/kernel/vmlinux.lds.S
+++ b/arch/powerpc/kernel/vmlinux.lds.S
@@ -115,6 +115,14 @@ SECTIONS
KPROBES_TEXT
IRQENTRY_TEXT
SOFTIRQENTRY_TEXT
+ /*
+ * -Os builds call FP save/restore functions. The powerpc64
+ * linker generates those on demand in the .sfpr section.
+ * .sfpr gets placed at the beginning of a group of input
+ * sections, which can break start-of-text offset if it is
+ * included with the main text sections, so put it by itself.
+ */
+ *(.sfpr);
MEM_KEEP(init.text)
MEM_KEEP(exit.text)
--
2.11.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 2/5] powerpc/64: do not link crtsavres.o in vmlinux
2017-05-11 15:56 [PATCH 0/5] Register save/restore function build improvements Nicholas Piggin
2017-05-11 15:56 ` [PATCH 1/5] powerpc/64: place sfpr section explicitly with the linker script Nicholas Piggin
@ 2017-05-11 15:56 ` Nicholas Piggin
2017-05-11 15:56 ` [PATCH 3/5] powerpc/64: do not link crtsaveres.o in boot Nicholas Piggin
` (2 subsequent siblings)
4 siblings, 0 replies; 9+ messages in thread
From: Nicholas Piggin @ 2017-05-11 15:56 UTC (permalink / raw)
To: linuxppc-dev; +Cc: Nicholas Piggin
The 64-bit linker creates save/restore functions on demand with final
links, so vmlinux does not require crtsavres.o.
Make crtsavres.o extra-y on 64-bit (it is still required by modules).
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
---
arch/powerpc/lib/Makefile | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/arch/powerpc/lib/Makefile b/arch/powerpc/lib/Makefile
index ed7dfce331e0..0ca405a27ac1 100644
--- a/arch/powerpc/lib/Makefile
+++ b/arch/powerpc/lib/Makefile
@@ -9,8 +9,12 @@ ccflags-$(CONFIG_PPC64) := $(NO_MINIMAL_TOC)
CFLAGS_REMOVE_code-patching.o = $(CC_FLAGS_FTRACE)
CFLAGS_REMOVE_feature-fixups.o = $(CC_FLAGS_FTRACE)
-obj-y += string.o alloc.o crtsavres.o code-patching.o \
- feature-fixups.o
+obj-y += string.o alloc.o code-patching.o feature-fixups.o
+
+# 64-bit linker creates .sfpr on demand for final link (vmlinux),
+# so it is only needed for modules.
+obj-$(CONFIG_PPC32) += crtsavres.o
+extra-$(CONFIG_PPC64) += crtsavres.o
obj-$(CONFIG_PPC32) += div64.o copy_32.o
--
2.11.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 3/5] powerpc/64: do not link crtsaveres.o in boot
2017-05-11 15:56 [PATCH 0/5] Register save/restore function build improvements Nicholas Piggin
2017-05-11 15:56 ` [PATCH 1/5] powerpc/64: place sfpr section explicitly with the linker script Nicholas Piggin
2017-05-11 15:56 ` [PATCH 2/5] powerpc/64: do not link crtsavres.o in vmlinux Nicholas Piggin
@ 2017-05-11 15:56 ` Nicholas Piggin
2017-05-12 14:19 ` kbuild test robot
2017-05-11 15:56 ` [PATCH 4/5] powerpc/64: do not create new section for save/restore functions Nicholas Piggin
2017-05-11 15:56 ` [PATCH 5/5] powerpc/64: Linker on-demand sfpr functions for modules Nicholas Piggin
4 siblings, 1 reply; 9+ messages in thread
From: Nicholas Piggin @ 2017-05-11 15:56 UTC (permalink / raw)
To: linuxppc-dev; +Cc: Nicholas Piggin
crtsaveres.S is empty with 64-bit builds already, so just don't
build and link it to match the vmlinux build.
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
---
arch/powerpc/boot/Makefile | 3 ++-
arch/powerpc/boot/crtsavres.S | 8 ++++----
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index e82f333cc84a..305d4d6b0ce0 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -95,13 +95,14 @@ libfdtheader := fdt.h libfdt.h libfdt_internal.h
$(addprefix $(obj)/,$(libfdt) libfdt-wrapper.o simpleboot.o epapr.o opal.o): \
$(addprefix $(obj)/,$(libfdtheader))
-src-wlib-y := string.S crt0.S crtsavres.S stdio.c decompress.c main.c \
+src-wlib-y := string.S crt0.S stdio.c decompress.c main.c \
$(libfdt) libfdt-wrapper.c \
ns16550.c serial.c simple_alloc.c div64.S util.S \
elf_util.c $(zlib-y) devtree.c stdlib.c \
oflib.c ofconsole.c cuboot.c mpsc.c cpm-serial.c \
uartlite.c mpc52xx-psc.c opal.c
src-wlib-$(CONFIG_PPC64_BOOT_WRAPPER) += opal-calls.S
+src-wlib-$(CONFIG_PPC32) += crtsavres.S
src-wlib-$(CONFIG_40x) += 4xx.c planetcore.c
src-wlib-$(CONFIG_44x) += 4xx.c ebony.c bamboo.c
src-wlib-$(CONFIG_8xx) += mpc8xx.c planetcore.c fsl-soc.c
diff --git a/arch/powerpc/boot/crtsavres.S b/arch/powerpc/boot/crtsavres.S
index f3d9b35c07d4..085fb2b9a8b8 100644
--- a/arch/powerpc/boot/crtsavres.S
+++ b/arch/powerpc/boot/crtsavres.S
@@ -37,12 +37,13 @@
* the executable file might be covered by the GNU General Public License.
*/
+#ifdef __powerpc64__
+#error "On PPC64, FPR save/restore functions are provided by the linker."
+#endif
+
.file "crtsavres.S"
.section ".text"
-/* On PowerPC64 Linux, these functions are provided by the linker. */
-#ifndef __powerpc64__
-
#define _GLOBAL(name) \
.type name,@function; \
.globl name; \
@@ -230,4 +231,3 @@ _GLOBAL(_rest32gpr_31_x)
mtlr 0
mr 1,11
blr
-#endif
--
2.11.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 4/5] powerpc/64: do not create new section for save/restore functions
2017-05-11 15:56 [PATCH 0/5] Register save/restore function build improvements Nicholas Piggin
` (2 preceding siblings ...)
2017-05-11 15:56 ` [PATCH 3/5] powerpc/64: do not link crtsaveres.o in boot Nicholas Piggin
@ 2017-05-11 15:56 ` Nicholas Piggin
2017-05-11 15:56 ` [PATCH 5/5] powerpc/64: Linker on-demand sfpr functions for modules Nicholas Piggin
4 siblings, 0 replies; 9+ messages in thread
From: Nicholas Piggin @ 2017-05-11 15:56 UTC (permalink / raw)
To: linuxppc-dev; +Cc: Nicholas Piggin
There is no need to create a new section for these. Consolidate with
32-bit and just use .text.
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
---
arch/powerpc/lib/crtsavres.S | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/arch/powerpc/lib/crtsavres.S b/arch/powerpc/lib/crtsavres.S
index 18af0b3d3eb2..7e5e1c28e56a 100644
--- a/arch/powerpc/lib/crtsavres.S
+++ b/arch/powerpc/lib/crtsavres.S
@@ -44,10 +44,10 @@
#ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
-#ifndef CONFIG_PPC64
-
.section ".text"
+#ifndef CONFIG_PPC64
+
/* Routines for saving integer registers, called by the compiler. */
/* Called with r11 pointing to the stack header word of the caller of the */
/* function, just beyond the end of the integer save area. */
@@ -314,8 +314,6 @@ _GLOBAL(_restvr_31)
#else /* CONFIG_PPC64 */
- .section ".text.save.restore","ax",@progbits
-
.globl _savegpr0_14
_savegpr0_14:
std r14,-144(r1)
--
2.11.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 5/5] powerpc/64: Linker on-demand sfpr functions for modules
2017-05-11 15:56 [PATCH 0/5] Register save/restore function build improvements Nicholas Piggin
` (3 preceding siblings ...)
2017-05-11 15:56 ` [PATCH 4/5] powerpc/64: do not create new section for save/restore functions Nicholas Piggin
@ 2017-05-11 15:56 ` Nicholas Piggin
4 siblings, 0 replies; 9+ messages in thread
From: Nicholas Piggin @ 2017-05-11 15:56 UTC (permalink / raw)
To: linuxppc-dev; +Cc: Nicholas Piggin
For final link, the powerpc64 linker generates fpr save/restore
functions on-demand, placing them in the .sfpr section. Starting with
binutils 2.25, these can be provided for non-final links with
--save-restore-funcs. Use that where possible for module links.
This saves about 200 bytes per module (~60kB) on powernv defconfig
build.
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
---
arch/powerpc/Makefile | 10 ++++++++++
arch/powerpc/lib/Makefile | 13 ++++++++-----
2 files changed, 18 insertions(+), 5 deletions(-)
diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index 3e0f0e1fadef..eaa1865e4a8d 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -189,7 +189,17 @@ else
CHECKFLAGS += -D__LITTLE_ENDIAN__
endif
+ifdef CONFIG_PPC32
KBUILD_LDFLAGS_MODULE += arch/powerpc/lib/crtsavres.o
+else
+ifeq ($(call ld-ifversion, -ge, 225000000, y),y)
+# Have the linker provide sfpr if possible.
+# There is a corresponding test in arch/powerpc/lib/Makefile
+KBUILD_LDFLAGS_MODULE += --save-restore-funcs
+else
+KBUILD_LDFLAGS_MODULE += arch/powerpc/lib/crtsavres.o
+endif
+endif
ifeq ($(CONFIG_476FPE_ERR46),y)
KBUILD_LDFLAGS_MODULE += --ppc476-workaround \
diff --git a/arch/powerpc/lib/Makefile b/arch/powerpc/lib/Makefile
index 0ca405a27ac1..2c56f4636c2b 100644
--- a/arch/powerpc/lib/Makefile
+++ b/arch/powerpc/lib/Makefile
@@ -11,12 +11,15 @@ CFLAGS_REMOVE_feature-fixups.o = $(CC_FLAGS_FTRACE)
obj-y += string.o alloc.o code-patching.o feature-fixups.o
-# 64-bit linker creates .sfpr on demand for final link (vmlinux),
-# so it is only needed for modules.
-obj-$(CONFIG_PPC32) += crtsavres.o
-extra-$(CONFIG_PPC64) += crtsavres.o
+obj-$(CONFIG_PPC32) += div64.o copy_32.o crtsavres.o
-obj-$(CONFIG_PPC32) += div64.o copy_32.o
+# See corresponding test in arch/powerpc/Makefile
+# 64-bit linker creates .sfpr on demand for final link (vmlinux),
+# so it is only needed for modules, and only for older linkers which
+# do not support --save-restore-funcs
+ifeq ($(call ld-ifversion, -lt, 225000000, y),y)
+extra-$(CONFIG_PPC64) += crtsavres.o
+endif
obj64-y += copypage_64.o copyuser_64.o mem_64.o hweight_64.o \
copyuser_power7.o string_64.o copypage_power7.o memcpy_power7.o \
--
2.11.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 3/5] powerpc/64: do not link crtsaveres.o in boot
2017-05-11 15:56 ` [PATCH 3/5] powerpc/64: do not link crtsaveres.o in boot Nicholas Piggin
@ 2017-05-12 14:19 ` kbuild test robot
2017-05-12 15:20 ` Nicholas Piggin
0 siblings, 1 reply; 9+ messages in thread
From: kbuild test robot @ 2017-05-12 14:19 UTC (permalink / raw)
To: Nicholas Piggin; +Cc: kbuild-all, linuxppc-dev, Nicholas Piggin
[-- Attachment #1: Type: text/plain, Size: 25438 bytes --]
Hi Nicholas,
[auto build test ERROR on next-20170511]
[also build test ERROR on v4.11]
[cannot apply to powerpc/next v4.9-rc8 v4.9-rc7 v4.9-rc6]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Nicholas-Piggin/Register-save-restore-function-build-improvements/20170512-075435
config: powerpc-defconfig (attached as .config)
compiler: powerpc64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=powerpc
All errors (new ones prefixed by >>):
arch/powerpc/boot/of.o: In function `of_try_claim':
>> of.c:(.text+0x88): undefined reference to `_restgpr_28_x'
arch/powerpc/boot/of.o: In function `of_image_hdr':
>> of.c:(.text+0x104): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/of.o: In function `platform_init':
of.c:(.text+0x1b4): undefined reference to `_restgpr_28_x'
arch/powerpc/boot/epapr.o: In function `platform_fixups':
>> epapr.c:(.text+0xb0): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/epapr.o: In function `epapr_platform_init':
epapr.c:(.text+0x114): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(libfdt-wrapper.o): In function `expand_buf':
>> libfdt-wrapper.c:(.text+0xa0): undefined reference to `_restgpr_29_x'
arch/powerpc/boot/wrapper.a(libfdt-wrapper.o): In function `fdt_wrapper_finalize':
>> libfdt-wrapper.c:(.text+0xf4): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(libfdt-wrapper.o): In function `fdt_wrapper_get_path':
libfdt-wrapper.c:(.text+0x180): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(libfdt-wrapper.o): In function `fdt_wrapper_del_node':
libfdt-wrapper.c:(.text+0x1c4): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(libfdt-wrapper.o): In function `fdt_wrapper_find_node_by_compatible':
libfdt-wrapper.c:(.text+0x20c): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(libfdt-wrapper.o): In function `fdt_wrapper_find_node_by_prop_value':
libfdt-wrapper.c:(.text+0x254): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(libfdt-wrapper.o): In function `fdt_wrapper_create_node':
>> libfdt-wrapper.c:(.text+0x2d0): undefined reference to `_restgpr_28_x'
arch/powerpc/boot/wrapper.a(libfdt-wrapper.o): In function `fdt_wrapper_get_parent':
libfdt-wrapper.c:(.text+0x320): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(libfdt-wrapper.o): In function `fdt_wrapper_setprop':
>> libfdt-wrapper.c:(.text+0x3e4): undefined reference to `_restgpr_26_x'
arch/powerpc/boot/wrapper.a(libfdt-wrapper.o): In function `fdt_wrapper_getprop':
libfdt-wrapper.c:(.text+0x4a4): undefined reference to `_restgpr_29_x'
arch/powerpc/boot/wrapper.a(libfdt-wrapper.o): In function `fdt_wrapper_finddevice':
libfdt-wrapper.c:(.text+0x4e0): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(libfdt-wrapper.o): In function `fdt_init':
libfdt-wrapper.c:(.text+0x5d8): undefined reference to `_restgpr_29_x'
arch/powerpc/boot/wrapper.a(main.o): In function `prep_kernel':
>> main.c:(.text+0x174): undefined reference to `_restgpr_24_x'
arch/powerpc/boot/wrapper.a(ofconsole.o): In function `of_console_write':
>> ofconsole.c:(.text+0x44): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(ofconsole.o): In function `of_console_open':
ofconsole.c:(.text+0xa0): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(ofconsole.o): In function `of_console_init':
ofconsole.c:(.text+0xdc): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(oflib.o): In function `of_call_prom_ret.constprop.1':
>> oflib.c:(.text+0x104): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(oflib.o): In function `of_init':
oflib.c:(.text+0x144): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(oflib.o): In function `of_call_prom':
>> oflib.c:(.text+0x240): undefined reference to `_restgpr_28_x'
arch/powerpc/boot/wrapper.a(oflib.o): In function `of_exit':
oflib.c:(.text+0x2d0): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(oflib.o): In function `of_finddevice':
oflib.c:(.text+0x30c): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(oflib.o): In function `of_getprop':
oflib.c:(.text+0x354): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(oflib.o): In function `of_claim':
>> oflib.c:(.text+0x3e8): undefined reference to `_restgpr_26_x'
arch/powerpc/boot/wrapper.a(oflib.o): In function `of_vmlinux_alloc':
>> oflib.c:(.text+0x654): undefined reference to `_restgpr_27_x'
arch/powerpc/boot/wrapper.a(oflib.o): In function `of_setprop':
oflib.c:(.text+0x6a8): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(serial.o): In function `serial_open':
>> serial.c:(.text+0x38): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(serial.o): In function `serial_write':
>> serial.c:(.text+0x78): undefined reference to `_restgpr_29_x'
arch/powerpc/boot/wrapper.a(serial.o): In function `serial_close':
serial.c:(.text+0xcc): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(serial.o): In function `serial_edit_cmdline':
>> serial.c:(.text+0x158): undefined reference to `_restgpr_24_x'
arch/powerpc/boot/wrapper.a(serial.o): In function `serial_get_stdout_devp':
serial.c:(.text+0x2e4): undefined reference to `_restgpr_29_x'
arch/powerpc/boot/wrapper.a(serial.o): In function `serial_console_init':
serial.c:(.text+0x31c): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(simple_alloc.o): In function `simple_malloc':
>> simple_alloc.c:(.text+0xa0): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(simple_alloc.o): In function `simple_find_entry':
simple_alloc.c:(.text+0x114): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(simple_alloc.o): In function `simple_free':
simple_alloc.c:(.text+0x16c): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(simple_alloc.o): In function `simple_realloc':
>> simple_alloc.c:(.text+0x20c): undefined reference to `_restgpr_28_x'
arch/powerpc/boot/wrapper.a(simple_alloc.o): In function `simple_alloc_init':
simple_alloc.c:(.text+0x2b0): undefined reference to `_restgpr_28_x'
arch/powerpc/boot/wrapper.a(stdio.o): In function `number':
>> stdio.c:(.text+0x2ec): undefined reference to `_restgpr_20_x'
arch/powerpc/boot/wrapper.a(stdio.o): In function `vsprintf':
>> stdio.c:(.text+0x3e4): undefined reference to `_restgpr_23_x'
arch/powerpc/boot/wrapper.a(stdio.o): In function `sprintf':
--
arch/powerpc/boot/ps3.o: In function `ps3_copy_vectors':
>> ps3.c:(.text+0x90): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(devtree.o): In function `finddevice':
>> devtree.c:(.text+0x3c): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(devtree.o): In function `getprop':
devtree.c:(.text+0x84): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(devtree.o): In function `setprop':
devtree.c:(.text+0xcc): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(devtree.o): In function `copy_val':
>> devtree.c:(.text+0x12c): undefined reference to `_restgpr_27_x'
arch/powerpc/boot/wrapper.a(devtree.o): In function `dt_fixup_memory':
>> devtree.c:(.text+0x2dc): undefined reference to `_restgpr_26_x'
arch/powerpc/boot/wrapper.a(devtree.o): In function `dt_fixup_cpu_clocks':
devtree.c:(.text+0x3c8): undefined reference to `_restgpr_26_x'
arch/powerpc/boot/wrapper.a(devtree.o): In function `dt_fixup_clock':
>> devtree.c:(.text+0x4a8): undefined reference to `_restgpr_28_x'
arch/powerpc/boot/wrapper.a(devtree.o): In function `dt_fixup_mac_address_by_alias':
devtree.c:(.text+0x54c): undefined reference to `_restgpr_28_x'
arch/powerpc/boot/wrapper.a(devtree.o): In function `dt_fixup_mac_address':
>> devtree.c:(.text+0x5e4): undefined reference to `_restgpr_29_x'
arch/powerpc/boot/wrapper.a(devtree.o): In function `__dt_fixup_mac_addresses':
devtree.c:(.text+0x66c): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(devtree.o): In function `dt_get_reg_format':
devtree.c:(.text+0x704): undefined reference to `_restgpr_28_x'
arch/powerpc/boot/wrapper.a(devtree.o): In function `dt_xlate':
>> devtree.c:(.text+0x740): undefined reference to `_restgpr_14_x'
arch/powerpc/boot/wrapper.a(devtree.o): In function `dt_is_compatible':
devtree.c:(.text+0xba8): undefined reference to `_restgpr_26_x'
arch/powerpc/boot/wrapper.a(devtree.o): In function `dt_get_virtual_reg':
devtree.c:(.text+0xc7c): undefined reference to `_restgpr_26_x'
arch/powerpc/boot/wrapper.a(libfdt-wrapper.o): In function `expand_buf':
>> libfdt-wrapper.c:(.text+0xa0): undefined reference to `_restgpr_29_x'
arch/powerpc/boot/wrapper.a(libfdt-wrapper.o): In function `fdt_wrapper_finalize':
>> libfdt-wrapper.c:(.text+0xf4): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(libfdt-wrapper.o): In function `fdt_wrapper_get_path':
libfdt-wrapper.c:(.text+0x180): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(libfdt-wrapper.o): In function `fdt_wrapper_del_node':
libfdt-wrapper.c:(.text+0x1c4): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(libfdt-wrapper.o): In function `fdt_wrapper_find_node_by_compatible':
libfdt-wrapper.c:(.text+0x20c): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(libfdt-wrapper.o): In function `fdt_wrapper_find_node_by_prop_value':
libfdt-wrapper.c:(.text+0x254): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(libfdt-wrapper.o): In function `fdt_wrapper_create_node':
>> libfdt-wrapper.c:(.text+0x2d0): undefined reference to `_restgpr_28_x'
arch/powerpc/boot/wrapper.a(libfdt-wrapper.o): In function `fdt_wrapper_get_parent':
libfdt-wrapper.c:(.text+0x320): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(libfdt-wrapper.o): In function `fdt_wrapper_setprop':
>> libfdt-wrapper.c:(.text+0x3e4): undefined reference to `_restgpr_26_x'
arch/powerpc/boot/wrapper.a(libfdt-wrapper.o): In function `fdt_wrapper_getprop':
libfdt-wrapper.c:(.text+0x4a4): undefined reference to `_restgpr_29_x'
arch/powerpc/boot/wrapper.a(libfdt-wrapper.o): In function `fdt_wrapper_finddevice':
libfdt-wrapper.c:(.text+0x4e0): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(libfdt-wrapper.o): In function `fdt_init':
libfdt-wrapper.c:(.text+0x5d8): undefined reference to `_restgpr_29_x'
arch/powerpc/boot/wrapper.a(main.o): In function `prep_kernel':
>> main.c:(.text+0x174): undefined reference to `_restgpr_24_x'
arch/powerpc/boot/wrapper.a(simple_alloc.o): In function `simple_malloc':
>> simple_alloc.c:(.text+0xa0): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(simple_alloc.o): In function `simple_find_entry':
simple_alloc.c:(.text+0x114): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(simple_alloc.o): In function `simple_free':
simple_alloc.c:(.text+0x16c): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(simple_alloc.o): In function `simple_realloc':
>> simple_alloc.c:(.text+0x20c): undefined reference to `_restgpr_28_x'
arch/powerpc/boot/wrapper.a(simple_alloc.o): In function `simple_alloc_init':
simple_alloc.c:(.text+0x2b0): undefined reference to `_restgpr_28_x'
arch/powerpc/boot/wrapper.a(stdio.o): In function `number':
>> stdio.c:(.text+0x2ec): undefined reference to `_restgpr_20_x'
arch/powerpc/boot/wrapper.a(stdio.o): In function `vsprintf':
>> stdio.c:(.text+0x3e4): undefined reference to `_restgpr_23_x'
arch/powerpc/boot/wrapper.a(stdio.o): In function `sprintf':
>> stdio.c:(.text+0xae4): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(stdio.o): In function `printf':
stdio.c:(.text+0xb80): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(decompress.o): In function `malloc':
>> decompress.c:(.text+0x3c): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(decompress.o): In function `free':
decompress.c:(.text+0x84): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(decompress.o): In function `zlib_adler32':
decompress.c:(.text+0xc4): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(decompress.o): In function `zlib_updatewindow':
>> decompress.c:(.text+0x290): undefined reference to `_restgpr_26_x'
arch/powerpc/boot/wrapper.a(decompress.o): In function `flush':
>> decompress.c:(.text+0x364): undefined reference to `_restgpr_28_x'
arch/powerpc/boot/wrapper.a(decompress.o): In function `print_err':
decompress.c:(.text+0x41c): undefined reference to `_restgpr_30_x'
arch/powerpc/boot/wrapper.a(decompress.o): In function `zlib_inflate_table':
--
arch/powerpc/boot/epapr.o: In function `platform_fixups':
>> epapr.c:(.text+0xb0): undefined reference to `_restgpr_30_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/epapr.o: In function `epapr_platform_init':
epapr.c:(.text+0x114): undefined reference to `_restgpr_30_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/epapr-wrapper.o: In function `platform_init':
>> epapr-wrapper.c:(.text+0x28): undefined reference to `_restgpr_30_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(libfdt-wrapper.o): In function `expand_buf':
>> libfdt-wrapper.c:(.text+0xa0): undefined reference to `_restgpr_29_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(libfdt-wrapper.o): In function `fdt_wrapper_finalize':
>> libfdt-wrapper.c:(.text+0xf4): undefined reference to `_restgpr_30_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(libfdt-wrapper.o): In function `fdt_wrapper_get_path':
libfdt-wrapper.c:(.text+0x180): undefined reference to `_restgpr_30_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(libfdt-wrapper.o): In function `fdt_wrapper_del_node':
libfdt-wrapper.c:(.text+0x1c4): undefined reference to `_restgpr_30_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(libfdt-wrapper.o): In function `fdt_wrapper_find_node_by_compatible':
libfdt-wrapper.c:(.text+0x20c): undefined reference to `_restgpr_30_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(libfdt-wrapper.o): In function `fdt_wrapper_find_node_by_prop_value':
libfdt-wrapper.c:(.text+0x254): undefined reference to `_restgpr_30_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(libfdt-wrapper.o): In function `fdt_wrapper_create_node':
>> libfdt-wrapper.c:(.text+0x2d0): undefined reference to `_restgpr_28_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(libfdt-wrapper.o): In function `fdt_wrapper_get_parent':
libfdt-wrapper.c:(.text+0x320): undefined reference to `_restgpr_30_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(libfdt-wrapper.o): In function `fdt_wrapper_setprop':
>> libfdt-wrapper.c:(.text+0x3e4): undefined reference to `_restgpr_26_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(libfdt-wrapper.o): In function `fdt_wrapper_getprop':
libfdt-wrapper.c:(.text+0x4a4): undefined reference to `_restgpr_29_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(libfdt-wrapper.o): In function `fdt_wrapper_finddevice':
libfdt-wrapper.c:(.text+0x4e0): undefined reference to `_restgpr_30_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(libfdt-wrapper.o): In function `fdt_init':
libfdt-wrapper.c:(.text+0x5d8): undefined reference to `_restgpr_29_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(main.o): In function `prep_kernel':
>> main.c:(.text+0x174): undefined reference to `_restgpr_24_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(serial.o): In function `serial_open':
>> serial.c:(.text+0x38): undefined reference to `_restgpr_30_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(serial.o): In function `serial_write':
>> serial.c:(.text+0x78): undefined reference to `_restgpr_29_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(serial.o): In function `serial_close':
serial.c:(.text+0xcc): undefined reference to `_restgpr_30_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(serial.o): In function `serial_edit_cmdline':
>> serial.c:(.text+0x158): undefined reference to `_restgpr_24_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(serial.o): In function `serial_get_stdout_devp':
serial.c:(.text+0x2e4): undefined reference to `_restgpr_29_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(serial.o): In function `serial_console_init':
serial.c:(.text+0x31c): undefined reference to `_restgpr_30_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(simple_alloc.o): In function `simple_malloc':
>> simple_alloc.c:(.text+0xa0): undefined reference to `_restgpr_30_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(simple_alloc.o): In function `simple_find_entry':
simple_alloc.c:(.text+0x114): undefined reference to `_restgpr_30_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(simple_alloc.o): In function `simple_free':
simple_alloc.c:(.text+0x16c): undefined reference to `_restgpr_30_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(simple_alloc.o): In function `simple_realloc':
>> simple_alloc.c:(.text+0x20c): undefined reference to `_restgpr_28_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(simple_alloc.o): In function `simple_alloc_init':
simple_alloc.c:(.text+0x2b0): undefined reference to `_restgpr_28_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(stdio.o): In function `number':
>> stdio.c:(.text+0x2ec): undefined reference to `_restgpr_20_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(stdio.o): In function `vsprintf':
>> stdio.c:(.text+0x3e4): undefined reference to `_restgpr_23_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(stdio.o): In function `sprintf':
>> stdio.c:(.text+0xae4): undefined reference to `_restgpr_30_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(stdio.o): In function `printf':
stdio.c:(.text+0xb80): undefined reference to `_restgpr_30_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(uartlite.o): In function `uartlite_open':
>> uartlite.c:(.text+0x3c): undefined reference to `_restgpr_30_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(uartlite.o): In function `uartlite_putc':
uartlite.c:(.text+0x84): undefined reference to `_restgpr_30_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(uartlite.o): In function `uartlite_getc':
uartlite.c:(.text+0xe4): undefined reference to `_restgpr_30_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(uartlite.o):uartlite.c:(.text+0x134): more undefined references to `_restgpr_30_x' follow
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(uartlite.o): In function `uartlite_console_init':
>> uartlite.c:(.text+0x198): undefined reference to `_restgpr_29_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(cpm-serial.o): In function `cpm1_cmd':
>> cpm-serial.c:(.text+0x70): undefined reference to `_restgpr_30_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(cpm-serial.o): In function `cpm2_cmd':
cpm-serial.c:(.text+0xe0): undefined reference to `_restgpr_30_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(cpm-serial.o): In function `smc_disable_port':
cpm-serial.c:(.text+0x138): undefined reference to `_restgpr_30_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(cpm-serial.o): In function `scc_disable_port':
cpm-serial.c:(.text+0x190): undefined reference to `_restgpr_30_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(cpm-serial.o): In function `smc_enable_port':
cpm-serial.c:(.text+0x1e8): undefined reference to `_restgpr_30_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(cpm-serial.o):cpm-serial.c:(.text+0x240): more undefined references to `_restgpr_30_x' follow
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(cpm-serial.o): In function `cpm_console_init':
>> cpm-serial.c:(.text+0x68c): undefined reference to `_restgpr_26_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(decompress.o): In function `malloc':
>> decompress.c:(.text+0x3c): undefined reference to `_restgpr_30_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(decompress.o): In function `free':
decompress.c:(.text+0x84): undefined reference to `_restgpr_30_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(decompress.o): In function `zlib_adler32':
decompress.c:(.text+0xc4): undefined reference to `_restgpr_30_x'
powerpc64-linux-gnu-ld: BFD (GNU Binutils for Debian) 2.27 assertion fail ../../bfd/elf32-ppc.c:8813
arch/powerpc/boot/wrapper.a(decompress.o): In function `zlib_updatewindow':
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 23376 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 3/5] powerpc/64: do not link crtsaveres.o in boot
2017-05-12 14:19 ` kbuild test robot
@ 2017-05-12 15:20 ` Nicholas Piggin
0 siblings, 0 replies; 9+ messages in thread
From: Nicholas Piggin @ 2017-05-12 15:20 UTC (permalink / raw)
To: kbuild test robot; +Cc: kbuild-all, linuxppc-dev
On Fri, 12 May 2017 22:19:29 +0800
kbuild test robot <lkp@intel.com> wrote:
> Hi Nicholas,
>
> [auto build test ERROR on next-20170511]
> [also build test ERROR on v4.11]
> [cannot apply to powerpc/next v4.9-rc8 v4.9-rc7 v4.9-rc6]
> [if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
>
> url: https://github.com/0day-ci/linux/commits/Nicholas-Piggin/Register-save-restore-function-build-improvements/20170512-075435
> config: powerpc-defconfig (attached as .config)
> compiler: powerpc64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
> reproduce:
> wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # save the attached .config to linux build tree
> make.cross ARCH=powerpc
>
> All errors (new ones prefixed by >>):
>
> arch/powerpc/boot/of.o: In function `of_try_claim':
> >> of.c:(.text+0x88): undefined reference to `_restgpr_28_x'
I didn't account for PPC64 && !PPC64_BOOT_WRAPPER case there. Will fix.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [1/5] powerpc/64: place sfpr section explicitly with the linker script
2017-05-11 15:56 ` [PATCH 1/5] powerpc/64: place sfpr section explicitly with the linker script Nicholas Piggin
@ 2017-05-30 9:11 ` Michael Ellerman
0 siblings, 0 replies; 9+ messages in thread
From: Michael Ellerman @ 2017-05-30 9:11 UTC (permalink / raw)
To: Nicholas Piggin, linuxppc-dev; +Cc: Nicholas Piggin
On Thu, 2017-05-11 at 15:56:48 UTC, Nicholas Piggin wrote:
> Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Series applied to powerpc next, thanks.
https://git.kernel.org/powerpc/c/e8c688251d0e8baca1cd68992c9ef4
cheers
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2017-05-30 9:11 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-05-11 15:56 [PATCH 0/5] Register save/restore function build improvements Nicholas Piggin
2017-05-11 15:56 ` [PATCH 1/5] powerpc/64: place sfpr section explicitly with the linker script Nicholas Piggin
2017-05-30 9:11 ` [1/5] " Michael Ellerman
2017-05-11 15:56 ` [PATCH 2/5] powerpc/64: do not link crtsavres.o in vmlinux Nicholas Piggin
2017-05-11 15:56 ` [PATCH 3/5] powerpc/64: do not link crtsaveres.o in boot Nicholas Piggin
2017-05-12 14:19 ` kbuild test robot
2017-05-12 15:20 ` Nicholas Piggin
2017-05-11 15:56 ` [PATCH 4/5] powerpc/64: do not create new section for save/restore functions Nicholas Piggin
2017-05-11 15:56 ` [PATCH 5/5] powerpc/64: Linker on-demand sfpr functions for modules Nicholas Piggin
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.