Я написал простую программу hello-world на C:
#include <stdio.h>
int main() {
/* my first program in C */
printf("Hello, World! \n");
return 0;
}
Я запускаю gcc main.c
, и это заканчивается без ошибок или предупреждений. Я пробовал chmod a+x a.out
и chmod 755 a.out
. Это на моем жестком диске, что означает, что это не noexec
файловая система.
ls -l a.out
дает мне это:
-rwxr-xr-x 1 keith keith 13932 Feb 15 13:20 a.out
И все же, ./a.out
дает мне: bash: ./a.out: Permission denied
Я пробовал с и без sudo, и ни один не работает. Любая помощь приветствуется. РЕДАКТИРОВАТЬ:
file ./a.out gives: ./a.out: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 3.2.0, with debug_info, not stripped
ldd ./a.out gives: ldd: warning: you do not have execution permission for `./a.out'
not a dynamic executable //
LD_DEBUG=all ./a.out gives: bash: ./a.out: Permission denied
uname -a gives: Linux localhost 3.8.11 #1 SMP Sun Jul 14 00:09:57 PDT 2019 armv7l ARMv7 Processor rev 4 (v7l) SAMSUNG EXYNOS5 (Flattened Device Tree) GNU/Linux
gcc -v gives: Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/armv7l-cros-linux-gnueabihf/8.3.0/lto-wrapper
Target: armv7l-cros-linux-gnueabihf
Configured with: ../configure --prefix=/usr/local --libdir=/usr/local/lib --build=armv7l-cros-linux-gnueabihf --host=armv7l-cros-linux-gnueabihf --target=armv7l-cros-linux-gnueabihf --enable-checking=release --disable-multilib --enable-threads=posix --disable-bootstrap --disable-werror --disable-libmpx --enable-static --enable-shared --program-suffix=-8.3.0 --with-arch=armv7-a --with-tune=cortex-a15 --with-fpu=neon --with-float=hard
Thread model: posix
gcc version 8.3.0 (GCC)