Browse Source
Sections_elements typedef public. * script-sections.cc (class Sort_output_sections): Add elements_ field. Add constructor which sets it; change all callers. (Sort_output_sections::is_before): New function. (Sort_output_sections::operator()): Call is_before. * configure.ac (NATIVE_OR_CROSS_LINKER): New automake conditional. * testsuite/script_test_10.sh: New test. Test script section order. * testsuite/script_test_10.t: Likewise. * testsuite/script_test_10.s: Likewise. * testsuite/Makefile.am: Wrap the cross linker tests and the common tests into NATIVE_OR_CROSS_LINKER. (check_SCRIPTS): Add script_test_10.sh. (check_DATA): Add script_test_10.stdout. (script_test_10.o, script_test_10): New targets. (script_test_10.stdout): New target. * configure, testsuite/Makefile.in: Regenerate.binutils-2_21-branch
10 changed files with 574 additions and 352 deletions
File diff suppressed because it is too large
@ -0,0 +1,14 @@ |
|||
.section .sec0, "a" |
|||
.word 0 |
|||
|
|||
.section .sec2, "a" |
|||
.word 0x22 |
|||
|
|||
.section .sec1, "a" |
|||
.word 0x11 |
|||
|
|||
.section .secz, "a" |
|||
|
|||
.section .sec3, "a" |
|||
.word 0x44 |
|||
|
|||
@ -0,0 +1,46 @@ |
|||
#!/bin/sh |
|||
|
|||
# script_test_10.sh -- test for the section order. |
|||
|
|||
# Copyright 2010 Free Software Foundation, Inc. |
|||
# Written by Viktor Kutuzov <vkutuzov@accesssoftek.com>. |
|||
|
|||
# This file is part of gold. |
|||
|
|||
# This program is free software; you can redistribute it and/or modify |
|||
# it under the terms of the GNU General Public License as published by |
|||
# the Free Software Foundation; either version 3 of the License, or |
|||
# (at your option) any later version. |
|||
|
|||
# This program is distributed in the hope that it will be useful, |
|||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
# GNU General Public License for more details. |
|||
|
|||
# You should have received a copy of the GNU General Public License |
|||
# along with this program; if not, write to the Free Software |
|||
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, |
|||
# MA 02110-1301, USA. |
|||
|
|||
check() |
|||
{ |
|||
if ! grep -q "$2" "$1" |
|||
then |
|||
echo "Did not find expected section in $1:" |
|||
echo " $2" |
|||
echo "" |
|||
echo "Actual output below:" |
|||
cat "$1" |
|||
exit 1 |
|||
fi |
|||
} |
|||
|
|||
check script_test_10.stdout ".*\[ 1\] .text" |
|||
check script_test_10.stdout ".*\[ 2\] .sec0" |
|||
check script_test_10.stdout ".*\[ 3\] .sec1" |
|||
check script_test_10.stdout ".*\[ 4\] .sec2" |
|||
check script_test_10.stdout ".*\[ 5\] .secz" |
|||
check script_test_10.stdout ".*\[ 6\] .sec3" |
|||
check script_test_10.stdout ".*\[ 7\] .data" |
|||
check script_test_10.stdout ".*\[ 8\] .bss" |
|||
|
|||
@ -0,0 +1,34 @@ |
|||
/* script_test_10.t -- test section order for gold. |
|||
|
|||
Copyright 2010 Free Software Foundation, Inc. |
|||
Written by Viktor Kutuzov <vkutuzov@accesssoftek.com>. |
|||
|
|||
This file is part of gold. |
|||
|
|||
This program is free software; you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation; either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
This program is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with this program; if not, write to the Free Software |
|||
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, |
|||
MA 02110-1301, USA. */ |
|||
|
|||
SECTIONS |
|||
{ |
|||
.text : { *(.text) } |
|||
.sec0 : { *(.sec0) } |
|||
.sec1 : { *(.sec1) } |
|||
.sec2 : { *(.sec2) } |
|||
.secz : { *(.secz) } |
|||
.sec3 : { *(.sec3) } |
|||
.data : { *(.data) } |
|||
.bss : { *(.bss) } |
|||
} |
|||
|
|||
Loading…
Reference in new issue