17460Smckusick# Copyright (c) 1982 Regents of the University of California
27460Smckusick#
3*14118Smckusick#	@(#)pcexterns.awk	4.4	(Berkeley)	07/25/83
47460Smckusick#
57603Smckusick# This generates .stabs for all the global routines and variables
67603Smckusick# in a library. The format of a stab can be found in man5/stab.5.
77603Smckusick#
8*14118Smckusick# This value must be coordinated with the one in ../src/pstab.h.
9*14118Smckusick#
10*14118SmckusickBEGIN {
11*14118Smckusick	N_FLAGCHECKSUM = 1;
12*14118Smckusick}
13*14118Smckusick#
147603Smckusick# Generate "source file" stab for the library name.
157603Smckusick#
167460SmckusickNR == 1	{
177460Smckusick	name = substr($1, 1, index($1, ":") - 1);
18*14118Smckusick	printf "	.stabs	\"%s\",0x30,0,0x1,%d\n", name, N_FLAGCHECKSUM;
197460Smckusick}
207603Smckusick#
217603Smckusick# Generate "library routine" stab.
227603Smckusick#
237460SmckusickNF == 3 && $2 == "T" {
247599Smckusick	printf "	.stabs	\"%s\",0x30,0,0xc,0x%d\n", substr($3, 2), NR;
257460Smckusick}
267603Smckusick#
277603Smckusick# Generate "library variable" stab.
287603Smckusick#
297460SmckusickNF == 3 && $2 ~ /[ABD]/ {
307599Smckusick	printf "	.stabs	\"%s\",0x30,0,0xb,0x%d\n", substr($3, 2), NR;
317460Smckusick}
32