Message ID | 20170511155652.8287-4-npiggin@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 7c868b66f8cc29bb9a63632b324a6fa661bdec05 |
Headers | show |
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
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.
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
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(-)