On Fri, Aug 19, 2022 at 2:14 AM Joerg Vehlow wrote: > Why is this even split up into two asm instructions? > I guess there is nothing, that prevents the compiler from reordering the > asm instructions, because it does not know, that they have side effects > (they are not marked volatile). > > asm volatile ("syscall" : : "a"(__NR_tkill), "D"(pid), "S"(SIGHUP): > "rax", "rcx", "r11"); > I tried this and clang complains that the "Asm-specifier for input or output variable conflicts with asm clobber list" for rax. Should it be asm volatile ("syscall" : : "a"(__NR_tkill), "D"(pid), "S"(SIGHUP) : "rcx", "r11"); instead? Is it implicit that __NR_tkill is going into rax so it will be clobbered? Thanks, Edward