numam-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 dif: Add spdk_dix_remap_ref_tag to remap ref. tag for separate metadata payload 2019-07-11 11:14:22 +00:00
fd_group.c lib/util: Fix valgrind error reported on ARM platform 2021-02-04 08:35:59 +00:00
fd.c util/fd: drop fallback from spdk_fd_get_blocklen() 2017-08-11 19:36:30 -04:00
file.c util: add a new file operation API 2019-05-15 18:54:27 +00:00
iov.c util: Add spdk_iovcpy, an iovec to iovec copy function. 2019-11-20 09:35:32 +00:00
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 pipe: Simplify the pipe code 2020-03-31 07:59:26 +00:00
spdk_util.map interrupt: new fd_group in lib/util 2020-10-23 16:23:48 +00:00
strerror_tls.c util: add spdk_strerror() wrapper with TLS support 2018-01-04 15:00:09 -05:00
string.c lib/util: fix spdk_strerror() empty string return 2019-07-10 08:29:21 +00:00
util_internal.h lib/util: move some crc32 functions to internal header 2020-05-14 10:37:14 +00:00
uuid.c util/uuid: add a new uuid copy API. 2018-12-06 22:25:09 +00:00