import of upstream 2.4.34.4 from kernel.org
[linux-2.4.git] / arch / ia64 / tools / print_offsets.awk
1 BEGIN {
2         print "#ifndef _ASM_IA64_OFFSETS_H"
3         print "#define _ASM_IA64_OFFSETS_H"
4         print "/*"
5         print " * DO NOT MODIFY"
6         print " *"
7         print " * This file was generated by arch/ia64/tools/print_offsets.awk."
8         print " *"
9         print " */"
10         #
11         # This is a cheesy hack.  Make sure that
12         # PT_PTRACED == 1<<PT_PTRACED_BIT.
13         #
14         print "#define PT_PTRACED_BIT           0"
15         print "#define PT_TRACESYS_BIT          1"
16 }
17
18 # look for .tab:
19 #       stringz "name"
20 #       data value
21 # sequence
22
23 /.*[.]size/ {
24         inside_table = 0
25 }
26
27 /\/\/ end/ {
28         inside_table = 0
29 }
30
31 /.*[.]rodata/ {
32         inside_table = 0
33 }
34
35 {
36         if (inside_table) {
37                 if ($1 == "//") getline;
38                 name=$2
39                 getline
40                 getline
41                 if ($1 == "//") getline;
42                 value=$2
43                 len = length(name)
44                 name = substr(name, 2, len - 2)
45                 len -= 2
46                 if (len == 0)
47                         print ""
48                 else {
49                         len += 8
50                         if (len >= 40) {
51                                 space=" "
52                         } else {
53                                 space=""
54                                 while (len < 40) {
55                                         len += 8
56                                         space = space"\t"
57                                 }
58                         }
59                         printf("#define %s%s%lu\t/* 0x%lx */\n", name, space, value, value)
60                 }
61         }
62 }
63
64 /tab:/ {
65         inside_table = 1
66 }
67
68 /tab\#:/ {
69         inside_table = 1
70 }
71
72 END {
73         print ""
74         print "#endif /* _ASM_IA64_OFFSETS_H */"
75 }