linux-sg2042/arch/powerpc/boot
Michael Ellerman 65c5ec11c2 powerpc/boot: Fix 64-bit boot wrapper build with non-biarch compiler
Historically the boot wrapper was always built 32-bit big endian, even
for 64-bit kernels. That was because old firmwares didn't necessarily
support booting a 64-bit image. Because of that arch/powerpc/boot/Makefile
uses CROSS32CC for compilation.

However when we added 64-bit little endian support, we also added
support for building the boot wrapper 64-bit. However we kept using
CROSS32CC, because in most cases it is just CC and everything works.

However if the user doesn't specify CROSS32_COMPILE (which no one ever
does AFAIK), and CC is *not* biarch (32/64-bit capable), then CROSS32CC
becomes just "gcc". On native systems that is probably OK, but if we're
cross building it definitely isn't, leading to eg:

  gcc ... -m64 -mlittle-endian -mabi=elfv2 ... arch/powerpc/boot/cpm-serial.c
  gcc: error: unrecognized argument in option ‘-mabi=elfv2’
  gcc: error: unrecognized command line option ‘-mlittle-endian’
  make: *** [zImage] Error 2

To fix it, stop using CROSS32CC, because we may or may not be building
32-bit. Instead setup a BOOTCC, which defaults to CC, and only use
CROSS32_COMPILE if it's set and we're building for 32-bit.

