ref: e5e12f806ecf322946c093fe59d909beb9160d0c
dir: /hello/hello.c/
#define SYS_EXITS 8
#define SYS_PWRITE 51
typedef long long vlong;
extern vlong syscall(vlong, ...);
_Noreturn
void
exits(char *msg)
{
syscall(SYS_EXITS, msg);
__builtin_unreachable();
}
long
pwrite(int fd, void *buf, long nbytes, vlong offset)
{
return syscall(SYS_PWRITE, fd, buf, nbytes, offset);
}
long
strlen(char *s)
{
char *p;
for(p = s; *s; s++);
return s-p;
}
void
puts(char *s)
{
pwrite(1, s, strlen(s), -1LL);
pwrite(1, "\n", 1, -1LL);
}
_Noreturn
void
main(char *argv[])
{
while(*argv)
puts(*argv++);
exits(0);
}