+8
−3
Loading
__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>