kernel_optimize_test/arch/mips
Victor Kamensky 976c23af3e
mips: vdso: add build time check that no 'jalr t9' calls left
vdso shared object cannot have GOT based PIC 'jalr t9' calls
because nobody set GOT table in vdso. Contributing into vdso
.o files are compiled in PIC mode and as result for internal
static functions calls compiler will generate 'jalr t9'
instructions. Those are supposed to be converted into PC
relative 'bal' calls by linker when relocation are processed.

Mips global GOT entries do have dynamic relocations and they
will be caught by cmd_vdso_check Makefile rule. Static PIC
calls go through mips local GOT entries that do not have
dynamic relocations. For those 'jalr t9' calls could be present
but without dynamic relocations and they need to be converted
to 'bal' calls by linker.

Add additional build time check to make sure that no 'jalr t9'
slip through because of some toolchain misconfiguration that
prevents 'jalr t9' to 'bal' conversion.

Signed-off-by: Victor Kamensky <kamensky@cisco.com>
Signed-off-by: Paul Burton <paulburton@kernel.org>
Cc: linux-mips@vger.kernel.org
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: James Hogan <jhogan@kernel.org>
Cc: Vincenzo Frascino <vincenzo.frascino@arm.com>
Cc: bruce.ashfield@gmail.com
Cc: richard.purdie@linuxfoundation.org
2020-02-15 12:44:03 -08:00
..
alchemy
ar7 remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
ath25 remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
ath79 remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
bcm47xx
bcm63xx
bmips
boot kbuild: rename hostprogs-y/always to hostprogs/always-y 2020-02-04 01:53:07 +09:00
cavium-octeon The main MIPS changes for 5.6: 2020-01-31 11:28:31 -08:00
cobalt
configs MIPS: generic: don't unconditionally select PINCTRL 2020-01-22 10:16:45 -08:00
crypto crypto: {arm,arm64,mips}/poly1305 - remove redundant non-reduction from emit 2020-01-16 15:18:12 +08:00
dec
emma
fw
generic remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
include Microblaze patches for 5.6-rc1 2020-02-04 11:58:07 +00:00
jazz
jz4740 MIPS: X1830: Add X1830 system type. 2020-01-09 09:48:42 -08:00
kernel kgdb patches for 5.6-rc1 2020-02-03 16:59:51 +00:00
kvm KVM: MIPS: Fold comparecount_func() into comparecount_wakeup() 2020-02-05 15:29:55 +01:00
lantiq remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
lasat proc: convert everything to "struct proc_ops" 2020-02-04 03:05:26 +00:00
lib MIPS: Make DIEI support as a config option 2020-01-23 10:26:16 -08:00
loongson2ef The main MIPS changes for 5.6: 2020-01-31 11:28:31 -08:00
loongson32 remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
loongson64 The main MIPS changes for 5.6: 2020-01-31 11:28:31 -08:00
math-emu MIPS: Add MAC2008 Support 2020-01-22 15:56:08 -08:00
mm MIPS: mm: Place per_cpu on different nodes, if NUMA is enabled 2020-01-09 09:54:30 -08:00
mti-malta remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
net MIPS: BPF: Use sizeof_field() instead of FIELD_SIZEOF() 2020-01-10 11:33:35 -08:00
netlogic
oprofile
paravirt
pci The main MIPS changes for 5.6: 2020-01-31 11:28:31 -08:00
pic32 remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
pistachio
pmcs-msp71xx remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
pnx833x
power
ralink The main MIPS changes for 5.6: 2020-01-31 11:28:31 -08:00
rb532 remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
sgi-ip22 MIPS: ip22-gio: Make gio_match_device() static 2020-01-13 10:55:40 -08:00
sgi-ip27 mfd: ioc3: Add driver for SGI IOC3 chip 2020-01-09 15:30:59 -08:00
sgi-ip30 MIPS: SGI-IP30: Check for valid pointer before using it 2020-01-22 10:15:45 -08:00
sgi-ip32
sibyte
sni remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
tools kbuild: rename hostprogs-y/always to hostprogs/always-y 2020-02-04 01:53:07 +09:00
txx9
vdso mips: vdso: add build time check that no 'jalr t9' calls left 2020-02-15 12:44:03 -08:00
vr41xx
Kbuild
Kbuild.platforms
Kconfig The main MIPS changes for 5.6: 2020-01-31 11:28:31 -08:00
Kconfig.debug
Makefile
Makefile.postlink MIPS: fix indentation of the 'RELOCS' message 2020-01-20 15:37:30 -08:00