the first source code is a dynamic executable made under Ubuntu 22.04.2 LTS running in Linux on Windows Subsystem so you gotta make your /distro r/w so you can copy/overwrite files on /lib/ coz it is hardcoded that the executable made will read its appropriate libraries there..
the 2nd executable is static coz dynamically linked ARM32 object file will search for a file that doesn't exist so you gotta do some lazy meme gcc linking..
and then the source code below is ARM64 but meme gcc-ed to be statically created under Ubuntu 22.04.2 LTS in Hyper-V.
/*
;
; aarch64-linux-gnu-as printfarm64.asm -o printfarm64.o
; aarch64-linux-gnu-gcc -static -o printfarm64 printfarm64.o
;
;;
;~ House Of Guillermo [GIMO]
;~~ alCoPaUL [GIMO][As][aBrA][NPA][b8][BCVG][rRlf], NYC 7/1/2023 5:46 PM EDT - 7/2/2023 5:11 PM EDT
;
*/
.section .text
.global main
.extern printf,putchar,exit
main:
LDR X0,=msg
BL printf
MOV X0,34
BL putchar
LDR X0,=msg
BL printf
MOV X0,34
BL putchar
MOV X0,0
BL exit
.section .data
msg:.asciz "/*
;
; aarch64-linux-gnu-as printfarm64.asm -o printfarm64.o
; aarch64-linux-gnu-gcc -static -o printfarm64 printfarm64.o
;
;;
;~ House Of Guillermo [GIMO]
;~~ alCoPaUL [GIMO][As][aBrA][NPA][b8][BCVG][rRlf], NYC 7/1/2023 5:46 PM EDT - 7/2/2023 5:11 PM EDT
;
*/
.section .text
.global main
.extern printf,putchar,exit
main:
LDR X0,=msg
BL printf
MOV X0,34
BL putchar
LDR X0,=msg
BL printf
MOV X0,34
BL putchar
MOV X0,0
BL exit
.section .data
msg:.asciz "
and the ARM32 was made in Ubuntu 16.04 LTS in Hyper-V.
like everything was seamless and it was even ridiculously funny.
like ARM64 was released in 2011. don't tell me no one made this kinda shizzzz during the 12 years that ARM32/ARM64 existed.
and yes, libc6 functions are legit to use coz that's how you write Win32/Win64 programs - by using the WINAPI libraries. and mind you, The C Standard Library is wayyyyyyyyyyy older than Win32s..
and if you insist that it's not valid and i must use syscall, like the f***, that's how the DOS programs were written.
and how is the established protocol of using ml64.exe currently? you mix it with c++ and you cannot inline it.
and these three source codes are mixed with c stdlib functions and ARM32 & ARM64 assembly language programming.
and it's only 10 lines of ARM coded mnemonic. the rest are strings and comments (lelz)..
and just took 3 days from the time that i set on gathering my resources and finally triple building it...
2023 - 2011?