linux-hardened/tools/testing/selftests
Cyril Bur f2418ae8a8 selftests/powerpc: Fix generation of vector instructions/types in context_switch
Currently it doesn't appear the resulting binary actually uses any
Altivec or VSX instructions the solution is to explicitly tell GCC to
use vector instructions and use vector types in the code.

Part of this this issue can be GCC version specific:

GCC 4.9.x is happy to use Altivec and VSX instructions if altivec.h is
includedi (and possibly if vector types are used), this also means that
4.9.x will use VSX instructions even if only -maltivec is passed. It is
also possible that Altivec instructions will be used even without
-maltivec or -mabi=altivec.

GCC 5.2.x complains about the lack of -maltivec parameter if altivec.h
is included and will not use VSX unless -mvsx is present on commandline.

GCC 5.3.0 has a regression that means __attribute__((__target__("no-vsx"))
fails to build. A fix is targeted for 5.4.

Furthermore LTO (Link Time Optimisation) doesn't play well with
__attribute__((__target__("no-vsx")), LTO can cause GCC to forget about
the attribute and compile with VSX instructions regardless. Be wary when
enabling -flfo for this test.

Signed-off-by: Cyril Bur <cyrilbur@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2016-07-05 23:49:50 +10:00
..
breakpoints
capabilities
cpu-hotplug
efivarfs
exec
firmware
ftrace linux-kselftest-4.7-rc1 2016-05-23 19:37:41 -07:00
futex
intel_pstate tools: testing: define the _GNU_SOURCE macro 2016-05-16 09:06:17 -06:00
ipc
kcmp
lib
media_tests selftests: media_dcevice_test fix usage information 2016-02-25 17:22:42 -07:00
membarrier
memfd
memory-hotplug
mount
mqueue
net soreuseport: Fix reuseport_bpf testcase on 32bit architectures 2016-06-06 15:20:16 -07:00
powerpc selftests/powerpc: Fix generation of vector instructions/types in context_switch 2016-07-05 23:49:50 +10:00
pstore
ptrace
rcutorture rcutorture: Add boot-time adjustment of leaf fanout 2016-04-21 13:47:04 -07:00
seccomp parisc: Add ARCH_TRACEHOOK and regset support 2016-05-22 21:39:13 +02:00
sigaltstack signals/sigaltstack: Change SS_AUTODISARM to (1U << 31) 2016-05-04 08:34:14 +02:00
size
static_keys
sysctl
timers Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2016-03-17 21:38:27 -07:00
user
vm selftests/thuge-gen: Use platform specific MAP_HUGETLB value 2016-05-22 21:43:41 +02:00
x86 selftests/x86/ldt_gdt: Test set_thread_area() deletion of an active segment 2016-04-29 11:56:42 +02:00
zram
gen_kselftest_tar.sh
kselftest.h
kselftest_install.sh
lib.mk
Makefile selftests/sigaltstack: Add new testcase for sigaltstack(SS_ONSTACK|SS_AUTODISARM) 2016-05-03 08:37:59 +02:00