summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authorwillchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-30 23:53:10 +0000
committerwillchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-30 23:53:10 +0000
commit138241facf9c08e9a4b65f5848d99741af863034 (patch)
tree4cebaf97fc053b36c2232a09f58d7a4fb49ac573 /build
parentfc86daaf7a7d54fe663824b08c0a142692bb5be8 (diff)
downloadchromium_src-138241facf9c08e9a4b65f5848d99741af863034.zip
chromium_src-138241facf9c08e9a4b65f5848d99741af863034.tar.gz
chromium_src-138241facf9c08e9a4b65f5848d99741af863034.tar.bz2
Disable executable stack on Linux.
BUG=29824 TEST= william@penguin:~/src/chromium2/src$ out/Debug/chrome --user-data-dir=/tmp/foo& [2] 28679 william@penguin:~/src/chromium2/src$ cat /proc/28679/maps | grep stack 7fff3fc4d000-7fff3fc63000 rw-p 00000000 00:00 0 [stack] william@penguin:~/src/chromium2/src$ eu-readelf -l out/Debug/chrome | grep STACK GNU_STACK 0x000000 0x0000000000000000 0x0000000000000000 0x000000 0x000000 RW 0x8 eu-readelf shows that the GNU_STACK segment indicates the stack should be RW (no X for execute). `cat/proc/{pid}/maps | grep stack` shows that the stack mapping is indeed RW (if the dynamic linker encounters a shared library that needs an executable stack, it will globally enable executable stacks. Review URL: http://codereview.chromium.org/1555002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43150 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'build')
-rw-r--r--build/common.gypi2
1 files changed, 1 insertions, 1 deletions
diff --git a/build/common.gypi b/build/common.gypi
index 06e166d..6774034 100644
--- a/build/common.gypi
+++ b/build/common.gypi
@@ -730,7 +730,7 @@
'-fvisibility-inlines-hidden',
],
'ldflags': [
- '-pthread',
+ '-pthread', '-Wl,-z,noexecstack',
],
'scons_variable_settings': {
'LIBPATH': ['$LIB_DIR'],