2008-03-21 Jan Kratochvil Fix random false FAILs on i386. * gdb.base/prelink.exp: Use `--no-exec-shield' for prelink. --- ./gdb/testsuite/gdb.base/prelink.exp 1 Jan 2008 22:53:19 -0000 1.7 +++ ./gdb/testsuite/gdb.base/prelink.exp 21 Mar 2008 20:09:59 -0000 @@ -47,7 +47,15 @@ if { [gdb_compile "${srcdir}/${subdir}/$ return -1 } -if {[catch "system \"prelink -qNR ${libfile}\""] != 0} { +# `--no-exec-shield' is for i386 where prelink in the exec-shield mode is +# forced to push all the libraries tight together to fit into the first two +# memory areas (either the ASCII Shield area or at least below the executable). +# In this case its -R option cannot be applied and we falsely FAIL here as if +# the system is already prelinked prelink has no choice how to randomize the +# single new unprelinked library address without wasting the first one/two +# memory areas. We do not care of the efficiency of loading such resulting +# exec-shield unfriendly prelinked library. +if {[catch "system \"prelink -qNR --no-exec-shield ${libfile}\""] != 0} { # Maybe we don't have prelink. return -1 } @@ -92,7 +100,7 @@ if {[catch "system \"prelink -uN ${libfi untested "${testfile}.so was not prelinked, maybe system libraries are not prelinked?" return 0 } -catch "system \"prelink -qNR ${libfile}\"" +catch "system \"prelink -qNR --no-exec-shield ${libfile}\"" # Start with a fresh gdb