diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2008-01-12 05:27:10 +0200 |
---|---|---|
committer | Steve Peters <steve@fisharerojo.org> | 2008-01-12 03:13:55 +0000 |
commit | 1de7d430c3e295dfd482c700269ef72157f0fe82 (patch) | |
tree | 761fcec7804548ee110f90bb542ceca05ff4197f /hints/dec_osf.sh | |
parent | 83d8c2948ced54f03b61a7f8d341392ec3470d96 (diff) | |
download | perl-1de7d430c3e295dfd482c700269ef72157f0fe82.tar.gz |
tru64: poison stack, write protect string constants
Message-Id: <200801120127.m0C1RAZ6088857@kosh.hut.fi>
p4raw-id: //depot/perl@32966
Diffstat (limited to 'hints/dec_osf.sh')
-rw-r--r-- | hints/dec_osf.sh | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/hints/dec_osf.sh b/hints/dec_osf.sh index 4c1820064e..510537b8f4 100644 --- a/hints/dec_osf.sh +++ b/hints/dec_osf.sh @@ -518,6 +518,27 @@ case "$LD_LIBRARY_PATH" in * ) export LD_LIBRARY_PATH ;; esac +# Enforce strict data. +case "$isgcc" in +gcc) ;; +*) # -trapuv poisons uninitialized stack with + # 0xfff58005fff58005 which is as a pointer a segmentation fault and + # as a floating point a signaling NaN. As integers/longs that causes + # no traps but at least it is not zero. + # -readonly_strings moves string constants into read-only section + # which hopefully means that modifying them leads into segmentation + # faults. + # + for i in -trapuv -readonly_strings + do + case "$ccflags" in + *$i*) ;; + *) ccflags="$ccflags $i" ;; + esac + done + ;; +esac + # # Unset temporary variables no more needed. # |