You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
984 B
55 lines
984 B
Remove unneeded executable stack
|
|
|
|
Assembly routines in libthread and libmp use an executable stack by
|
|
default. This is not needed and can be removed using --noexecstack.
|
|
|
|
The plan9port 9a wrapper wrapper needs to be modified to pass flags to the
|
|
underlying assembler first though..
|
|
|
|
Patch by Andy Spencer
|
|
|
|
http://code.swtch.com/plan9port/issue/76/
|
|
--- a/bin/9a
|
|
+++ b/bin/9a
|
|
@@ -1,10 +1,5 @@
|
|
#!/bin/sh
|
|
|
|
-if [ $# != 1 ]; then
|
|
- echo 'usage: 9a file.s' 1>&2
|
|
- exit 1
|
|
-fi
|
|
-
|
|
test -f $PLAN9/config && . $PLAN9/config
|
|
|
|
aflags=""
|
|
@@ -17,5 +12,16 @@ Darwin-*x86_64*)
|
|
;;
|
|
esac
|
|
|
|
-out=`echo $1 | sed 's/\.s$//;s/$/.o/'`
|
|
-exec as $aflags -o $out $1
|
|
+for arg; do
|
|
+ case $arg in
|
|
+ -*)
|
|
+ opts="$opts $arg"
|
|
+ ;;
|
|
+ *.s)
|
|
+ src=$arg
|
|
+ dst=$(echo $arg | sed 's/\.s/\.o/')
|
|
+ ;;
|
|
+ esac
|
|
+done
|
|
+
|
|
+exec as $aflags $opts -o $dst $src
|
|
--- a/src/mkhdr
|
|
+++ b/src/mkhdr
|
|
@@ -30,7 +30,7 @@ AR=9ar
|
|
INSTALL=install
|
|
CFLAGS=
|
|
LDFLAGS=
|
|
-AFLAGS=
|
|
+AFLAGS=--noexecstack
|
|
CLEANFILES=
|
|
NUKEFILES=
|
|
YACC=9 yacc
|