print_offsets.awk
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:1k
- BEGIN {
- print "#ifndef _ASM_IA64_OFFSETS_H"
- print "#define _ASM_IA64_OFFSETS_H"
- print "/*"
- print " * DO NOT MODIFY"
- print " *"
- print " * This file was generated by arch/ia64/tools/print_offsets.awk."
- print " *"
- print " */"
- #
- # This is a cheesy hack. Make sure that
- # PT_PTRACED == 1<<PT_PTRACED_BIT.
- #
- print "#define PT_PTRACED_BIT 0"
- print "#define PT_TRACESYS_BIT 1"
- }
- # look for .tab:
- # stringz "name"
- # data value
- # sequence
- /.*[.]size/ {
- inside_table = 0
- }
- /// end/ {
- inside_table = 0
- }
- /.*[.]rodata/ {
- inside_table = 0
- }
- {
- if (inside_table) {
- if ($1 == "//") getline;
- name=$2
- getline
- getline
- if ($1 == "//") getline;
- value=$2
- len = length(name)
- name = substr(name, 2, len - 2)
- len -= 2
- if (len == 0)
- print ""
- else {
- len += 8
- if (len >= 40) {
- space=" "
- } else {
- space=""
- while (len < 40) {
- len += 8
- space = space"t"
- }
- }
- printf("#define %s%s%lut/* 0x%lx */n", name, space, value, value)
- }
- }
- }
- /tab:/ {
- inside_table = 1
- }
- /tab#:/ {
- inside_table = 1
- }
- END {
- print ""
- print "#endif /* _ASM_IA64_OFFSETS_H */"
- }