I have tested it on Arm64 platfrom, then found the below error:
/tmp # whoami
root
/ # numactl
numactl: error while loading shared libraries: libnuma.so.1: failed to map segment from shared object
Used strace command catch this log:
1528 execve("/bin/numactl", ["numactl"], 0x7fdff72d00 /* 15 vars */) = 0
1528 brk(NULL) = 0x55ab640000
1528 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f94393000
1528 faccessat(AT_FDCWD, "/etc/ld.so.preload", R_OK) = 0
1528 openat(AT_FDCWD, "/etc/ld.so.preload", O_RDONLY|O_CLOEXEC) = 3
1528 fstat(3, {st_mode=S_IFREG|0644, st_size=60, ...}) = 0
1528 mmap(NULL, 60, PROT_READ|PROT_WRITE, MAP_PRIVATE, 3, 0) = 0x7f94392000
1528 close(3) = 0
1528 openat(AT_FDCWD, "/lib/libc_stubs.so", O_RDONLY|O_CLOEXEC) = 3
1528 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
1528 fstat(3, {st_mode=S_IFREG|0644, st_size=67736, ...}) = 0
1528 mmap(NULL, 131096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f94349000
1528 mprotect(0x7f9434c000, 114688, PROT_NONE) = 0
1528 mmap(0x7f94368000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf000) = 0x7f94368000
1528 close(3) = 0
1528 openat(AT_FDCWD, "/lib/libc++.so.1.0", O_RDONLY|O_CLOEXEC) = 3
1528 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
1528 fstat(3, {st_mode=S_IFREG|0644, st_size=723248, ...}) = 0
1528 mmap(NULL, 799080, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f94285000
1528 mprotect(0x7f9432e000, 65536, PROT_NONE) = 0
1528 mmap(0x7f9433e000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa9000) = 0x7f9433e000
1528 mmap(0x7f94346000, 8552, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f94346000
1528 close(3) = 0
1528 openat(AT_FDCWD, "/lib/libc++abi.so.1.0", O_RDONLY|O_CLOEXEC) = 3
1528 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
1528 fstat(3, {st_mode=S_IFREG|0644, st_size=198872, ...}) = 0
1528 mmap(NULL, 263464, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f94244000
1528 mprotect(0x7f94270000, 65536, PROT_NONE) = 0
1528 mmap(0x7f94280000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2c000) = 0x7f94280000
1528 close(3) = 0
1528 munmap(0x7f94392000, 60) = 0
1528 openat(AT_FDCWD, "/mnt/fileroot/chunguo.feng/opensource/numactl/build/lib/tls/aarch64/cpuid/libnuma.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1528 newfstatat(AT_FDCWD, "/mnt/fileroot/chunguo.feng/opensource/numactl/build/lib/tls/aarch64/cpuid", 0x7fe0c59620, 0) = -1 ENOENT (No such file or directory)
1528 openat(AT_FDCWD, "/mnt/fileroot/chunguo.feng/opensource/numactl/build/lib/tls/aarch64/libnuma.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1528 newfstatat(AT_FDCWD, "/mnt/fileroot/chunguo.feng/opensource/numactl/build/lib/tls/aarch64", 0x7fe0c59620, 0) = -1 ENOENT (No such file or directory)
1528 openat(AT_FDCWD, "/mnt/fileroot/chunguo.feng/opensource/numactl/build/lib/tls/cpuid/libnuma.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1528 newfstatat(AT_FDCWD, "/mnt/fileroot/chunguo.feng/opensource/numactl/build/lib/tls/cpuid", 0x7fe0c59620, 0) = -1 ENOENT (No such file or directory)
1528 openat(AT_FDCWD, "/mnt/fileroot/chunguo.feng/opensource/numactl/build/lib/tls/libnuma.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1528 newfstatat(AT_FDCWD, "/mnt/fileroot/chunguo.feng/opensource/numactl/build/lib/tls", 0x7fe0c59620, 0) = -1 ENOENT (No such file or directory)
1528 openat(AT_FDCWD, "/mnt/fileroot/chunguo.feng/opensource/numactl/build/lib/aarch64/cpuid/libnuma.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1528 newfstatat(AT_FDCWD, "/mnt/fileroot/chunguo.feng/opensource/numactl/build/lib/aarch64/cpuid", 0x7fe0c59620, 0) = -1 ENOENT (No such file or directory)
1528 openat(AT_FDCWD, "/mnt/fileroot/chunguo.feng/opensource/numactl/build/lib/aarch64/libnuma.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1528 newfstatat(AT_FDCWD, "/mnt/fileroot/chunguo.feng/opensource/numactl/build/lib/aarch64", 0x7fe0c59620, 0) = -1 ENOENT (No such file or directory)
1528 openat(AT_FDCWD, "/mnt/fileroot/chunguo.feng/opensource/numactl/build/lib/cpuid/libnuma.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1528 newfstatat(AT_FDCWD, "/mnt/fileroot/chunguo.feng/opensource/numactl/build/lib/cpuid", 0x7fe0c59620, 0) = -1 ENOENT (No such file or directory)
1528 openat(AT_FDCWD, "/mnt/fileroot/chunguo.feng/opensource/numactl/build/lib/libnuma.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1528 newfstatat(AT_FDCWD, "/mnt/fileroot/chunguo.feng/opensource/numactl/build/lib", 0x7fe0c59620, 0) = -1 ENOENT (No such file or directory)
1528 openat(AT_FDCWD, "/tmp/build/lib/tls/aarch64/cpuid/libnuma.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1528 newfstatat(AT_FDCWD, "/tmp/build/lib/tls/aarch64/cpuid", 0x7fe0c59620, 0) = -1 ENOENT (No such file or directory)
1528 openat(AT_FDCWD, "/tmp/build/lib/tls/aarch64/libnuma.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1528 newfstatat(AT_FDCWD, "/tmp/build/lib/tls/aarch64", 0x7fe0c59620, 0) = -1 ENOENT (No such file or directory)
1528 openat(AT_FDCWD, "/tmp/build/lib/tls/cpuid/libnuma.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1528 newfstatat(AT_FDCWD, "/tmp/build/lib/tls/cpuid", 0x7fe0c59620, 0) = -1 ENOENT (No such file or directory)
1528 openat(AT_FDCWD, "/tmp/build/lib/tls/libnuma.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1528 newfstatat(AT_FDCWD, "/tmp/build/lib/tls", 0x7fe0c59620, 0) = -1 ENOENT (No such file or directory)
1528 openat(AT_FDCWD, "/tmp/build/lib/aarch64/cpuid/libnuma.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1528 newfstatat(AT_FDCWD, "/tmp/build/lib/aarch64/cpuid", 0x7fe0c59620, 0) = -1 ENOENT (No such file or directory)
1528 openat(AT_FDCWD, "/tmp/build/lib/aarch64/libnuma.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1528 newfstatat(AT_FDCWD, "/tmp/build/lib/aarch64", 0x7fe0c59620, 0) = -1 ENOENT (No such file or directory)
1528 openat(AT_FDCWD, "/tmp/build/lib/cpuid/libnuma.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1528 newfstatat(AT_FDCWD, "/tmp/build/lib/cpuid", 0x7fe0c59620, 0) = -1 ENOENT (No such file or directory)
1528 openat(AT_FDCWD, "/tmp/build/lib/libnuma.so.1", O_RDONLY|O_CLOEXEC) = 3
1528 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0P3\0\0\0\0\0\0"..., 832) = 832
1528 fstat(3, {st_mode=S_IFREG|0777, st_size=192304, ...}) = 0
1528 mmap(NULL, 123752, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = -1 EPERM (Operation not permitted)
1528 close(3) = 0
1528 writev(2, [{iov_base="numactl", iov_len=7}, {iov_base=": ", iov_len=2}, {iov_base="error while loading shared libra"..., iov_len=36}, {iov_base=": ", iov_len=2}, {iov_base="libnuma.so.1", iov_len=12}, {iov_base=": ", iov_len=2}, {iov_base="failed to map segment from share"..., iov_len=40}, {iov_base="", iov_len=0}, {iov_base="", iov_len=0}, {iov_base="\n", iov_len=1}], 10) = 102
1528 exit_group(127) = ?
1528 +++ exited with 127 +++
/tmp #
This error was from mmap(NULL, 123752, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = -1 EPERM (Operation not permitted), used root user exec it