tyfkda
tyfkda
It's tedious to handle configuration in Makefile.
```c int main(){ return 123; } ``` ``` $ ./xcc -Wl,-Map=- foo.c ### Symbols 1000100: (start address) 1000100: main (/tmp/xcc-yQdcY7.o) 1003448: environ (./lib/crt0.a, _start.o) 10001ce: _start (./lib/crt0.a, _start.o) 10001e8: exit...
```c int array[] = (int[]){1, 2, 3}; int *ptr = (int[]){1, 2, 3}; ``` not `array` only, but also `struct`.
Unlike x64, aarch64 uses `%x8` to pass the function result struct address: ```c typedef struct { long long x, y, z; } FooStruct; FooStruct return_struct(long long x, long long y,...
When function call uses stack frame (e.g. `struct` argument or result, vaargs) stack pointer manipulation is required. To avoid it, allocate extra stack frame in function prologue. Concern: * conflict...