Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am using Ubuntu 12 & kernel version is 3.8.0

i want to add personal syscall but unable to locate the file mentioned above.

path i am trying is usr/src/linux-headers-3.8.0-19-generic/arch/x86/kernel

i also tried usr/src/linux-headers-3.8.0-19-generic/arch/x86/syscalls

i also tried usr/src/linux-headers-3.8.0-19/arch/x86/kernel

i looked for solution in this web, stack exchange & google but still unable :(

please help

share|improve this question
Don't you mean syscalls_32.h? It's here: /usr/src/linux-headers-<kernel-version>/arch/x86/include/generated/asm/syscalls‌​_32.h. Make sure you've installed the Linux kernel headers and try find /usr/src -name "syscalls_32.h" Or maybe just /usr/include/syscall.h, or /usr/src/linux-headers-<version>/arch/x86/syscalls/ – gertvdijk Sep 1 '13 at 11:01
/usr/include/syscall.h that was it :) Thanks @qertydijk :D – Coding Noob Sep 1 '13 at 11:14

For locating files already installed you can use dpkg -S

$ dpkg -S syscall
gdb: /usr/share/gdb/syscalls
gdb: /usr/share/gdb/syscalls/sparc-linux.xml
manpages-dev: /usr/share/man/man2/_syscall.2.gz
gdb: /usr/share/gdb/syscalls/gdb-syscalls.dtd
gdb: /usr/share/gdb/syscalls/ppc64-linux.xml
gdb: /usr/share/gdb/syscalls/sparc64-linux.xml
gdb: /usr/share/gdb/syscalls/mips-n32-linux.xml
perl: /usr/lib/perl/5.14.2/bits/
manpages-dev: /usr/share/man/man2/syscalls.2.gz
gdb: /usr/share/gdb/syscalls/amd64-linux.xml
gdb: /usr/share/gdb/syscalls/i386-linux.xml
perl: /usr/lib/perl/5.14.2/
libc6-dev:i386: /usr/include/i386-linux-gnu/bits/syscall.h
perl: /usr/lib/perl/5.14.2/sys/
manpages-dev: /usr/share/man/man2/afs_syscall.2.gz
manpages-dev: /usr/share/man/man2/syscall.2.gz
gdb: /usr/share/gdb/syscalls/mips-o32-linux.xml
gdb: /usr/share/gdb/syscalls/ppc-linux.xml
libc6-dev:i386: /usr/include/syscall.h
gdb: /usr/share/gdb/syscalls/mips-n64-linux.xml
libc6-dev:i386: /usr/include/i386-linux-gnu/sys/syscall.h
linux-libc-dev:i386: /usr/include/i386-linux-gnu/asm/vsyscall.h

For locating files that are not provided by installed packages you can try locate (if the file is recent enough:

$ locate syscall.h

If neither of those shows results, you can try a search in the Ubuntu Package Search: of file&mode=exactfilename&suite=raring&arch=any

If you want a "local" solution use apt-file:

sudo apt-get -y install apt-file
sudo apt-file update
apt-file search name_of_file
share|improve this answer
main file i was looking for is the file that contains all the system calls but still unable to find out in any kernel. i tried 3 to 4 kernels – Coding Noob Sep 1 '13 at 12:20

Hey try this from the terminal

find /usr/src/linux-headers-3.8.0-19-generic/ -type f -name "syscall_table_32.S"

if you get permission errors try running the command as sudo

Good luck!

share|improve this answer
command worked without sudo but it just returned empty :/ – Coding Noob Sep 1 '13 at 11:02
This file does not exist in Ubuntu packages, so this answer is pointless. And @CodingNoob, did you install the Linux kernel headers? – gertvdijk Sep 1 '13 at 11:03
@qervtvdijk i tried to install & reboot system with that but i was unable to do so & for 3.8.0 i did not downloaded anything :/ – Coding Noob Sep 1 '13 at 11:05
Yes I searched my system first but I did not find it too. So as @gertvdijk says it might not be there. Good luck! – mojo706 Sep 1 '13 at 11:09
i have find the file thanks @mojo706 see upper comments right after my question for ref – Coding Noob Sep 1 '13 at 11:15

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.