Index: gdb/syscalls/arm-linux.py |
diff --git a/gdb/syscalls/arm-linux.py b/gdb/syscalls/arm-linux.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..0814dd4e85cfe192df978e844b02c5776f2a4159 |
--- /dev/null |
+++ b/gdb/syscalls/arm-linux.py |
@@ -0,0 +1,60 @@ |
+# Copyright (C) 2013 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. |
+ |
+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): |
+ #nm = 'name="%s"' % name |
+ #s = ' <syscall %-30s number="%d"/>' % (nm, number) |
+ 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>') |