gdb/syscalls/arm-linux.py - gdb
Global variables defined
Functions defined
Source code
- import sys
- import re
- import time
- infname = sys.argv[1]
- inf = file(infname)
- print("""\
- <?xml version="1.0"?>
- <!-- Copyright (C) 2009-%s Free Software Foundation, Inc.
- Copying and distribution of this file, with or without modification,
- are permitted in any medium without royalty provided the copyright
- notice and this notice are preserved. This file is offered as-is,
- without any warranty. -->
- <!DOCTYPE feature SYSTEM "gdb-syscalls.dtd">
- <!-- This file was generated using the following file:
- %s
- The file mentioned above belongs to the Linux Kernel.
- Some small hand-edits were made. -->
- <syscalls_info>""" % (time.strftime("%Y"), infname))
- def record(name, number, comment=None):
-
-
- s = ' <syscall name="%s" number="%d"/>' % (name, number)
- if comment:
- s += ' <!-- %s -->' % comment
- print(s)
- for line in inf:
- m = re.match(r'^#define __NR_(\w+)\s+\(__NR_SYSCALL_BASE\+\s*(\d+)\)',
- line)
- if m:
- record(m.group(1), int(m.group(2)))
- continue
- m = re.match(r'^\s+/\* (\d+) was sys_(\w+) \*/$', line)
- if m:
- record(m.group(2), int(m.group(1)), 'removed')
- m = re.match(r'^#define __ARM_NR_(\w+)\s+\(__ARM_NR_BASE\+\s*(\d+)\)',
- line)
- if m:
- record('ARM_'+m.group(1), 0x0f0000+int(m.group(2)))
- continue
- print('</syscalls_info>')