Check if GNU_RELRO segment is is generated
Fail if GNU_RELRO segment isn't generated, but should. * ld-elf/binutils.exp (binutils_test): Check if GNU_RELRO segment is generated.
This commit is contained in:
parent
1464e22146
commit
d345186d05
2 changed files with 30 additions and 1 deletions
|
@ -1,3 +1,8 @@
|
|||
2014-01-09 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* ld-elf/binutils.exp (binutils_test): Check if GNU_RELRO segment
|
||||
is generated.
|
||||
|
||||
2014-01-09 Vidya Praveen <vidyapraveen@arm.com>
|
||||
|
||||
* lib/ld-lib.exp (check_lto_shared_available): New check.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Expect script for binutils tests
|
||||
# Copyright 2006, 2007, 2008, 2009, 2010, 2012 Free Software Foundation, Inc.
|
||||
# Copyright 2006-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is part of the GNU Binutils.
|
||||
#
|
||||
|
@ -79,6 +79,30 @@ proc binutils_test { prog_name ld_options test {test_name ""}} {
|
|||
return
|
||||
}
|
||||
|
||||
if [string match "*-z relro*" $ld_options] {
|
||||
# Check if GNU_RELRO segment is generated.
|
||||
set got [remote_exec host "grep GNU_RELRO tmpdir/$test.exp"]
|
||||
if { ![string match "*GNU_RELRO*" $got] } then {
|
||||
set got [remote_exec host "cat tmpdir/$test.exp"]
|
||||
if { [string match "*.data.rel.ro*" $got]
|
||||
|| [string match "*.dynamic*" $got]
|
||||
|| [string match "*.got*" $got]
|
||||
|| [string match "*.eh_frame*" $got]
|
||||
|| [string match "*.gcc_except_table*" $got]
|
||||
|| [string match "*.exception_ranges*" $got]
|
||||
|| [string match "*.ctors*" $got]
|
||||
|| [string match "*.dtors*" $got]
|
||||
|| [string match "*.tdata*" $got]
|
||||
|| [string match "*.preinit_array*" $got]
|
||||
|| [string match "*.init_array*" $got]
|
||||
|| [string match "*.fini_array*" $got] } then {
|
||||
# Fail if GNU_RELRO segment isn't generated, but should.
|
||||
fail "$test_name"
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
send_log "$prog tmpdir/$test\n"
|
||||
set got [remote_exec host "$prog tmpdir/$test"]
|
||||
if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
|
||||
|
|
Loading…
Add table
Reference in a new issue