Public feed #887914

ldd hidden check

public shellscript v1 · immutable
Raw Edit
·published 2008-02-01 18:32 UTC
rendered paste body
#!/bin/shld_hidden_check() {  gcc_cv_ld_hidden=yes#  ld_ver=`$gcc_cv_ld --version 2>/dev/null | sed 1q`  ld_ver="$1"  ld_vers=`echo $ld_ver | sed -n \	-e 's,^.*[	 ]\([0-9][0-9]*\.[0-9][0-9]*\)$,\1,p' \	-e 's,^.*[	 ]\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\)$,\1,p' \	-e 's,^.*[	 ]\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\)$,\1,p' \	-e 's,^.*[	 ]\([0-9][0-9]*\.[0-9][0-9]*\)[	 ].*$,\1,p' \	-e 's,^.*[	 ]\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\)[	 ].*$,\1,p' \	-e 's,^.*[ 	 ]\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\)[ 	].*$,\1,p' \	-e 's,^.*[	 ]\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\)[	 -].*$,\1,p'`    ld_date=`echo $ld_ver | sed -n 's,^.*\([2-9][0-9][0-9][0-9]\)[-]*\([01][0-9]\)[-]*\([0-3][0-9]\).*$,\1\2\3,p'`    ld_vers_major=`expr "$ld_vers" : '\([0-9]*\)'`    ld_vers_minor=`expr "$ld_vers" : '[0-9]*\.\([0-9]*\)'`    ld_vers_patch=`expr "$ld_vers" : '[0-9]*\.[0-9]*\.\([0-9]*\)'`    if test 0"$ld_date" -lt 20020404; then      if test -n "$ld_date"; then	# If there was date string, but was earlier than 2002-04-04, fail	gcc_cv_ld_hidden=no      elif test -z "$ld_vers"; then	# If there was no date string nor ld version number, something is wrong	gcc_cv_ld_hidden=no      else	test -z "$ld_vers_patch" && ld_vers_patch=0	if test "$ld_vers_major" -lt 2; then	  gcc_cv_ld_hidden=no	elif test "$ld_vers_major" -eq 2 -a "$ld_vers_minor" -lt 12; then	  gcc_cv_ld_hidden="no"	elif test "$ld_vers_major" -eq 2 -a "$ld_vers_minor" -eq 12 -a "$ld_vers_patch" -eq 0; then	  gcc_cv_ld_hidden=no	fi      fi    fi  echo "ld version \"$ld_ver\" supports hidden: $gcc_cv_ld_hidden"}ld_hidden_check "GNU ld version 2.17"ld_hidden_check "GNU ld version 2.17.atmel.0.0.99"ld_hidden_check "GNU ld version 2.15.90.0.1.1"