mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-06 05:06:29 +00:00
6eda706a53
vdso_test_correctness test fails on powerpc: ~ # ./vdso_test_correctness ... [RUN] Testing clock_gettime for clock CLOCK_REALTIME_ALARM (8)... [FAIL] No such clock, but __vdso_clock_gettime returned 22 [RUN] Testing clock_gettime for clock CLOCK_BOOTTIME_ALARM (9)... [FAIL] No such clock, but __vdso_clock_gettime returned 22 [RUN] Testing clock_gettime for clock CLOCK_SGI_CYCLE (10)... [FAIL] No such clock, but __vdso_clock_gettime returned 22 ... [RUN] Testing clock_gettime for clock invalid (-1)... [FAIL] No such clock, but __vdso_clock_gettime returned 22 [RUN] Testing clock_gettime for clock invalid (-2147483648)... [FAIL] No such clock, but __vdso_clock_gettime returned 22 [RUN] Testing clock_gettime for clock invalid (2147483647)... [FAIL] No such clock, but __vdso_clock_gettime returned 22 On powerpc, a call to a VDSO function is not an ordinary C function call. Unlike several architectures which returns a negative error code in case of an error, powerpc sets CR[SO] and returns the error code as a positive value. Define and use a macro called VDSO_CALL() which takes a pointer to the function to call, the number of arguments and the arguments. Also update ABI vdso documentation to reflect this subtlety. Provide a specific version of VDSO_CALL() for powerpc that negates the error code on return when CR[SO] is set. Fixes: |
||
---|---|---|
.. | ||
firewire-cdev | ||
o2cb | ||
procfs-audit_loginuid | ||
syscalls | ||
sysfs-acpi-pmprofile | ||
sysfs-block | ||
sysfs-bus-firewire | ||
sysfs-bus-fsl-mc | ||
sysfs-bus-mhi | ||
sysfs-bus-nvmem | ||
sysfs-bus-usb | ||
sysfs-bus-vmbus | ||
sysfs-bus-w1 | ||
sysfs-bus-xen-backend | ||
sysfs-class-backlight | ||
sysfs-class-infiniband | ||
sysfs-class-rfkill | ||
sysfs-class-tpm | ||
sysfs-class-ubi | ||
sysfs-class-udc | ||
sysfs-devices | ||
sysfs-devices-node | ||
sysfs-devices-system-cpu | ||
sysfs-devices-system-xen_memory | ||
sysfs-driver-aspeed-vuart | ||
sysfs-driver-dma-idxd | ||
sysfs-driver-dma-ioatdma | ||
sysfs-driver-firmware-zynqmp | ||
sysfs-driver-ib_srp | ||
sysfs-driver-misc-cp500 | ||
sysfs-driver-mlxreg-io | ||
sysfs-driver-qla2xxx | ||
sysfs-driver-speakup | ||
sysfs-driver-usb-usbtmc | ||
sysfs-driver-w1_ds28e04 | ||
sysfs-driver-w1_ds28ea00 | ||
sysfs-driver-w1_ds2438 | ||
sysfs-firmware-opal-dump | ||
sysfs-firmware-opal-elog | ||
sysfs-fs-orangefs | ||
sysfs-hypervisor-xen | ||
sysfs-kernel-notes | ||
sysfs-module | ||
sysfs-platform-wmi-bmof | ||
sysfs-transport-srp | ||
thermal-notification | ||
vdso |