openssl/engines
Alistair Francis 5b5e2985f3 Add support for io_pgetevents_time64 syscall
32-bit architectures that are y2038 safe don't include syscalls that use
32-bit time_t. Instead these architectures have suffixed syscalls that
always use a 64-bit time_t. In the case of the io_getevents syscall the
syscall has been replaced with the io_pgetevents_time64 syscall instead.

This patch changes the io_getevents() function to use the correct
syscall based on the avaliable syscalls and the time_t size. We will
only use the new 64-bit time_t syscall if the architecture is using a
64-bit time_t. This is to avoid having to deal with 32/64-bit
conversions and relying on a 64-bit timespec struct on 32-bit time_t
platforms. As of Linux 5.3 there are no 32-bit time_t architectures
without __NR_io_getevents. In the future if a 32-bit time_t architecture
wants to use the 64-bit syscalls we can handle the conversion.

This fixes build failures on 32-bit RISC-V.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/9819)
2019-09-18 16:49:39 +10:00
..
asm Unify all assembler file generators 2019-09-16 16:29:57 +02:00
build.info build.info: For all assembler generators, remove all arguments 2019-09-16 16:29:57 +02:00
e_afalg_err.c Avoid using ERR_put_error() directly in OpenSSL code 2019-07-31 06:45:21 +02:00
e_afalg_err.h Regenerate mkerr files 2019-07-16 05:26:28 +02:00
e_afalg.c Add support for io_pgetevents_time64 syscall 2019-09-18 16:49:39 +10:00
e_afalg.ec make error tables const and separate header file 2017-06-07 15:12:03 -04:00
e_afalg.h Following the license change, modify the boilerplates in engines/ 2018-12-06 15:36:54 +01:00
e_afalg.txt Regenerate mkerr files 2019-07-16 05:26:28 +02:00
e_capi_err.c Avoid using ERR_put_error() directly in OpenSSL code 2019-07-31 06:45:21 +02:00
e_capi_err.h Regenerate mkerr files 2019-07-16 05:26:28 +02:00
e_capi.c Following the license change, modify the boilerplates in engines/ 2018-12-06 15:36:54 +01:00
e_capi.ec make error tables const and separate header file 2017-06-07 15:12:03 -04:00
e_capi.txt Regenerate mkerr files 2019-07-16 05:26:28 +02:00
e_dasync_err.c Avoid using ERR_put_error() directly in OpenSSL code 2019-07-31 06:45:21 +02:00
e_dasync_err.h Regenerate mkerr files 2019-07-16 05:26:28 +02:00
e_dasync.c engines/dasync: add explaining comments about AES-128-CBC-HMAC-SHA1 2019-02-22 13:31:49 +01:00
e_dasync.ec make error tables const and separate header file 2017-06-07 15:12:03 -04:00
e_dasync.txt Regenerate mkerr files 2019-07-16 05:26:28 +02:00
e_devcrypto.c Replace FUNCerr with ERR_raise_data 2019-08-02 11:41:54 +02:00
e_ossltest_err.c Avoid using ERR_put_error() directly in OpenSSL code 2019-07-31 06:45:21 +02:00
e_ossltest_err.h Regenerate mkerr files 2019-07-16 05:26:28 +02:00
e_ossltest.c Following the license change, modify the boilerplates in engines/ 2018-12-06 15:36:54 +01:00
e_ossltest.ec make error tables const and separate header file 2017-06-07 15:12:03 -04:00
e_ossltest.txt Regenerate mkerr files 2019-07-16 05:26:28 +02:00
e_padlock.c Deprecate the "hw" configuration options, make "padlockeng" disablable 2019-03-05 08:46:51 +01:00