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