title: What is better "int 0x80" or "syscall" in 32-bit code on Linux?
body: <p>I study the Linux kernel and found out that for x86_64 architecture the interrupt <code>int 0x80</code> doesn't work for calling system calls<sup>1</sup>.</p>
  
  <p><strong>For the i386 architecture (32-bit x86 user-space), what is more preferable: <code>syscall</code> or <code>int 0x80</code> and why?</strong></p>
  
  <p>I use Linux kernel version 3.4.</p>
  
  <hr>
  
  <p>Footnote 1: <code>int 0x80</code> does work in some cases in 64-bit code, but is never recommended.  <a href="https://stackoverflow.com/questions/46087730/what-happens-if-you-use-the-32-bit-int-0x80-linux-abi-in-64-bit-code">What happens if you use the 32-bit int 0x80 Linux ABI in 64-bit code?</a></p>