linux/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 MIPS: bmips: mark exception vectors as char arrays 2019-10-23 21:07:28 -07:00
bmips dma-mapping: drop the dev argument to arch_sync_dma_for_* 2019-11-20 20:31:38 +01:00
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 A few MIPS fixes: 2019-11-01 14:36:44 -07:00
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 dma-mapping: drop the dev argument to arch_sync_dma_for_* 2019-11-20 20:31:38 +01:00
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 MIPS: Loongson: Rename LOONGSON1 to LOONGSON32 2019-11-11 10:43:13 -08:00
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 mips: check for dsp presence only once before save/restore 2019-10-07 10:58:53 -07:00
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 rtc: ds1685: add indirect access method and remove plat_read/plat_write 2019-10-16 10:39:00 +02:00
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 MIPS: add support for SGI Octane (IP30) 2019-11-01 14:58:56 -07:00
Kconfig The main MIPS changes for 5.6: 2020-01-31 11:28:31 -08:00
Kconfig.debug MIPS: cmdline: Remove redundant Kconfig defaults 2019-10-09 15:53:16 -07:00
Makefile Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2019-11-25 19:49:58 -08:00
Makefile.postlink MIPS: fix indentation of the 'RELOCS' message 2020-01-20 15:37:30 -08:00