Okay, how do you propose to talk to your kernel then?
Obviously there are plenty of things you can't build that way (e.g. drivers), but for a server application that's intended to be accessed over the network anyway, like Clickhouse, I'm increasingly thinking that's the way to go.
Fundamentally, an ABI is the way you define interfaces.
This will not work on Windows, where the kernel API is a DLL and syscall numbes are routinely changed.