#!/bin/sh
######################################################################
# datasize 1.4                                                       #
# ------------------------------------------------------------------ #
# Compute size of .data and .bss section of an archive library       #
# Copyright (c) 1992 by Thomas Wolfram, Berlin, Germany              #
# (thomas@aeon.in-berlin.de, wolf@prz.tu-berlin.de                   #
######################################################################

if [ "$1" = "" ] ; then
        echo $0: no archive library name specified. >&2
        exit 1
fi
if [ ! -f $1 ] ; then
        echo $0: named archive library doesn\'t exist. >&2
        exit 1
fi
version="1.4"
LIB=`basename $1 | cut -f1 -d.` ; export LIB
TMPDIR=${TMPDIR:=/usr/tmp} ; export TMPDIR

echo "objects in $LIB.a which data > 0:"
echo "    object file = .data+.bss  (.data,  .bss)"
echo "--------------------------------------------"
size $1 |
nawk '$3 + $5 > 0 { printf "%15s = %10d  (%5d, %5d)\n", substr($1, 1,\
 index($1, ":")-1), $3+$5, $3, $5 }'

echo "
Summary for $LIB.a:"
size $1 |
nawk '{ DATA += $3 ; BSS += $5 }; END { print ".data=" DATA \
", .bss=" BSS  ", .data+.bss=" DATA + BSS }'

