#!/bin/sh -f LD=$1 LDFLAGS=$2; shift 2 outfile="$1"; shift bin="$(echo $0 | sed 's,/[^/]*$,,')" # Derived from Russ Cox's 9l in plan9port. ofiles="" args="" for i do case "$i" in *.[ao]|*.o_pic) ofiles="$ofiles $i" ;; *) args="$args $i" ;; esac done xtmp=/tmp/ld.$$.$USER.out echo LD "$($bin/cleanname ${BASE}$outfile)" [ -n "$noisycc" ] && echo $LD -o $outfile $ofiles $LDFLAGS $args $LD -o $outfile $ofiles $LDFLAGS $args >$xtmp 2>&1 status=$? [ $? -eq 0 ] || $LD -o $outfile $ofiles $LDFLAGS $args >&2 sed 's/.*: In function `[^:]*: *//' $xtmp | egrep . | egrep -v 'is almost always misused|is dangerous, better use|in statically linked applications requires at runtime' rm -f $xtmp exit $status