#!/bin/sh
SPECFILE=`dirname $(gcc -print-libgcc-file-name)`/specs

perl -pi -e 's@\*cc1:\n@$_%(cc1_ssp) @;' $SPECFILE &&
perl -pi -e 's@\*cc1plus:\n@$_%(cc1_ssp) @;' $SPECFILE &&
echo '*cc1_ssp:
%{!fno-stack-protector*: -fstack-protector-all}
'    >> $SPECFILE

perl -pi -e 's@\*cc1:\n@$_%(cc1_pie) @;' $SPECFILE &&
perl -pi -e 's@\*cc1plus:\n@$_%(cc1_pie) @;' $SPECFILE &&
perl -pi -e 's@%{pie:-pie}@%(link_pie)@;' $SPECFILE &&
perl -pi -e 's@pie:@!no-pie|pie:@g;' $SPECFILE &&
perl -pi -e 's@\*cpp:\n@$_%(cpp_pie) @;' $SPECFILE &&
echo '*cpp_pie:
%{!static:%{!no-pie:%{!pie: -D__PIC__ -DPIC}}}
' >> $SPECFILE &&
echo '*cc1_pie:
%{!static:%{!no-pie:%{!pie: -fPIC}}}
' >> $SPECFILE &&
echo '*link_pie:
%{pie:-pie}%{!no-pie:%{!static:%{!Bstatic:%{!i:%{!r: %{!nonow: -z now} %{!norelro: -z relro} %{!shared:%{!Bshareable:%{!pie: -pie}}}}}}}}
' >> $SPECFILE


