Spdk/lib/util
Nick Connolly 424cbc3957 lib/util/math.c: improve portability
__builtin_clzl takes an unsigned long argument which may be smaller
than uint64_t on some platforms. GCC silently ignores the mismatch,
returning the wrong answer at runtime. Use __builtin_clzll instead and
add static assertions to detect the issue.

Attribute 'target_clones' requires 'ifunc' support which only applies to
ELF targets. Add check for defined(__ELF__).

Signed-off-by: Nick Connolly <nick.connolly@mayadata.io>
Change-Id: Iff76640b34223649de531250ad40471d829512c7
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6317
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
2021-02-10 08:44:01 +00:00
..
base64_neon.c lib/util: remove _spdk prefix from functions. 2020-06-01 13:07:30 +00:00
base64.c lib/util: remove _spdk prefix from functions. 2020-06-01 13:07:30 +00:00
bit_array.c util: add spdk_bit_pool 2020-09-15 07:12:44 +00:00
cpuset.c cpuset: fix parse_mask 2020-08-27 08:34:07 +00:00
crc16.c lib/util: remove spdk prefix from static functions. 2020-05-14 10:37:14 +00:00
crc32_ieee.c lib/util: remove spdk prefix from static functions. 2020-05-14 10:37:14 +00:00
crc32.c lib/util: move some crc32 functions to internal header 2020-05-14 10:37:14 +00:00
crc32c.c lib/util: remove spdk prefix from static functions. 2020-05-14 10:37:14 +00:00
dif.c
fd_group.c lib/util: Fix valgrind error reported on ARM platform 2021-02-04 08:35:59 +00:00
fd.c
file.c
iov.c
Makefile so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
math.c lib/util/math.c: improve portability 2021-02-10 08:44:01 +00:00
pipe.c
spdk_util.map interrupt: new fd_group in lib/util 2020-10-23 16:23:48 +00:00
strerror_tls.c
string.c
util_internal.h lib/util: move some crc32 functions to internal header 2020-05-14 10:37:14 +00:00
uuid.c