mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-07-25 12:00:31 +00:00
Get aarch64 hello world working
$ m=aarch64-tiny $ make -j8 m=$m o/$m/tool/hello/hello.com o/third_party/qemu/qemu-aarch64 $ o/third_party/qemu/qemu-aarch64 o/$m/tool/hello/hello.com hello world $ ls -hal o/$m/tool/hello/hello.com -rwxr-xr-x 1 jart jart 4.0K May 9 05:04 o/aarch64-tiny/tool/hello/hello.com
This commit is contained in:
parent
e5e3cdf447
commit
ae0ee59614
174 changed files with 1454 additions and 851 deletions
|
@ -1,33 +1,12 @@
|
|||
#ifndef COSMOPOLITAN_LIBC_BITS_WEAKEN_H_
|
||||
#define COSMOPOLITAN_LIBC_BITS_WEAKEN_H_
|
||||
#include "libc/intrin/ezlea.h"
|
||||
#if !(__ASSEMBLER__ + __LINKER__ + 0)
|
||||
#ifndef __STRICT_ANSI__
|
||||
|
||||
#define _weaken(symbol) \
|
||||
({ \
|
||||
typeof(&symbol) _p = &symbol; \
|
||||
asm(".weak\t" #symbol : "+r"(_p)); \
|
||||
_p; \
|
||||
#define _weaken(symbol) \
|
||||
__extension__({ \
|
||||
extern __typeof__(symbol) symbol __attribute__((__weak__)); \
|
||||
&symbol; \
|
||||
})
|
||||
|
||||
#define _strongaddr(symbolstr) \
|
||||
({ \
|
||||
intptr_t waddr; \
|
||||
asm(_ezlea(symbolstr) "0" : "=r"(waddr)); \
|
||||
waddr; \
|
||||
})
|
||||
|
||||
#define _weakaddr(symbolstr) \
|
||||
({ \
|
||||
intptr_t waddr; \
|
||||
asm(".weak\t" symbolstr "\n\t" _ezlea(symbolstr) "0" : "=r"(waddr)); \
|
||||
waddr; \
|
||||
})
|
||||
|
||||
#else
|
||||
#define _weaken(symbol) symbol
|
||||
#define _weakaddr(symbolstr) &(symbolstr)
|
||||
#endif /* __STRICT_ANSI__ */
|
||||
#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
|
||||
#endif /* COSMOPOLITAN_LIBC_BITS_WEAKEN_H_ */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue