Так, разобрался с seg.fault.
Завершение запущенного процесса вызывается в Linux по хитрому:
## Код:
```
﻿﻿mov     ebx,0
mov     eax,1
int     0x80
```

Этот кусок не генерировался, вместо этого делался ret в ядро, за что приложение ожидаемо получало по рукам.

https://github.com/dmitrys99/BBElfLinker, мало ли.