[BACK]Return to print_offsets.awk CVS log [TXT][DIR] Up to [Development] / linux-2.4-xfs / arch / ia64 / tools

File: [Development] / linux-2.4-xfs / arch / ia64 / tools / print_offsets.awk (download)

Revision 1.1, Wed Dec 31 00:54:49 2003 UTC (13 years, 10 months ago) by cattelan
Branch: MAIN
CVS Tags: HEAD

Initial Import 2.4.24pre2

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%lu\t/* 0x%lx */\n", name, space, value, value)
		}
	}
}

/tab:/ {
	inside_table = 1
}

/tab\#:/ {
	inside_table = 1
}

END {
	print ""
	print "#endif /* _ASM_IA64_OFFSETS_H */"
}