3 # plugin_final_layout.sh -- test
5 # Copyright (C) 2011-2019 Free Software Foundation, Inc.
6 # Written by Sriraman Tallam <tmsriram@google.com>.
8 # This file is part of gold.
10 # This program is free software; you can redistribute it and/or modify
11 # it under the terms of the GNU General Public License as published by
12 # the Free Software Foundation; either version 3 of the License, or
13 # (at your option) any later version.
15 # This program is distributed in the hope that it will be useful,
16 # but WITHOUT ANY WARRANTY; without even the implied warranty of
17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 # GNU General Public License for more details.
20 # You should have received a copy of the GNU General Public License
21 # along with this program; if not, write to the Free Software
22 # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
25 # The goal of this program is to verify if --section-ordering-file works as
26 # intended. File plugin_final_layout.cc is in this test.
34 BEGIN { saw1 = 0; saw2 = 0; err = 0; }
35 /.*$2\$/ { saw1 = 1; }
40 printf \"layout of $2 and $3 is not right in file $1\\n\";
48 printf \"did not see $2 in file $1\\n\";
53 printf \"did not see $3 in file $1\\n\";
59 # With readelf -l, an ELF Section to Segment mapping is printed as :
60 ##############################################
61 # Section to Segment mapping:
64 # 0x .text.plugin_created_unique
66 ##############################################
67 # Check of .text.plugin_created_unique is the only section in the segment.
68 check_unique_segment
()
71 BEGIN { saw_section = 0; saw_unique = 0; }
72 /$2/ { saw_section = 1; }
73 /[ ]*0[0-9][ ]*$2[ ]*\$/ { saw_unique = 1; }
77 printf \"Section $2 not seen in output file $1\\n\";
82 printf \"Unique segment not seen for: $2 in file $1\\n\";
88 check plugin_final_layout.stdout
"_Z3foov" "_Z3barv"
89 check plugin_final_layout.stdout
"_Z3barv" "_Z3bazv"
90 check_unique_segment plugin_final_layout_readelf.stdout
".text.plugin_created_unique"
92 check plugin_layout_new_file.stdout
"_Z3foov" "_Z3barv"
93 check plugin_layout_new_file.stdout
"_Z3barv" "_Z3bazv"
94 check_unique_segment plugin_layout_new_file_readelf.stdout
".text.plugin_created_unique"