# git rev-parse -q --verify eccce93ad0af6757ad525969bcf92cdfed92c34d^{commit} eccce93ad0af6757ad525969bcf92cdfed92c34d already have revision, skipping fetch # git checkout -q -f -B kisskb eccce93ad0af6757ad525969bcf92cdfed92c34d # git clean -qxdf # git log -1 commit eccce93ad0af6757ad525969bcf92cdfed92c34d Author: Michael Ellerman Date: Tue Aug 9 21:15:23 2016 +1000 powerpc/Makefile: Use cflags-y/aflags-y for setting endian options When we introduced the little endian support, we added the endian flags to CC directly using override. I don't know the history of why we did that, I suspect no one does. Although this mostly works, it has one bug, which is that CROSS32CC doesn't get -mbig-endian. That means when the compiler is little endian by default and the user is building big endian, vdso32 is incorrectly compiled as little endian and the kernel fails to build. Instead we can add the endian flags to cflags-y/aflags-y, and then append those to KBUILD_CFLAGS/KBUILD_AFLAGS. This has the advantage of being 1) less ugly, 2) the documented way of adding flags in the arch Makefile and 3) it fixes building vdso32 with a LE toolchain. Signed-off-by: Michael Ellerman # < /opt/cross/kisskb/gcc-5.3.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < git log --format=%s --max-count=1 eccce93ad0af6757ad525969bcf92cdfed92c34d # < make -j 48 ARCH=powerpc O=/home/kisskb/slave/build/mpe_powerpc-allnoconfig_powerpc-5.3 CROSS_COMPILE=/opt/cross/kisskb/gcc-5.3.0-nolibc/powerpc64-linux/bin/powerpc64-linux- allnoconfig # make -j 48 ARCH=powerpc O=/home/kisskb/slave/build/mpe_powerpc-allnoconfig_powerpc-5.3 CROSS_COMPILE=/opt/cross/kisskb/gcc-5.3.0-nolibc/powerpc64-linux/bin/powerpc64-linux- make[1]: Entering directory '/home/kisskb/slave/build/mpe_powerpc-allnoconfig_powerpc-5.3' GEN ./Makefile scripts/kconfig/conf --silentoldconfig Kconfig CHK include/config/kernel.release GEN ./Makefile UPD include/config/kernel.release WRAP arch/powerpc/include/generated/asm/clkdev.h WRAP arch/powerpc/include/generated/asm/div64.h WRAP arch/powerpc/include/generated/asm/irq_regs.h WRAP arch/powerpc/include/generated/asm/irq_work.h WRAP arch/powerpc/include/generated/asm/local64.h WRAP arch/powerpc/include/generated/asm/mcs_spinlock.h WRAP arch/powerpc/include/generated/asm/preempt.h WRAP arch/powerpc/include/generated/asm/rwsem.h WRAP arch/powerpc/include/generated/asm/vtime.h CHK include/generated/uapi/linux/version.h UPD include/generated/uapi/linux/version.h CHK include/generated/utsrelease.h UPD include/generated/utsrelease.h Using /home/kisskb/slave/src as source for kernel HOSTCC scripts/dtc/dtc.o HOSTCC scripts/dtc/flattree.o CC scripts/mod/empty.o HOSTCC scripts/dtc/fstree.o HOSTCC scripts/mod/mk_elfconfig HOSTCC scripts/dtc/data.o HOSTCC scripts/dtc/livetree.o HOSTCC scripts/dtc/treesource.o HOSTCC scripts/dtc/srcpos.o HOSTCC scripts/dtc/util.o SHIPPED scripts/dtc/dtc-lexer.lex.c SHIPPED scripts/dtc/dtc-parser.tab.c HOSTCC scripts/dtc/checks.o SHIPPED scripts/dtc/dtc-parser.tab.h CC scripts/mod/devicetable-offsets.s HOSTCC scripts/dtc/dtc-lexer.lex.o HOSTCC scripts/dtc/dtc-parser.tab.o GEN scripts/mod/devicetable-offsets.h MKELF scripts/mod/elfconfig.h HOSTCC scripts/mod/modpost.o HOSTCC scripts/mod/file2alias.o HOSTCC scripts/mod/sumversion.o HOSTLD scripts/dtc/dtc HOSTLD scripts/mod/modpost CHK include/generated/timeconst.h CC kernel/bounds.s UPD include/generated/timeconst.h CHK include/generated/bounds.h UPD include/generated/bounds.h CC arch/powerpc/kernel/asm-offsets.s CHK include/generated/asm-offsets.h UPD include/generated/asm-offsets.h CALL /home/kisskb/slave/src/scripts/checksyscalls.sh CC init/main.o CHK include/generated/compile.h LD usr/built-in.o CC init/do_mounts.o CC init/noinitramfs.o CC init/init_task.o UPD include/generated/compile.h CC init/version.o CC arch/powerpc/mm/fault.o CC arch/powerpc/mm/mem.o CC arch/powerpc/mm/pgtable.o CC arch/powerpc/mm/mmap.o CC arch/powerpc/mm/init_32.o CC arch/powerpc/mm/pgtable_32.o AS arch/powerpc/lib/string.o CC arch/powerpc/lib/alloc.o CC arch/powerpc/mm/tlb_hash32.o CC arch/powerpc/lib/code-patching.o AS arch/powerpc/lib/crtsavres.o CC arch/powerpc/lib/ppc_ksyms.o CC arch/powerpc/mm/ppc_mmu_32.o LD arch/powerpc/sysdev/built-in.o CC arch/powerpc/lib/feature-fixups.o CC arch/powerpc/mm/hugetlbpage.o CC arch/powerpc/mm/mmu_context_hash32.o AS arch/powerpc/lib/div64.o AS arch/powerpc/mm/hash_low_32.o AS arch/powerpc/lib/checksum_32.o AS arch/powerpc/lib/copy_32.o CC arch/powerpc/lib/checksum_wrappers.o LD arch/powerpc/platforms/built-in.o LD arch/powerpc/math-emu/built-in.o LD arch/powerpc/crypto/built-in.o CC arch/powerpc/kernel/cputable.o CC arch/powerpc/kernel/ptrace.o CC arch/powerpc/kernel/align.o LD arch/powerpc/net/built-in.o CC arch/powerpc/kernel/signal_32.o CC arch/powerpc/kernel/pmc.o CC arch/powerpc/kernel/syscalls.o CC arch/powerpc/kernel/process.o CC arch/powerpc/kernel/irq.o CC arch/powerpc/kernel/vdso.o CC arch/powerpc/kernel/cacheinfo.o CC arch/powerpc/kernel/prom.o CC arch/powerpc/kernel/signal.o CC arch/powerpc/kernel/traps.o CC arch/powerpc/kernel/setup-common.o CC arch/powerpc/kernel/udbg.o CC arch/powerpc/kernel/time.o CC arch/powerpc/kernel/idle.o CPP arch/powerpc/kernel/systbl_chk.i CC arch/powerpc/kernel/sysfs.o CC arch/powerpc/kernel/of_platform.o AS arch/powerpc/kernel/misc_32.o CC arch/powerpc/kernel/dma.o CC arch/powerpc/kernel/io.o AS arch/powerpc/kernel/misc.o CC arch/powerpc/kernel/prom_parse.o AS arch/powerpc/kernel/idle_6xx.o AS arch/powerpc/kernel/l2cr_6xx.o LDS arch/powerpc/kernel/vdso32/vdso32.lds LD certs/built-in.o AS arch/powerpc/kernel/cpu_setup_6xx.o AS arch/powerpc/kernel/entry_32.o VDSO32A arch/powerpc/kernel/vdso32/sigtramp.o CC arch/powerpc/kernel/setup_32.o CC arch/powerpc/kernel/pci_32.o VDSO32A arch/powerpc/kernel/vdso32/gettimeofday.o VDSO32A arch/powerpc/kernel/vdso32/cacheflush.o VDSO32A arch/powerpc/kernel/vdso32/datapage.o CC arch/powerpc/kernel/pci_of_scan.o CC arch/powerpc/kernel/pci-common.o AS arch/powerpc/kernel/head_32.o LDS arch/powerpc/kernel/vmlinux.lds AS arch/powerpc/kernel/fpu.o CC arch/powerpc/kernel/iomap.o VDSO32A arch/powerpc/kernel/vdso32/note.o CALL /home/kisskb/slave/src/arch/powerpc/kernel/systbl_chk.sh LD arch/powerpc/lib/built-in.o AS arch/powerpc/kernel/systbl.o VDSO32L arch/powerpc/kernel/vdso32/vdso32.so.dbg OBJCOPY arch/powerpc/kernel/vdso32/vdso32.so AS arch/powerpc/kernel/vdso32/vdso32_wrapper.o LD ipc/built-in.o LD arch/powerpc/kernel/vdso32/built-in.o CC kernel/fork.o CC kernel/exec_domain.o CC kernel/panic.o CC security/min_addr.o CC kernel/sysctl.o CC security/commoncap.o CC kernel/exit.o CC kernel/softirq.o CC kernel/sysctl_binary.o CC kernel/user.o CC kernel/signal.o CC kernel/resource.o CC kernel/ptrace.o CC kernel/cpu.o CC kernel/capability.o CC kernel/workqueue.o CC kernel/kthread.o CC kernel/params.o CC kernel/task_work.o CC kernel/sys_ni.o CC kernel/pid.o CC kernel/kmod.o CC kernel/sys.o CC kernel/extable.o CC kernel/nsproxy.o LD crypto/built-in.o LD init/mounts.o CC kernel/notifier.o CC kernel/ksysfs.o LD arch/powerpc/mm/built-in.o LD block/built-in.o CC kernel/cred.o CC kernel/reboot.o CC kernel/range.o CC kernel/async.o CC kernel/smpboot.o LD init/built-in.o LD kernel/livepatch/built-in.o CC kernel/power/qos.o CC kernel/printk/printk.o CC fs/open.o CC kernel/locking/mutex.o CC fs/read_write.o CC kernel/locking/semaphore.o CC mm/mempool.o CC mm/filemap.o CC kernel/irq/irqdesc.o LD sound/built-in.o CC kernel/rcu/update.o CC kernel/dma.o CC kernel/locking/rwsem.o CC kernel/rcu/sync.o CC kernel/up.o CC kernel/elfcore.o CC kernel/sched/core.o CC kernel/memremap.o CC fs/file_table.o CC kernel/rcu/tiny.o CC kernel/sched/loadavg.o LD security/built-in.o LD firmware/built-in.o CC fs/super.o CC kernel/sched/cputime.o CC kernel/sched/clock.o CC mm/maccess.o CC mm/oom_kill.o CC kernel/time/time.o CC kernel/time/timer.o LD net/built-in.o CC kernel/locking/percpu-rwsem.o CC kernel/locking/rwsem-xadd.o CC kernel/time/hrtimer.o CC kernel/irq/handle.o CC kernel/sched/idle_task.o CC kernel/irq/manage.o LD arch/powerpc/kernel/built-in.o CC fs/char_dev.o CC kernel/irq/spurious.o CC fs/stat.o CC kernel/irq/resend.o CC kernel/irq/chip.o CC kernel/time/itimer.o CC kernel/irq/dummychip.o CC kernel/time/posix-timers.o LD virt/lib/built-in.o CC mm/page_alloc.o CC kernel/time/posix-cpu-timers.o CC kernel/time/timekeeping.o CC kernel/time/ntp.o CC mm/page-writeback.o LD virt/built-in.o LD kernel/printk/built-in.o CC kernel/time/clocksource.o CC mm/swap.o CC mm/readahead.o CC kernel/irq/devres.o CC kernel/irq/irqdomain.o CC mm/truncate.o CC kernel/sched/fair.o CC kernel/time/jiffies.o CC mm/vmscan.o CC kernel/sched/rt.o CC mm/shmem.o CC kernel/sched/deadline.o LD drivers/amba/built-in.o CC kernel/sched/stop_task.o LD kernel/power/built-in.o CC fs/exec.o LD kernel/rcu/built-in.o CC kernel/sched/wait.o CC fs/pipe.o CC kernel/sched/swait.o CC kernel/sched/completion.o CC fs/namei.o CC kernel/sched/idle.o LD drivers/auxdisplay/built-in.o CC mm/util.o LD kernel/locking/built-in.o LD drivers/block/built-in.o LD drivers/bus/built-in.o CC lib/lockref.o CC fs/fcntl.o CC fs/ioctl.o LD drivers/cdrom/built-in.o CC fs/readdir.o CC kernel/time/timer_list.o LD drivers/clocksource/built-in.o CC drivers/char/mem.o CC kernel/time/timeconv.o CC kernel/time/timecounter.o LD drivers/clk/bcm/built-in.o CC lib/bcd.o CC drivers/base/component.o LD drivers/firewire/built-in.o CC kernel/time/posix-clock.o CC drivers/base/core.o CC mm/mmzone.o LD drivers/clk/mvebu/built-in.o CC lib/div64.o CC kernel/time/alarmtimer.o CC mm/vmstat.o CC kernel/time/clockevents.o LD drivers/clk/ti/built-in.o LD drivers/firmware/broadcom/built-in.o CC mm/backing-dev.o LD drivers/clk/built-in.o CC mm/percpu.o CC mm/mmu_context.o CC mm/mm_init.o CC fs/select.o CC kernel/time/tick-common.o LD drivers/firmware/built-in.o CC lib/sort.o CC drivers/char/random.o CC mm/slab_common.o CC lib/parser.o CC drivers/char/misc.o CC mm/compaction.o CC mm/vmacache.o LD kernel/irq/built-in.o LD drivers/char/agp/built-in.o LD drivers/hwtracing/intel_th/built-in.o CC fs/dcache.o CC lib/halfmd4.o CC mm/interval_tree.o CC lib/debug_locks.o CC lib/random32.o CC lib/bust_spinlocks.o CC mm/list_lru.o CC lib/kasprintf.o CC fs/inode.o CC mm/workingset.o LD drivers/idle/built-in.o LD drivers/gpu/vga/built-in.o CC mm/debug.o LD drivers/i2c/algos/built-in.o CC lib/scatterlist.o CC lib/bitmap.o CC drivers/base/bus.o CC mm/gup.o CC drivers/irqchip/irqchip.o LD drivers/i2c/busses/built-in.o LD drivers/gpu/drm/bridge/built-in.o CC fs/attr.o CC drivers/base/dd.o LD drivers/gpu/drm/hisilicon/built-in.o LD drivers/i2c/muxes/built-in.o CC mm/highmem.o CC fs/bad_inode.o CC mm/memory.o CC fs/file.o LD drivers/i2c/built-in.o LD drivers/gpu/drm/i2c/built-in.o CC lib/gcd.o CC fs/filesystems.o CC lib/lcm.o LD kernel/sched/built-in.o CC mm/mlock.o CC mm/mincore.o CC fs/namespace.o LD drivers/gpu/drm/panel/built-in.o CC fs/seq_file.o CC mm/mmap.o LD drivers/lguest/built-in.o CC mm/mprotect.o CC lib/list_sort.o CC lib/uuid.o LD drivers/gpu/drm/omapdrm/displays/built-in.o LD drivers/gpu/drm/tilcdc/built-in.o CC mm/mremap.o CC mm/msync.o LD drivers/macintosh/built-in.o CC lib/iov_iter.o LD drivers/gpu/drm/omapdrm/dss/built-in.o CC lib/flex_array.o CC fs/xattr.o CC lib/clz_ctz.o CC lib/bsearch.o CC lib/find_bit.o CC fs/libfs.o LD drivers/gpu/drm/omapdrm/built-in.o CC lib/llist.o LD drivers/irqchip/built-in.o CC lib/memweight.o CC drivers/base/syscore.o CC lib/kfifo.o CC lib/percpu-refcount.o CC mm/rmap.o LD drivers/mfd/built-in.o LD drivers/gpu/drm/built-in.o CC mm/vmalloc.o CC mm/pagewalk.o CC mm/pgtable-generic.o CC fs/fs-writeback.o LD drivers/mmc/built-in.o CC lib/percpu_ida.o CC fs/pnode.o CC mm/init-mm.o LD drivers/gpu/built-in.o CC drivers/base/driver.o CC lib/rhashtable.o CC mm/nobootmem.o CC mm/memblock.o CC lib/reciprocal_div.o LD drivers/net/built-in.o LD drivers/misc/cb710/built-in.o CC mm/dmapool.o CC lib/once.o CC lib/string_helpers.o LD drivers/nfc/built-in.o CC drivers/base/class.o CC mm/slub.o LD drivers/misc/eeprom/built-in.o LD drivers/media/common/b2c2/built-in.o LD drivers/char/built-in.o LD drivers/media/common/saa7146/built-in.o CC fs/splice.o LD kernel/time/built-in.o LD drivers/nvme/host/built-in.o CC lib/hexdump.o LD drivers/misc/lis3lv02d/built-in.o LD kernel/built-in.o LD drivers/media/common/siano/built-in.o LD drivers/media/common/v4l2-tpg/built-in.o LD drivers/nvme/target/built-in.o LD drivers/media/common/built-in.o LD drivers/misc/ti-st/built-in.o CC drivers/of/base.o CC lib/kstrtox.o LD drivers/misc/mic/bus/built-in.o CC drivers/of/device.o CC drivers/of/platform.o CC lib/pci_iomap.o LD drivers/nvme/built-in.o CC drivers/of/fdt.o CC lib/iomap_copy.o LD drivers/misc/mic/built-in.o CC lib/devres.o CC lib/hweight.o LD drivers/platform/built-in.o LD drivers/media/firewire/built-in.o CC fs/sync.o CC lib/bitrev.o HOSTCC lib/gen_crc32table LD drivers/misc/built-in.o CC fs/utimes.o CC drivers/base/platform.o CC drivers/base/cpu.o LD drivers/media/i2c/soc_camera/built-in.o LD drivers/media/mmc/siano/built-in.o LD drivers/power/built-in.o CC drivers/base/firmware.o CC drivers/base/init.o CC fs/stack.o LD drivers/media/i2c/built-in.o LD drivers/media/platform/omap/built-in.o CC lib/syscall.o LD drivers/media/mmc/built-in.o LD drivers/pwm/built-in.o CC fs/fs_struct.o LD drivers/media/platform/built-in.o CC fs/statfs.o CC fs/fs_pin.o CC drivers/pci/access.o CC lib/atomic64.o LD drivers/media/tuners/built-in.o CC fs/nsfs.o CC drivers/of/fdt_address.o CC lib/strncpy_from_user.o LD drivers/media/rc/keymaps/built-in.o CC fs/no-block.o CC lib/argv_split.o CC lib/strnlen_user.o LD drivers/soc/bcm/built-in.o CC lib/chacha20.o LD drivers/tty/ipwireless/built-in.o LD drivers/tty/serial/built-in.o LD drivers/tty/vt/built-in.o LD drivers/media/rc/built-in.o LD drivers/soc/fsl/built-in.o LD drivers/media/pci/b2c2/built-in.o CC lib/cmdline.o LD fs/devpts/built-in.o CC drivers/of/address.o CC lib/ctype.o CC drivers/of/irq.o LD drivers/tty/built-in.o LD drivers/soc/built-in.o LD drivers/media/pci/ddbridge/built-in.o CC drivers/base/map.o CC drivers/of/of_pci.o CC lib/dec_and_lock.o LD drivers/media/pci/dm1105/built-in.o CC lib/decompress.o LD drivers/media/usb/b2c2/built-in.o LD fs/exofs/built-in.o LD drivers/media/pci/mantis/built-in.o CC drivers/of/of_pci_irq.o LD fs/quota/built-in.o LD drivers/media/pci/netup_unidvb/built-in.o CC lib/dma-noop.o CC lib/dump_stack.o CC drivers/of/of_reserved_mem.o LD drivers/media/pci/ngene/built-in.o CC drivers/base/devres.o LD drivers/media/usb/dvb-usb/built-in.o CC lib/earlycpio.o CC fs/binfmt_elf.o CC fs/ramfs/inode.o CC lib/extable.o CC lib/fdt_ro.o LD drivers/media/pci/pluto2/built-in.o CC lib/fdt_empty_tree.o LD drivers/usb/host/built-in.o LD drivers/video/backlight/built-in.o CC lib/fdt.o CC drivers/pci/bus.o LD fs/notify/fanotify/built-in.o LD drivers/media/pci/pt1/built-in.o LD fs/notify/dnotify/built-in.o CC lib/fdt_rw.o LD drivers/media/pci/pt3/built-in.o LD drivers/media/pci/saa7146/built-in.o LD drivers/video/fbdev/core/built-in.o CC drivers/base/attribute_container.o CC lib/fdt_strerror.o LD drivers/media/usb/dvb-usb-v2/built-in.o LD drivers/usb/built-in.o CC lib/fdt_sw.o CC lib/fdt_wip.o CC fs/ramfs/file-mmu.o CC lib/flex_proportions.o CC lib/ioremap.o CC lib/int_sqrt.o CC lib/idr.o CC lib/irq_regs.o CC lib/is_single_threaded.o CC drivers/pci/probe.o CC lib/klist.o CC lib/kobject.o LD drivers/media/pci/smipcie/built-in.o LD fs/notify/inotify/built-in.o LD drivers/media/usb/siano/built-in.o LD drivers/media/usb/s2255/built-in.o LD drivers/media/pci/ttpci/built-in.o CC lib/kobject_uevent.o CC lib/md5.o CC lib/nmi_backtrace.o CC lib/nodemask.o CC lib/plist.o LD drivers/media/usb/ttusb-dec/built-in.o LD drivers/media/usb/ttusb-budget/built-in.o LD fs/notify/built-in.o LD drivers/media/usb/stkwebcam/built-in.o LD drivers/media/pci/built-in.o LD drivers/video/fbdev/omap2/omapfb/displays/built-in.o CC lib/radix-tree.o CC lib/ratelimit.o CC lib/rbtree.o CC drivers/base/transport_class.o CC lib/seq_buf.o LD drivers/media/usb/zr364xx/built-in.o CC drivers/base/topology.o CC drivers/base/container.o CC drivers/pci/host-bridge.o CC drivers/base/property.o CC drivers/pci/remove.o CC lib/sha1.o LD drivers/video/fbdev/omap2/omapfb/dss/built-in.o CC lib/show_mem.o LD drivers/media/usb/built-in.o CC lib/string.o LD drivers/video/fbdev/omap2/omapfb/built-in.o CC drivers/base/cacheinfo.o CC lib/vsprintf.o LD drivers/base/power/built-in.o CC drivers/base/dma-mapping.o CC lib/timerqueue.o CC drivers/pci/pci.o GEN lib/crc32table.h CC drivers/pci/pci-driver.o LD drivers/video/fbdev/omap2/built-in.o CC lib/crc32.o CC drivers/pci/pci-sysfs.o CC drivers/pci/search.o LD fs/ramfs/ramfs.o CC drivers/pci/setup-res.o CC drivers/pci/rom.o CC drivers/pci/irq.o LD fs/ramfs/built-in.o LD drivers/video/fbdev/built-in.o CC drivers/pci/vpd.o CC drivers/pci/setup-bus.o CC drivers/pci/vc.o LD drivers/media/built-in.o CC drivers/pci/syscall.o LD drivers/video/built-in.o CC drivers/pci/of.o LD mm/built-in.o LD drivers/pci/host/built-in.o LD drivers/of/built-in.o LD fs/built-in.o LD lib/built-in.o LD drivers/base/built-in.o AR lib/lib.a LD drivers/pci/built-in.o LD drivers/built-in.o LINK vmlinux LD vmlinux.o MODPOST vmlinux.o GEN .version CHK include/generated/compile.h UPD include/generated/compile.h CC init/version.o LD init/built-in.o LD vmlinux SYSMAP System.map /opt/cross/kisskb/gcc-5.3.0-nolibc/powerpc64-linux/bin/powerpc64-linux-strip -s -R .comment vmlinux -o arch/powerpc/boot/vmlinux.strip make[1]: Leaving directory '/home/kisskb/slave/build/mpe_powerpc-allnoconfig_powerpc-5.3' Completed OK # rm -rf /home/kisskb/slave/build/mpe_powerpc-allnoconfig_powerpc-5.3 # Build took: 0:00:13.319764