diff options
author | FreeArtMan <dos21h@gmail.com> | 2022-08-25 12:14:51 +0100 |
---|---|---|
committer | FreeArtMan <dos21h@gmail.com> | 2022-08-25 12:14:51 +0100 |
commit | ccb48ea963fe9861b4e6de0eaec74c7fdd0cc94b (patch) | |
tree | e4601ef072c9eba48fa1310a3746420b123e08c7 /md | |
parent | 07304d7e1135009cb7073a9bcc295168ba9675b3 (diff) | |
download | md-content-ccb48ea963fe9861b4e6de0eaec74c7fdd0cc94b.tar.gz md-content-ccb48ea963fe9861b4e6de0eaec74c7fdd0cc94b.zip |
Add AArch64
Diffstat (limited to 'md')
-rw-r--r-- | md/notes/undefined_c/titles.md | 61 |
1 files changed, 60 insertions, 1 deletions
diff --git a/md/notes/undefined_c/titles.md b/md/notes/undefined_c/titles.md index 18fcdec..85a8456 100644 --- a/md/notes/undefined_c/titles.md +++ b/md/notes/undefined_c/titles.md @@ -1632,10 +1632,69 @@ rustc main.rs -l lib -L . -o hello -C link-arg="-Wl,-rpath=./" ## Multiplatform ### Cross compile + + + + + ### Different flags + + ### Check architecture -### ARMv8 + + +### AArch64 + +https://snapshots.linaro.org/gnu-toolchain/13.0-2022.08-1/aarch64-linux-gnu/ + +download any of the version of gcc and extract + +Add bin directory location to env variable PATH + +``` +export PATH=$PATH:`pwd` +``` + +___main.c__ +```c +#include <stdio.h> + +int main() { + printf("Hello world arm64\n"); +} +``` + +``` +$ arch64-linux-gnu-gcc main.c -o main +$ ./main +qemu-aarch64: Could not open '/lib/ld-linux-aarch64.so.1': No such file or directory +$ file ./main +./main: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=12448d90030e2ad23dbe6b7bc82a4fa7b7de9659, for GNU/Linux 3.7.0, with debug_info, not stripped +``` + +Download sysroot image from linaro page. +With running + +``` +strace ./main +``` + +It showed that searched path for libraries are in + +``` +/usr/gnemul/qemu-aarch64/lib/ +``` + +Found missing libc and ld-linux-aarch64 inside sysroot archive and copied at searched location amd now AArch64 binary is running. + +``` +$ ./main +Hello world arm64 +``` + ### AVR8 + + ### Emscripten [/writeup/web_assembly_sdl_example.md](/writeup/web_assembly_sdl_example.md) |