Module Name: src Committed By: christos Date: Wed Nov 12 02:15:58 UTC 2014
Modified Files: src/sys/conf: mkldscript.sh Log Message: I don't know what was using this before (but it did not work since it did not produce valid LDSCRIPT code) and now it does. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/sys/conf/mkldscript.sh Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/conf/mkldscript.sh diff -u src/sys/conf/mkldscript.sh:1.1 src/sys/conf/mkldscript.sh:1.2 --- src/sys/conf/mkldscript.sh:1.1 Sat Mar 3 21:35:49 2007 +++ src/sys/conf/mkldscript.sh Tue Nov 11 21:15:58 2014 @@ -1,15 +1,21 @@ #!/bin/sh -# $NetBSD: mkldscript.sh,v 1.1 2007/03/04 02:35:49 tsutsui Exp $ +# $NetBSD: mkldscript.sh,v 1.2 2014/11/12 02:15:58 christos Exp $ -TEMPLATE=$1 +TEMPLATE="$1" shift -SETS=`$OBJDUMP -x $* | fgrep "RELOCATION RECORDS FOR [link_set" | \ - sort -u | sed 's/^.*\[\(.*\)\]:$/\1/'` +mksets() { + "${OBJDUMP:-objdump}" -x "$@" | fgrep "RELOCATION RECORDS FOR [link_set" | \ + sort -u | sed 's/^.*\[\(.*\)\]:$/\1/' +} +SETS=$(mksets "$@") + +grep -v '^}$' "$TEMPLATE" for s in $SETS; do - printf " . = ALIGN(4);\n" - printf " PROVIDE (__start_%s = .);\n" $s - printf " *(%s)\n" $s - printf " PROVIDE (__stop_%s = .);\n" $s -done + printf ' . = ALIGN(4);\n' + printf ' PROVIDE (__start_%s = .);\n' $s + printf ' %s : { *(%s) }\n' $s $s + printf ' PROVIDE (__stop_%s = .);\n' $s +done +printf '}\n'