# git rev-parse -q --verify 2b78abdde2e3ecfdcdeae3dd5d14dfa83cd9dcf9^{commit} 2b78abdde2e3ecfdcdeae3dd5d14dfa83cd9dcf9 already have revision, skipping fetch # git checkout -q -f -B kisskb 2b78abdde2e3ecfdcdeae3dd5d14dfa83cd9dcf9 # git clean -qxdf # git log -1 commit 2b78abdde2e3ecfdcdeae3dd5d14dfa83cd9dcf9 Author: Michael Ellerman Date: Tue Sep 13 16:20:14 2016 +1000 powerpc: Don't change the section in _GLOBAL() Currently the _GLOBAL() macro unilaterally sets the assembler section to ".text" at the start of the macro. This is rude as the caller may be using a different section. So let the caller decide which section to emit the code into. On big endian we do need to switch to the ".opd" section to emit the OPD, but do that with pushsection/popsection, thereby leaving the original section intact. The only place I could find where this requires changes to the code is in misc_32.S, where we need to switch back to ".text" after flush_icache_range() which is in ".kprobes.text". I verified that the order of all entries in System.map is unchanged after this patch. The actual addresses shift around slightly so you can't just diff the System.map. Signed-off-by: Michael Ellerman --- If anyone can think of a better method to verify we are still emitting everything in the same sections let me know. # < /opt/cross/kisskb/gcc-5.3.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < git log --format=%s --max-count=1 2b78abdde2e3ecfdcdeae3dd5d14dfa83cd9dcf9 # < make -j 10 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 10 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/irq_regs.h WRAP arch/powerpc/include/generated/asm/div64.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 HOSTCC scripts/dtc/fstree.o HOSTCC scripts/dtc/data.o HOSTCC scripts/dtc/livetree.o CC scripts/mod/empty.o HOSTCC scripts/dtc/treesource.o HOSTCC scripts/mod/mk_elfconfig HOSTCC scripts/dtc/srcpos.o HOSTCC scripts/dtc/checks.o CC scripts/mod/devicetable-offsets.s HOSTCC scripts/dtc/util.o GEN scripts/mod/devicetable-offsets.h SHIPPED scripts/dtc/dtc-lexer.lex.c SHIPPED scripts/dtc/dtc-parser.tab.h MKELF scripts/mod/elfconfig.h SHIPPED scripts/dtc/dtc-parser.tab.c HOSTCC scripts/mod/modpost.o HOSTCC scripts/mod/file2alias.o HOSTCC scripts/dtc/dtc-lexer.lex.o HOSTCC scripts/dtc/dtc-parser.tab.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 LD usr/built-in.o CHK include/generated/compile.h 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 LD arch/powerpc/sysdev/built-in.o AS arch/powerpc/lib/string.o LD arch/powerpc/platforms/built-in.o CC arch/powerpc/kernel/cputable.o CC arch/powerpc/lib/alloc.o LD arch/powerpc/math-emu/built-in.o AS arch/powerpc/lib/crtsavres.o LD arch/powerpc/crypto/built-in.o CC arch/powerpc/lib/ppc_ksyms.o LD arch/powerpc/net/built-in.o CC kernel/fork.o CC arch/powerpc/lib/code-patching.o LD certs/built-in.o CC arch/powerpc/lib/feature-fixups.o CC arch/powerpc/kernel/ptrace.o CC mm/filemap.o CC mm/mempool.o CC fs/open.o CC arch/powerpc/mm/mem.o CC fs/read_write.o AS arch/powerpc/lib/div64.o AS arch/powerpc/lib/copy_32.o AS arch/powerpc/lib/checksum_32.o CC arch/powerpc/lib/checksum_wrappers.o CC arch/powerpc/kernel/syscalls.o LD init/mounts.o LD init/built-in.o CC arch/powerpc/kernel/irq.o CC mm/oom_kill.o LD arch/powerpc/lib/built-in.o CC arch/powerpc/mm/pgtable.o CC arch/powerpc/kernel/align.o CC arch/powerpc/mm/mmap.o CC arch/powerpc/kernel/signal_32.o CC arch/powerpc/kernel/pmc.o CC fs/file_table.o CC kernel/exec_domain.o CC fs/super.o CC arch/powerpc/mm/init_32.o CC arch/powerpc/mm/pgtable_32.o CC arch/powerpc/kernel/vdso.o CC arch/powerpc/kernel/process.o CC kernel/panic.o CC mm/maccess.o CC fs/char_dev.o CC mm/page_alloc.o CC arch/powerpc/mm/ppc_mmu_32.o CC kernel/cpu.o CC kernel/exit.o AS arch/powerpc/mm/hash_low_32.o CPP arch/powerpc/kernel/systbl_chk.i CC arch/powerpc/kernel/idle.o CC arch/powerpc/mm/mmu_context_hash32.o CC arch/powerpc/mm/tlb_hash32.o CC arch/powerpc/mm/hugetlbpage.o CC fs/stat.o CC arch/powerpc/kernel/signal.o CC fs/exec.o CC arch/powerpc/kernel/sysfs.o CC kernel/softirq.o LD ipc/built-in.o CC security/commoncap.o LD crypto/built-in.o LD arch/powerpc/mm/built-in.o CC kernel/resource.o CC mm/page-writeback.o CC mm/readahead.o CC mm/swap.o CC arch/powerpc/kernel/cacheinfo.o CC arch/powerpc/kernel/time.o CC arch/powerpc/kernel/prom.o CC security/min_addr.o CC kernel/sysctl.o CC arch/powerpc/kernel/traps.o CC mm/truncate.o CC fs/pipe.o LD security/built-in.o LD block/built-in.o CC arch/powerpc/kernel/setup-common.o LD drivers/amba/built-in.o LD drivers/auxdisplay/built-in.o CC drivers/base/component.o CC kernel/sysctl_binary.o CC kernel/capability.o CC kernel/ptrace.o CC kernel/user.o LD sound/built-in.o CC fs/namei.o CC mm/vmscan.o LD drivers/block/built-in.o LD drivers/bus/built-in.o CC arch/powerpc/kernel/udbg.o CC drivers/base/core.o CC drivers/base/bus.o CC drivers/base/dd.o CC mm/shmem.o CC fs/fcntl.o CC kernel/signal.o AS arch/powerpc/kernel/misc.o CC arch/powerpc/kernel/io.o CC arch/powerpc/kernel/dma.o CC kernel/sys.o AS arch/powerpc/kernel/misc_32.o CC arch/powerpc/kernel/of_platform.o CC kernel/kmod.o CC kernel/workqueue.o CC drivers/base/syscore.o CC fs/ioctl.o CC arch/powerpc/kernel/prom_parse.o CC fs/readdir.o CC fs/select.o CC drivers/base/driver.o CC mm/util.o LDS arch/powerpc/kernel/vdso32/vdso32.lds CC drivers/base/class.o VDSO32A arch/powerpc/kernel/vdso32/sigtramp.o VDSO32A arch/powerpc/kernel/vdso32/gettimeofday.o CC drivers/base/platform.o LD firmware/built-in.o CC drivers/base/cpu.o VDSO32A arch/powerpc/kernel/vdso32/datapage.o VDSO32A arch/powerpc/kernel/vdso32/cacheflush.o CC drivers/base/firmware.o VDSO32A arch/powerpc/kernel/vdso32/note.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 arch/powerpc/kernel/vdso32/built-in.o AS arch/powerpc/kernel/idle_6xx.o AS arch/powerpc/kernel/l2cr_6xx.o AS arch/powerpc/kernel/cpu_setup_6xx.o AS arch/powerpc/kernel/entry_32.o CC arch/powerpc/kernel/setup_32.o LD net/built-in.o CC kernel/pid.o CC kernel/task_work.o CC mm/mmzone.o CC kernel/extable.o CC kernel/params.o CC arch/powerpc/kernel/pci_32.o LD drivers/cdrom/built-in.o CC fs/dcache.o CC kernel/kthread.o CC mm/vmstat.o CC kernel/sys_ni.o CC drivers/base/init.o CC drivers/base/map.o CC drivers/base/devres.o CC kernel/nsproxy.o CC lib/lockref.o LD virt/lib/built-in.o LD virt/built-in.o CC arch/powerpc/kernel/pci-common.o CC fs/inode.o CC kernel/notifier.o CC fs/attr.o CC lib/bcd.o CC mm/backing-dev.o CC lib/div64.o CC kernel/ksysfs.o CC drivers/base/attribute_container.o CC mm/mm_init.o CC lib/sort.o CC lib/parser.o CC kernel/cred.o CC mm/mmu_context.o CC mm/percpu.o CC drivers/base/transport_class.o CC mm/slab_common.o CC mm/compaction.o CC lib/halfmd4.o CC mm/vmacache.o CC lib/debug_locks.o CC drivers/base/topology.o CC lib/random32.o CC arch/powerpc/kernel/pci_of_scan.o CC kernel/reboot.o CC fs/bad_inode.o CC drivers/char/mem.o CC lib/bust_spinlocks.o CC drivers/base/container.o CC mm/interval_tree.o CC mm/list_lru.o CC fs/file.o CC drivers/base/property.o CC arch/powerpc/kernel/iomap.o CC lib/kasprintf.o CC kernel/async.o AS arch/powerpc/kernel/head_32.o CC kernel/range.o CC mm/workingset.o CC drivers/char/random.o CC kernel/smpboot.o CC lib/bitmap.o LDS arch/powerpc/kernel/vmlinux.lds AS arch/powerpc/kernel/fpu.o CC drivers/base/cacheinfo.o CALL /home/kisskb/slave/src/arch/powerpc/kernel/systbl_chk.sh LD kernel/livepatch/built-in.o AS arch/powerpc/kernel/systbl.o CC kernel/irq/irqdesc.o CC kernel/irq/handle.o LD arch/powerpc/kernel/built-in.o CC kernel/irq/manage.o CC mm/debug.o CC mm/gup.o CC fs/filesystems.o CC kernel/irq/spurious.o LD drivers/base/power/built-in.o CC drivers/base/dma-mapping.o CC fs/namespace.o CC lib/scatterlist.o CC fs/seq_file.o CC fs/xattr.o CC drivers/char/misc.o CC fs/libfs.o CC kernel/locking/mutex.o LD drivers/base/built-in.o CC kernel/irq/resend.o LD drivers/clk/bcm/built-in.o LD drivers/clk/mvebu/built-in.o LD drivers/clk/ti/built-in.o LD drivers/clk/built-in.o LD drivers/clocksource/built-in.o LD drivers/firewire/built-in.o CC kernel/power/qos.o CC mm/highmem.o CC lib/gcd.o LD drivers/char/agp/built-in.o LD drivers/char/built-in.o LD drivers/firmware/broadcom/built-in.o CC lib/lcm.o LD drivers/firmware/built-in.o CC kernel/irq/chip.o CC lib/list_sort.o CC kernel/locking/semaphore.o LD drivers/gpu/drm/bridge/built-in.o LD drivers/gpu/drm/hisilicon/built-in.o LD drivers/gpu/drm/i2c/built-in.o CC mm/memory.o LD drivers/gpu/drm/omapdrm/displays/built-in.o LD drivers/gpu/drm/omapdrm/dss/built-in.o LD drivers/gpu/drm/omapdrm/built-in.o LD drivers/gpu/drm/panel/built-in.o CC lib/uuid.o LD drivers/gpu/drm/tilcdc/built-in.o LD drivers/gpu/drm/built-in.o LD drivers/gpu/vga/built-in.o LD drivers/gpu/built-in.o LD drivers/hwtracing/intel_th/built-in.o CC kernel/printk/printk.o LD drivers/i2c/algos/built-in.o LD drivers/i2c/busses/built-in.o LD drivers/i2c/muxes/built-in.o LD drivers/i2c/built-in.o LD drivers/idle/built-in.o CC lib/flex_array.o CC drivers/irqchip/irqchip.o CC kernel/locking/rwsem.o LD kernel/power/built-in.o CC kernel/rcu/update.o LD drivers/lguest/built-in.o CC kernel/irq/dummychip.o CC kernel/irq/devres.o CC kernel/locking/percpu-rwsem.o LD drivers/irqchip/built-in.o LD drivers/macintosh/built-in.o CC lib/iov_iter.o CC kernel/locking/rwsem-xadd.o LD drivers/media/common/b2c2/built-in.o LD drivers/media/common/saa7146/built-in.o LD drivers/media/common/siano/built-in.o LD drivers/media/common/v4l2-tpg/built-in.o LD drivers/media/common/built-in.o LD drivers/media/firewire/built-in.o LD drivers/media/i2c/soc_camera/built-in.o CC kernel/rcu/sync.o LD drivers/media/i2c/built-in.o LD drivers/media/mmc/siano/built-in.o CC kernel/rcu/tiny.o LD drivers/media/mmc/built-in.o CC kernel/irq/irqdomain.o LD drivers/media/pci/b2c2/built-in.o LD drivers/media/pci/ddbridge/built-in.o LD drivers/media/pci/dm1105/built-in.o LD drivers/media/pci/mantis/built-in.o LD drivers/media/pci/netup_unidvb/built-in.o LD drivers/media/pci/ngene/built-in.o LD drivers/mfd/built-in.o LD drivers/media/pci/pluto2/built-in.o LD drivers/media/pci/pt1/built-in.o CC kernel/sched/core.o LD drivers/media/pci/pt3/built-in.o LD drivers/media/pci/saa7146/built-in.o LD drivers/media/pci/smipcie/built-in.o LD kernel/printk/built-in.o CC mm/mincore.o LD drivers/media/pci/ttpci/built-in.o LD drivers/media/pci/built-in.o LD drivers/media/platform/omap/built-in.o LD drivers/media/platform/built-in.o LD kernel/locking/built-in.o CC kernel/sched/loadavg.o LD drivers/media/rc/keymaps/built-in.o LD drivers/media/rc/built-in.o CC fs/fs-writeback.o LD drivers/media/tuners/built-in.o LD drivers/media/usb/b2c2/built-in.o LD drivers/misc/cb710/built-in.o LD drivers/media/usb/dvb-usb/built-in.o LD drivers/misc/eeprom/built-in.o LD drivers/media/usb/dvb-usb-v2/built-in.o LD drivers/misc/lis3lv02d/built-in.o LD drivers/media/usb/s2255/built-in.o LD drivers/misc/mic/bus/built-in.o LD drivers/media/usb/siano/built-in.o LD drivers/misc/mic/built-in.o LD drivers/media/usb/stkwebcam/built-in.o LD drivers/misc/ti-st/built-in.o LD drivers/misc/built-in.o LD drivers/media/usb/ttusb-budget/built-in.o LD drivers/media/usb/ttusb-dec/built-in.o LD drivers/media/usb/zr364xx/built-in.o LD drivers/media/usb/built-in.o CC kernel/time/time.o LD drivers/media/built-in.o LD drivers/mmc/built-in.o LD kernel/rcu/built-in.o LD drivers/net/built-in.o LD drivers/nfc/built-in.o CC fs/pnode.o LD drivers/nvme/host/built-in.o LD drivers/nvme/target/built-in.o LD drivers/nvme/built-in.o CC drivers/of/base.o CC mm/mlock.o LD kernel/irq/built-in.o CC drivers/pci/access.o CC drivers/pci/bus.o CC drivers/pci/probe.o CC fs/splice.o CC lib/clz_ctz.o CC lib/bsearch.o CC lib/find_bit.o CC kernel/time/timer.o CC lib/llist.o CC lib/memweight.o CC lib/kfifo.o CC lib/percpu-refcount.o CC mm/mmap.o CC lib/percpu_ida.o CC fs/sync.o CC drivers/of/device.o CC kernel/dma.o CC kernel/up.o CC kernel/sched/clock.o CC lib/rhashtable.o CC kernel/time/hrtimer.o CC mm/mprotect.o CC mm/mremap.o CC drivers/pci/host-bridge.o LD drivers/platform/built-in.o LD drivers/power/built-in.o LD drivers/pwm/built-in.o LD drivers/soc/bcm/built-in.o CC kernel/sched/cputime.o LD drivers/soc/fsl/built-in.o LD drivers/soc/built-in.o LD drivers/tty/ipwireless/built-in.o LD drivers/tty/serial/built-in.o CC drivers/of/platform.o LD drivers/tty/vt/built-in.o CC fs/utimes.o LD drivers/tty/built-in.o CC fs/stack.o CC fs/fs_struct.o CC drivers/pci/remove.o CC drivers/pci/pci.o CC kernel/sched/idle_task.o CC kernel/sched/fair.o CC drivers/pci/pci-driver.o CC drivers/of/fdt.o CC lib/reciprocal_div.o CC kernel/time/itimer.o CC mm/msync.o CC fs/statfs.o CC lib/once.o LD drivers/usb/host/built-in.o LD drivers/usb/built-in.o CC drivers/pci/search.o LD drivers/video/backlight/built-in.o LD drivers/video/fbdev/core/built-in.o LD drivers/video/fbdev/omap2/omapfb/displays/built-in.o LD drivers/video/fbdev/omap2/omapfb/dss/built-in.o LD drivers/video/fbdev/omap2/omapfb/built-in.o LD drivers/video/fbdev/omap2/built-in.o CC lib/string_helpers.o LD drivers/video/fbdev/built-in.o LD drivers/video/built-in.o CC lib/hexdump.o CC mm/rmap.o CC lib/kstrtox.o CC kernel/time/posix-timers.o CC fs/fs_pin.o CC lib/pci_iomap.o CC kernel/sched/rt.o CC drivers/of/fdt_address.o CC kernel/sched/deadline.o CC fs/nsfs.o CC drivers/of/address.o CC lib/iomap_copy.o CC lib/devres.o CC mm/vmalloc.o CC fs/no-block.o CC kernel/sched/stop_task.o CC kernel/sched/wait.o CC drivers/of/irq.o CC drivers/of/of_pci.o LD fs/devpts/built-in.o CC kernel/time/posix-cpu-timers.o LD fs/exofs/built-in.o LD fs/notify/dnotify/built-in.o LD fs/notify/fanotify/built-in.o LD fs/notify/inotify/built-in.o LD fs/notify/built-in.o LD fs/quota/built-in.o CC lib/hweight.o CC fs/ramfs/inode.o CC kernel/elfcore.o CC lib/bitrev.o HOSTCC lib/gen_crc32table CC kernel/memremap.o CC kernel/sched/swait.o CC drivers/pci/pci-sysfs.o CC drivers/of/of_pci_irq.o CC lib/syscall.o CC drivers/of/of_reserved_mem.o CC fs/binfmt_elf.o CC fs/ramfs/file-mmu.o CC kernel/sched/completion.o CC lib/atomic64.o CC drivers/pci/rom.o CC mm/pagewalk.o CC mm/pgtable-generic.o CC kernel/time/timekeeping.o LD drivers/of/built-in.o CC kernel/time/ntp.o LD fs/ramfs/ramfs.o LD fs/ramfs/built-in.o CC kernel/time/clocksource.o CC lib/strncpy_from_user.o CC kernel/sched/idle.o CC lib/strnlen_user.o CC kernel/time/jiffies.o CC drivers/pci/setup-res.o LD fs/built-in.o CC mm/init-mm.o CC mm/nobootmem.o CC mm/memblock.o CC lib/argv_split.o CC lib/chacha20.o LD kernel/sched/built-in.o CC lib/cmdline.o CC lib/ctype.o CC lib/dec_and_lock.o CC kernel/time/timer_list.o CC mm/dmapool.o CC lib/decompress.o CC lib/dma-noop.o CC lib/dump_stack.o CC drivers/pci/irq.o CC lib/earlycpio.o CC mm/slub.o CC lib/extable.o CC lib/fdt.o CC kernel/time/timeconv.o CC lib/fdt_empty_tree.o CC lib/fdt_ro.o CC lib/fdt_rw.o CC lib/fdt_strerror.o CC lib/fdt_sw.o CC lib/fdt_wip.o CC drivers/pci/vpd.o CC lib/flex_proportions.o CC drivers/pci/setup-bus.o CC lib/idr.o CC kernel/time/timecounter.o CC kernel/time/posix-clock.o CC kernel/time/alarmtimer.o CC drivers/pci/vc.o CC lib/int_sqrt.o CC lib/ioremap.o CC lib/irq_regs.o CC drivers/pci/syscall.o CC lib/is_single_threaded.o CC lib/klist.o CC lib/kobject.o CC lib/kobject_uevent.o CC lib/md5.o CC kernel/time/clockevents.o CC kernel/time/tick-common.o CC drivers/pci/of.o CC lib/nmi_backtrace.o CC lib/nodemask.o LD drivers/pci/host/built-in.o CC lib/plist.o LD mm/built-in.o CC lib/radix-tree.o CC lib/ratelimit.o CC lib/rbtree.o CC lib/seq_buf.o CC lib/sha1.o CC lib/show_mem.o LD drivers/pci/built-in.o LD drivers/built-in.o CC lib/string.o CC lib/timerqueue.o CC lib/vsprintf.o LD kernel/time/built-in.o LD kernel/built-in.o GEN lib/crc32table.h CC lib/crc32.o LD lib/built-in.o AR lib/lib.a 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:26.395095