Why are the system call numbers different in amd64 linux?

fuz :

I noticed that the x86 int $0x80 and the amd64 syscall system calls have different numbers. For instance, sys_exit is syscall 1 in x86 and syscall 60 in amd64. Is there a (historical) reason for the different system call numbering schemes?

user1202136 :

The syscall interface is supposed to be very stable and only additions are allowed. Talking advantage of the fact that the syscall interface is different for each architecture, the Linux guys most likely decided to clean up some accumulated cruft and start the amd64 syscalls from scratch.

Reference: linux/Documentation/ABI/stable/syscalls

This interface matches much of the POSIX interface and is based on it and other Unix based interfaces. It will only be added to over time, and not have things removed from it.

Note that this interface is different for every architecture that Linux supports. Please see the architecture-specific documentation for details on the syscall numbers that are to be mapped to each syscall.

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

Why are Linux system call numbers in x86 and x86_64 different?

From Dev

Why are system call numbers for `x86-64` and `x32` different but similar, and why are some not defined in unistd_x32.h?

From Java

Magic numbers of the Linux reboot() system call

From Java

Linux - Why doesn't a custom system call work properly with negative numbers?

From Dev

Why compiler use a 32bit register to pass a pointer to a function on a amd64 linux in this situation

From Dev

Why can't I install 'arm64' packages on an 'amd64' system when I can install 'armhf' packages?

From Dev

Why does the x86-64 / AMD64 System V ABI mandate a 16 byte stack alignment?

From Dev

Performance of "conditional call" on amd64

From Dev

In Gentoo, what is the difference between amd64, ~amd64 and ~amd64-linux?

From Dev

Why are linux system calls different across architectures

From Dev

64 bit version of socketcall system call Linux

From Dev

Why are 64-bit distros often called 'amd64'?

From Dev

Why are the open system call mode values different for equivalent code?

From Java

Adding new System Call to Linux Kernel 3.13 on 64 bit system

From Dev

Detect whether the system can run amd64 executables

From Dev

System V AMD64 ABI floating point varargs order

From Dev

Why is the linux system call interface architecture-dependent?

From Dev

no matching manifest for linux/amd64 in the manifest list entries

From Dev

abi difference on linux/amd64 C vs C++

From Java

How are the fs/gs registers used in Linux AMD64?

From Dev

How to find TLS segments of the current thread on linux amd64?

From

Cross compiling: "user: Current not implemented on linux/amd64"

From

Go programming linux amd64 wrong release object

From Dev

How to reinstall linux-libc-dev:amd64

From Dev

Why BCD instructions were removed in AMD64?

From Dev

Why can't I install Debian amd64 in VirtualBox?

From Dev

Why link numbers are different?

From Java

Internals of a Linux system call

From Java

Fastest Linux system call

Related Related

  1. 1

    Why are Linux system call numbers in x86 and x86_64 different?

  2. 2

    Why are system call numbers for `x86-64` and `x32` different but similar, and why are some not defined in unistd_x32.h?

  3. 3

    Magic numbers of the Linux reboot() system call

  4. 4

    Linux - Why doesn't a custom system call work properly with negative numbers?

  5. 5

    Why compiler use a 32bit register to pass a pointer to a function on a amd64 linux in this situation

  6. 6

    Why can't I install 'arm64' packages on an 'amd64' system when I can install 'armhf' packages?

  7. 7

    Why does the x86-64 / AMD64 System V ABI mandate a 16 byte stack alignment?

  8. 8

    Performance of "conditional call" on amd64

  9. 9

    In Gentoo, what is the difference between amd64, ~amd64 and ~amd64-linux?

  10. 10

    Why are linux system calls different across architectures

  11. 11

    64 bit version of socketcall system call Linux

  12. 12

    Why are 64-bit distros often called 'amd64'?

  13. 13

    Why are the open system call mode values different for equivalent code?

  14. 14

    Adding new System Call to Linux Kernel 3.13 on 64 bit system

  15. 15

    Detect whether the system can run amd64 executables

  16. 16

    System V AMD64 ABI floating point varargs order

  17. 17

    Why is the linux system call interface architecture-dependent?

  18. 18

    no matching manifest for linux/amd64 in the manifest list entries

  19. 19

    abi difference on linux/amd64 C vs C++

  20. 20

    How are the fs/gs registers used in Linux AMD64?

  21. 21

    How to find TLS segments of the current thread on linux amd64?

  22. 22

    Cross compiling: "user: Current not implemented on linux/amd64"

  23. 23

    Go programming linux amd64 wrong release object

  24. 24

    How to reinstall linux-libc-dev:amd64

  25. 25

    Why BCD instructions were removed in AMD64?

  26. 26

    Why can't I install Debian amd64 in VirtualBox?

  27. 27

    Why link numbers are different?

  28. 28

    Internals of a Linux system call

  29. 29

    Fastest Linux system call

HotTag

Archive