Fixes: 147c05168f ("powerpc/boot: Add support for 64bit little endian wrapper")
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Reviewed-by: Cyril Bur <cyrilbur@gmail.com>
2017-07-28 19:35:46 +10:00
..
dts powerpc updates for 4.13 2017-07-07 13:55:45 -07:00
.gitignore powerpc/boot: Update .gitignore 2017-02-02 16:35:26 +11:00
4xx.c powerpc/44x: Fix UART clocks on 440SPe 2010-05-12 07:48:49 -04:00
4xx.h powerpc/405ex: provide necessary fixup function to support cuImage 2009-08-31 09:20:55 -04:00
44x.h
Makefile powerpc/boot: Fix 64-bit boot wrapper build with non-biarch compiler 2017-07-28 19:35:46 +10:00
README
addnote.c powerpc/boot: Add 64bit and little endian support to addnote 2014-04-28 17:36:00 +10:00
bamboo.c [POWERPC] Start removing linux,network-index in favour of aliases 2008-03-26 07:19:16 -05:00
cpm-serial.c [POWERPC] cpm-serial: Relocate CPM buffer descriptors and SMC parameter ram. 2008-04-17 01:01:37 -05:00
crt0.S powerpc/boot: don't clobber r6 and r7 in epapr boot 2015-03-16 18:58:35 +11:00
crtsavres.S powerpc/64: Do not link crtsaveres.o in boot 2017-05-30 14:59:51 +10:00
cuboot-8xx.c [POWERPC] Use embedded libfdt in the bootwrapper 2007-12-11 13:46:14 +11:00
cuboot-52xx.c powerpc/52xx: Make cuImage more robust in locating immr node. 2008-10-15 11:09:59 -06:00
cuboot-83xx.c [POWERPC] bootwrapper: convert cuboot-8{3,5}xx to dt_fixup_mac_address_by_alias 2008-01-23 19:32:47 -06:00
cuboot-85xx-cpm2.c [POWERPC] Add a cuboot wrapper for 85xx with CPM2 2008-01-27 14:10:36 -06:00
cuboot-85xx.c powerpc/85xx: cuboot - Fix up ethernet3 MAC address on MPC85xx 2009-06-15 21:45:32 -05:00
cuboot-824x.c [POWERPC] Add initial iomega StorCenter board port. 2008-01-23 19:54:36 -06:00
cuboot-acadia.c powerpc/40x: Add cuboot wrapper for Acadia board 2008-10-17 10:31:19 -04:00
cuboot-amigaone.c powerpc/amigaone: Bootwrapper and serial console support for AmigaOne 2009-02-11 16:00:09 +11:00
cuboot-bamboo.c [POWERPC] 4xx: Use correct board info structure in cuboot wrappers 2008-02-28 08:16:27 -06:00
cuboot-c2k.c powerpc/boot: Remove the legacy gzip wrapper 2016-09-28 14:31:50 +10:00
cuboot-ebony.c [POWERPC] 4xx: Use correct board info structure in cuboot wrappers 2008-02-28 08:16:27 -06:00
cuboot-hotfoot.c powerpc/40x: Add support for the ESTeem 195E (PPC405EP) SBC 2009-08-31 09:15:51 -04:00
cuboot-katmai.c [POWERPC] 4xx: Use correct board info structure in cuboot wrappers 2008-02-28 08:16:27 -06:00
cuboot-kilauea.c powerpc/405ex: support cuImage via included dtb 2009-08-31 09:23:22 -04:00
cuboot-mpc7448hpc2.c [POWERPC] bootwrapper: Build multiple cuImages 2008-02-07 11:40:19 +11:00
cuboot-pq2.c [POWERPC] cuboot-pq2: PCI fixes 2008-04-17 01:01:40 -05:00
cuboot-rainier.c [POWERPC] Start removing linux,network-index in favour of aliases 2008-03-26 07:19:16 -05:00
cuboot-sam440ep.c powerpc/4xx: Sam440ep support 2008-06-11 08:32:49 -04:00
cuboot-sequoia.c [POWERPC] Start removing linux,network-index in favour of aliases 2008-03-26 07:19:16 -05:00
cuboot-taishan.c [POWERPC] Start removing linux,network-index in favour of aliases 2008-03-26 07:19:16 -05:00
cuboot-warp.c powerpc/44x: Warp patches for the new NDFC driver 2009-01-20 08:17:21 -05:00
cuboot-yosemite.c [POWERPC] 4xx: Add bootwrapper for AMCC Yosemite board 2008-03-26 07:19:17 -05:00
cuboot.c
cuboot.h
dcr.h IBM Akebono: Add the Akebono platform 2014-05-01 08:26:26 +10:00
decompress.c powerpc/boot: Add support for XZ compression 2016-09-28 14:35:14 +10:00
devtree.c powerpc/bootwrapper: Use the child-bus #address-cells to decide which range entry to use 2008-12-21 14:21:17 +11:00
div64.S powerpc/boot: Add extended precision shifts to the boot wrapper. 2011-12-09 07:49:27 -05:00
dummy.c
ebony.c [POWERPC] Start removing linux,network-index in favour of aliases 2008-03-26 07:19:16 -05:00
elf.h
elf_util.c powerpc/boot: Add little endian support to elf utils 2014-04-28 17:36:04 +10:00
ep88xc.c [POWERPC] Use embedded libfdt in the bootwrapper 2007-12-11 13:46:14 +11:00
ep405.c [POWERPC] 4xx: EP405 boards support for arch/powerpc 2007-12-23 13:13:14 -06:00
ep8248e.c [POWERPC] 82xx: Embedded Planet EP8248E support 2008-01-23 19:34:43 -06:00
epapr-wrapper.c powerpc/zImage: make the "OF" wrapper support ePAPR boot 2013-09-25 14:18:44 +10:00
epapr.c powerpc/zImage: make the "OF" wrapper support ePAPR boot 2013-09-25 14:18:44 +10:00
fixed-head.S
fixup-headers.sed powerpc/boot: Add sed script 2016-09-28 14:20:44 +10:00
fsl-soc.c
fsl-soc.h
gamecube-head.S powerpc: gamecube: bootwrapper bits 2009-12-12 22:24:26 -07:00
gamecube.c powerpc: gamecube: bootwrapper bits 2009-12-12 22:24:26 -07:00
hack-coff.c
holly.c [POWERPC] Use embedded libfdt in the bootwrapper 2007-12-11 13:46:14 +11:00
install.sh kbuild: use INSTALLKERNEL to select customized installkernel script 2009-09-20 12:18:14 +02:00
io.h powerpc: Fix wrong defintion in boot/io.h 2014-08-05 15:41:03 +10:00
libfdt-wrapper.c powerpc/boot/fdt: Use unsigned long for pointer casts 2015-03-16 18:58:30 +11:00
libfdt_env.h libfdt: add fdt type definitions 2015-04-29 17:17:17 -05:00
main.c powerpc/boot: Fix the early OPAL console wrappers 2016-11-24 17:34:01 +11:00
mktree.c powerpc: use consistent types in mktree 2009-08-20 10:29:30 +10:00
motload-head.S powerpc/86xx: Add support for Emerson/Artesyn MVME7100 2016-07-08 20:01:27 -05:00
mpc8xx.c
mpc8xx.h
mpc52xx-psc.c [POWERPC] Add bootwrapper function to get virtual reg from the device tree. 2008-04-17 01:01:37 -05:00
mpsc.c [POWERPC] prpmc2800: Clean up dts properties 2008-04-15 21:21:24 +10:00
mv64x60.c [POWERPC] mv64x60: Remove device tree absolute path references 2008-04-15 21:21:24 +10:00
mv64x60.h
mv64x60_i2c.c [POWERPC] mv64x60: Remove device tree absolute path references 2008-04-15 21:21:24 +10:00
mvme5100.c powerpc/embedded6xx: Add support for Motorola/Emerson MVME5100 2014-01-09 17:52:20 -06:00
mvme7100.c powerpc/86xx: Add support for Emerson/Artesyn MVME7100 2016-07-08 20:01:27 -05:00
ns16550.c [POWERPC] Xilinx: boot support for Xilinx uart 16550. 2008-04-24 13:32:46 -05:00
of.c powerpc/boot: Rework of_claim() to make it 64bit friendly 2014-04-28 17:35:43 +10:00
of.h libfdt: add fdt type definitions 2015-04-29 17:17:17 -05:00
ofconsole.c powerpc/boot: Add byteswapping routines in oflib 2014-04-28 17:35:35 +10:00
oflib.c powerpc/boot: Define a routine to enter prom 2014-04-28 17:36:08 +10:00
opal-calls.S powerpc/boot: Fix the early OPAL console wrappers 2016-11-24 17:34:01 +11:00
opal.c powerpc/boot: Fix build failure in 32-bit boot wrapper 2016-11-28 22:58:13 +11:00
ops.h powerpc/boot: Fix the early OPAL console wrappers 2016-11-24 17:34:01 +11:00
page.h powerpc: Fix _ALIGN_* errors due to type difference. 2015-10-09 08:02:25 +11:00
planetcore.c powerpc/boot: drop planetcore_set_serial_speed 2015-03-16 18:50:17 +11:00
planetcore.h powerpc/boot: drop planetcore_set_serial_speed 2015-03-16 18:50:17 +11:00
ppc_asm.h powerpc/64s: Fix FIXUP_ENDIAN non-maskable interrupt reentrancy 2017-05-30 14:59:51 +10:00
ppcboot-hotfoot.h powerpc/40x: Add support for the ESTeem 195E (PPC405EP) SBC 2009-08-31 09:15:51 -04:00
ppcboot.h powerpc/86xx: Add support for Emerson/Artesyn MVME7100 2016-07-08 20:01:27 -05:00
pq2.c
pq2.h
ps3-head.S powerpc/ps3: Fix system hang with GCC 5 builds 2016-11-30 23:19:59 +11:00
ps3-hvcall.S [POWERPC] PS3: Fix bootwrapper hang bug 2008-02-14 22:11:01 +11:00
ps3.c powerpc/ps3: Fix system hang with GCC 5 builds 2016-11-30 23:19:59 +11:00
pseries-head.S powerpc/boot: Add support for 64bit little endian wrapper 2014-04-28 17:36:21 +10:00
redboot-8xx.c [POWERPC] 8xx: Analogue & Micro Adder875 board support. 2008-01-23 19:34:40 -06:00
redboot-83xx.c [POWERPC] 83xx: Add support for Analogue & Micro ASP837E board 2008-06-02 14:44:25 -05:00
redboot.h [POWERPC] 8xx: Analogue & Micro Adder875 board support. 2008-01-23 19:34:40 -06:00
reg.h [POWERPC] 4xx: Add mfspr/mtspr inline macros to 4xx bootwrapper 2007-12-23 13:14:22 -06:00
rs6000.h powerpc: Fix misspellings in comments. 2016-03-01 19:27:20 +11:00
serial.c powerpc/boot: Add OPAL console to epapr wrappers 2016-07-05 23:58:54 +10:00
simple_alloc.c
simpleboot.c powerpc/simpleboot: fix comment 2014-08-26 09:35:57 +02:00
stdbool.h powerpc/boot: Add support for XZ compression 2016-09-28 14:35:14 +10:00
stdint.h powerpc/boot: Add support for XZ compression 2016-09-28 14:35:14 +10:00
stdio.c powerpc/boot: Fix do_div for 64bit wrapper 2014-04-28 17:35:22 +10:00
stdio.h
stdlib.c
stdlib.h
string.S powerpc: Fix boot wrapper memcmp() called with zero length argument 2008-10-21 15:17:48 +11:00
string.h
swab.h powerpc/boot: Define byteswapping routines for little endian 2014-04-28 17:35:56 +10:00
treeboot-akebono.c powerpc: Fix misspellings in comments. 2016-03-01 19:27:20 +11:00
treeboot-bamboo.c
treeboot-currituck.c powerpc: Fix misspellings in comments. 2016-03-01 19:27:20 +11:00
treeboot-ebony.c
treeboot-iss4xx.c powerpc: Fix misspellings in comments. 2016-03-01 19:27:20 +11:00
treeboot-walnut.c [POWERPC] Start removing linux,network-index in favour of aliases 2008-03-26 07:19:16 -05:00
types.h powerpc/boot: Add support for XZ compression 2016-09-28 14:35:14 +10:00
uartlite.c
ugecon.c powerpc/gamecube/wii: Fix off-by-one error in ugecon/usbgecko_udbg 2009-12-18 15:13:57 +11:00
ugecon.h powerpc: gamecube/wii: usbgecko bootwrapper console support 2009-12-12 22:24:26 -07:00
util.S powerpc: No need to use dot symbols when branching to a function 2014-04-23 10:05:16 +10:00
virtex.c powerpc/virtex: Fix booting of Xilinx FPGAs with 16550 for 405 and 440 2008-07-04 00:58:59 -06:00
virtex405-head.S [POWERPC] bootwrapper: Add a firmware-independent simpleboot target. 2008-04-02 20:36:11 -05:00
wii-head.S powerpc: wii: bootwrapper bits 2009-12-12 22:24:29 -07:00
wii.c wii: bootwrapper: add fixup to calc useable mem2 2009-12-12 22:24:31 -07:00
wrapper powerpc/boot: Request no dynamic linker for boot wrapper 2016-12-05 13:02:25 +11:00
xz_config.h powerpc/boot: Add support for XZ compression 2016-09-28 14:35:14 +10:00
zImage.coff.lds.S powerpc/boot: Allow building the zImage wrapper as a relocatable ET_DYN 2011-04-20 16:59:20 +10:00
zImage.lds.S powerpc/boot: Fix zImage TOC alignment 2017-03-08 10:39:32 +11:00
zImage.ps3.lds.S

README

To extract the kernel vmlinux, System.map, .config or initrd from the zImage binary:

objcopy -j .kernel:vmlinux -O binary zImage vmlinux.gz
objcopy -j .kernel:System.map -O binary zImage System.map.gz
objcopy -j .kernel:.config -O binary zImage config.gz
objcopy -j .kernel:initrd -O binary zImage.initrd initrd.gz


	Peter