424cbc3957
__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> |
||
---|---|---|
.. | ||
base64_neon.c | ||
base64.c | ||
bit_array.c | ||
cpuset.c | ||
crc16.c | ||
crc32_ieee.c | ||
crc32.c | ||
crc32c.c | ||
dif.c | ||
fd_group.c | ||
fd.c | ||
file.c | ||
iov.c | ||
Makefile | ||
math.c | ||
pipe.c | ||
spdk_util.map | ||
strerror_tls.c | ||
string.c | ||
util_internal.h | ||
uuid.c |