# What is the ARM64 assembly compiler on FreeBSD?



## codetree (Oct 28, 2022)

On Linux, the assembly compiler uses "as" and link uses "ld".
What is the ARM assembly compiler on FreeBSD?
I would also like to know the system call documentation of freebsd.
like on linux "https://chromium.googlesource.com/chromiumos/docs/+/master/constants/syscalls.md#arm64-64_bit"
i work Assembler/Linker on FreeBSD on Raspberry Pi 4 (ARM64) produces


----------



## hruodr (Oct 28, 2022)

Perhaps `cc -S file.c` to generate assembly code? Or just cc to compile assembly code?


----------



## _martin (Oct 28, 2022)

To see the syscalls with parameters check out sys/kern/syscalls.master. For brief list you can also check sys/sys/syscall.h, file which is automatically generated. sysdecode(3) could help too.
I don't use FreeBSD on this architecture much but you do have option of packages llvm or binutils to get `as`. There's native linker in the base, /usr/bin/ld.

There's arm wiki that shows how to setup tools. Among cross-piling tools there are also a native ones. So one could download sources and compile tools from there. Or use packages.

Sidenote: binutils package also includes objdump; you can use `llvm-objdump` though.


----------



## ProphetOfDoom (Oct 29, 2022)

Another option (although I haven’t ever tried it personally)... is the ARM version of Flat Assembler.


			FASMARM: Freeware ARM cross assembler for FASM


----------

