Adding missing files from my last commit.
[deliverable/binutils-gdb.git] / gdb / syscalls / arm-linux.py
diff --git a/gdb/syscalls/arm-linux.py b/gdb/syscalls/arm-linux.py
new file mode 100644 (file)
index 0000000..0814dd4
--- /dev/null
@@ -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>')
This page took 0.023848 seconds and 4 git commands to generate.