1 #! /bin/sh 2 # Copyright (C) 2015 Red Hat, Inc. 3 # This file is part of elfutils. 4 # 5 # This file is free software; you can redistribute it and/or modify 6 # it under the terms of the GNU General Public License as published by 7 # the Free Software Foundation; either version 3 of the License, or 8 # (at your option) any later version. 9 # 10 # elfutils is distributed in the hope that it will be useful, but 11 # WITHOUT ANY WARRANTY; without even the implied warranty of 12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 # GNU General Public License for more details. 14 # 15 # You should have received a copy of the GNU General Public License 16 # along with this program. If not, see <http://www.gnu.org/licenses/>. 17 18 . $srcdir/test-subr.sh 19 20 # Random ELF32 testfile 21 testfiles testfile4 22 23 testrun_compare ${abs_top_builddir}/tests/elfputzdata gnu testfile4 <<\EOF 24 Cannot compress 1 .interp 25 Cannot compress 2 .note.ABI-tag 26 Cannot compress 3 .hash 27 Cannot compress 4 .dynsym 28 Cannot compress 5 .dynstr 29 Cannot compress 6 .gnu.version 30 Cannot compress 7 .gnu.version_r 31 Cannot compress 8 .rel.got 32 Cannot compress 9 .rel.plt 33 Cannot compress 10 .init 34 Cannot compress 11 .plt 35 Cannot compress 12 .text 36 Cannot compress 13 .fini 37 Cannot compress 14 .rodata 38 Cannot compress 15 .data 39 Cannot compress 16 .eh_frame 40 Cannot compress 17 .gcc_except_table 41 Cannot compress 18 .ctors 42 Cannot compress 19 .dtors 43 Cannot compress 20 .got 44 Cannot compress 21 .dynamic 45 Lets compress 22 .sbss, size: 0 46 Cannot compress 23 .bss 47 Lets compress 24 .stab, size: 21540 48 Lets compress 25 .stabstr, size: 57297 49 Lets compress 26 .comment, size: 648 50 Lets compress 27 .debug_aranges, size: 56 51 Lets compress 28 .debug_pubnames, size: 93 52 Lets compress 29 .debug_info, size: 960 53 Lets compress 30 .debug_abbrev, size: 405 54 Lets compress 31 .debug_line, size: 189 55 Lets compress 32 .note, size: 240 56 Lets compress 33 .shstrtab, size: 320 57 Lets compress 34 .symtab, size: 5488 58 Lets compress 35 .strtab, size: 5727 59 EOF 60 61 testrun_compare ${abs_top_builddir}/tests/elfputzdata elf testfile4 <<\EOF 62 Cannot compress 1 .interp 63 Cannot compress 2 .note.ABI-tag 64 Cannot compress 3 .hash 65 Cannot compress 4 .dynsym 66 Cannot compress 5 .dynstr 67 Cannot compress 6 .gnu.version 68 Cannot compress 7 .gnu.version_r 69 Cannot compress 8 .rel.got 70 Cannot compress 9 .rel.plt 71 Cannot compress 10 .init 72 Cannot compress 11 .plt 73 Cannot compress 12 .text 74 Cannot compress 13 .fini 75 Cannot compress 14 .rodata 76 Cannot compress 15 .data 77 Cannot compress 16 .eh_frame 78 Cannot compress 17 .gcc_except_table 79 Cannot compress 18 .ctors 80 Cannot compress 19 .dtors 81 Cannot compress 20 .got 82 Cannot compress 21 .dynamic 83 Lets compress 22 .sbss, size: 0 84 Cannot compress 23 .bss 85 Lets compress 24 .stab, size: 21540 86 Lets compress 25 .stabstr, size: 57297 87 Lets compress 26 .comment, size: 648 88 Lets compress 27 .debug_aranges, size: 56 89 Lets compress 28 .debug_pubnames, size: 93 90 Lets compress 29 .debug_info, size: 960 91 Lets compress 30 .debug_abbrev, size: 405 92 Lets compress 31 .debug_line, size: 189 93 Lets compress 32 .note, size: 240 94 Lets compress 33 .shstrtab, size: 320 95 Lets compress 34 .symtab, size: 5488 96 Lets compress 35 .strtab, size: 5727 97 EOF 98 99 # Random ELF64 testfile 100 testfiles testfile12 101 102 testrun_compare ${abs_top_builddir}/tests/elfputzdata gnu testfile12 <<\EOF 103 Cannot compress 1 .hash 104 Cannot compress 2 .dynsym 105 Cannot compress 3 .dynstr 106 Cannot compress 4 .gnu.version 107 Cannot compress 5 .gnu.version_r 108 Cannot compress 6 .rela.dyn 109 Cannot compress 7 .rela.plt 110 Cannot compress 8 .init 111 Cannot compress 9 .plt 112 Cannot compress 10 .text 113 Cannot compress 11 .fini 114 Cannot compress 12 .rodata 115 Cannot compress 13 .eh_frame_hdr 116 Cannot compress 14 .eh_frame 117 Cannot compress 15 .data 118 Cannot compress 16 .dynamic 119 Cannot compress 17 .ctors 120 Cannot compress 18 .dtors 121 Cannot compress 19 .jcr 122 Cannot compress 20 .got 123 Cannot compress 21 .bss 124 Lets compress 22 .comment, size: 246 125 Lets compress 23 .debug_aranges, size: 192 126 Lets compress 24 .debug_pubnames, size: 26 127 Lets compress 25 .debug_info, size: 3468 128 Lets compress 26 .debug_abbrev, size: 341 129 Lets compress 27 .debug_line, size: 709 130 Lets compress 28 .debug_frame, size: 56 131 Lets compress 29 .debug_str, size: 2235 132 Lets compress 30 .debug_macinfo, size: 10518 133 Lets compress 31 .shstrtab, size: 308 134 Lets compress 32 .symtab, size: 1944 135 Lets compress 33 .strtab, size: 757 136 EOF 137 138 testrun_compare ${abs_top_builddir}/tests/elfputzdata elf testfile12 <<\EOF 139 Cannot compress 1 .hash 140 Cannot compress 2 .dynsym 141 Cannot compress 3 .dynstr 142 Cannot compress 4 .gnu.version 143 Cannot compress 5 .gnu.version_r 144 Cannot compress 6 .rela.dyn 145 Cannot compress 7 .rela.plt 146 Cannot compress 8 .init 147 Cannot compress 9 .plt 148 Cannot compress 10 .text 149 Cannot compress 11 .fini 150 Cannot compress 12 .rodata 151 Cannot compress 13 .eh_frame_hdr 152 Cannot compress 14 .eh_frame 153 Cannot compress 15 .data 154 Cannot compress 16 .dynamic 155 Cannot compress 17 .ctors 156 Cannot compress 18 .dtors 157 Cannot compress 19 .jcr 158 Cannot compress 20 .got 159 Cannot compress 21 .bss 160 Lets compress 22 .comment, size: 246 161 Lets compress 23 .debug_aranges, size: 192 162 Lets compress 24 .debug_pubnames, size: 26 163 Lets compress 25 .debug_info, size: 3468 164 Lets compress 26 .debug_abbrev, size: 341 165 Lets compress 27 .debug_line, size: 709 166 Lets compress 28 .debug_frame, size: 56 167 Lets compress 29 .debug_str, size: 2235 168 Lets compress 30 .debug_macinfo, size: 10518 169 Lets compress 31 .shstrtab, size: 308 170 Lets compress 32 .symtab, size: 1944 171 Lets compress 33 .strtab, size: 757 172 EOF 173 174 # Random ELF64BE testfile 175 testfiles testfileppc64 176 177 testrun_compare ${abs_top_builddir}/tests/elfputzdata gnu testfileppc64 <<\EOF 178 Cannot compress 1 .interp 179 Cannot compress 2 .note.ABI-tag 180 Cannot compress 3 .note.gnu.build-id 181 Cannot compress 4 .gnu.hash 182 Cannot compress 5 .dynsym 183 Cannot compress 6 .dynstr 184 Cannot compress 7 .gnu.version 185 Cannot compress 8 .gnu.version_r 186 Cannot compress 9 .rela.plt 187 Cannot compress 10 .init 188 Cannot compress 11 .text 189 Cannot compress 12 .fini 190 Cannot compress 13 .rodata 191 Cannot compress 14 .eh_frame_hdr 192 Cannot compress 15 .eh_frame 193 Cannot compress 16 .init_array 194 Cannot compress 17 .fini_array 195 Cannot compress 18 .jcr 196 Cannot compress 19 .dynamic 197 Cannot compress 20 .data 198 Cannot compress 21 .opd 199 Cannot compress 22 .got 200 Cannot compress 23 .plt 201 Cannot compress 24 .bss 202 Lets compress 25 .comment, size: 88 203 Lets compress 26 .debug_aranges, size: 96 204 Lets compress 27 .debug_info, size: 363 205 Lets compress 28 .debug_abbrev, size: 315 206 Lets compress 29 .debug_line, size: 119 207 Lets compress 30 .debug_frame, size: 96 208 Lets compress 31 .debug_str, size: 174 209 Lets compress 32 .debug_loc, size: 171 210 Lets compress 33 .debug_ranges, size: 32 211 Lets compress 34 .shstrtab, size: 352 212 Lets compress 35 .symtab, size: 1800 213 Lets compress 36 .strtab, size: 602 214 EOF 215 216 testrun_compare ${abs_top_builddir}/tests/elfputzdata elf testfileppc64 <<\EOF 217 Cannot compress 1 .interp 218 Cannot compress 2 .note.ABI-tag 219 Cannot compress 3 .note.gnu.build-id 220 Cannot compress 4 .gnu.hash 221 Cannot compress 5 .dynsym 222 Cannot compress 6 .dynstr 223 Cannot compress 7 .gnu.version 224 Cannot compress 8 .gnu.version_r 225 Cannot compress 9 .rela.plt 226 Cannot compress 10 .init 227 Cannot compress 11 .text 228 Cannot compress 12 .fini 229 Cannot compress 13 .rodata 230 Cannot compress 14 .eh_frame_hdr 231 Cannot compress 15 .eh_frame 232 Cannot compress 16 .init_array 233 Cannot compress 17 .fini_array 234 Cannot compress 18 .jcr 235 Cannot compress 19 .dynamic 236 Cannot compress 20 .data 237 Cannot compress 21 .opd 238 Cannot compress 22 .got 239 Cannot compress 23 .plt 240 Cannot compress 24 .bss 241 Lets compress 25 .comment, size: 88 242 Lets compress 26 .debug_aranges, size: 96 243 Lets compress 27 .debug_info, size: 363 244 Lets compress 28 .debug_abbrev, size: 315 245 Lets compress 29 .debug_line, size: 119 246 Lets compress 30 .debug_frame, size: 96 247 Lets compress 31 .debug_str, size: 174 248 Lets compress 32 .debug_loc, size: 171 249 Lets compress 33 .debug_ranges, size: 32 250 Lets compress 34 .shstrtab, size: 352 251 Lets compress 35 .symtab, size: 1800 252 Lets compress 36 .strtab, size: 602 253 EOF 254 255 # Random ELF32BE testfile 256 testfiles testfileppc32 257 258 testrun_compare ${abs_top_builddir}/tests/elfputzdata gnu testfileppc32 <<\EOF 259 Cannot compress 1 .interp 260 Cannot compress 2 .note.ABI-tag 261 Cannot compress 3 .note.gnu.build-id 262 Cannot compress 4 .gnu.hash 263 Cannot compress 5 .dynsym 264 Cannot compress 6 .dynstr 265 Cannot compress 7 .gnu.version 266 Cannot compress 8 .gnu.version_r 267 Cannot compress 9 .rela.dyn 268 Cannot compress 10 .rela.plt 269 Cannot compress 11 .init 270 Cannot compress 12 .text 271 Cannot compress 13 .fini 272 Cannot compress 14 .rodata 273 Cannot compress 15 .eh_frame_hdr 274 Cannot compress 16 .eh_frame 275 Cannot compress 17 .init_array 276 Cannot compress 18 .fini_array 277 Cannot compress 19 .jcr 278 Cannot compress 20 .got2 279 Cannot compress 21 .dynamic 280 Cannot compress 22 .got 281 Cannot compress 23 .plt 282 Cannot compress 24 .data 283 Cannot compress 25 .sdata 284 Cannot compress 26 .bss 285 Lets compress 27 .comment, size: 88 286 Lets compress 28 .debug_aranges, size: 64 287 Lets compress 29 .debug_info, size: 319 288 Lets compress 30 .debug_abbrev, size: 318 289 Lets compress 31 .debug_line, size: 109 290 Lets compress 32 .debug_frame, size: 64 291 Lets compress 33 .debug_str, size: 179 292 Lets compress 34 .debug_loc, size: 99 293 Lets compress 35 .debug_ranges, size: 16 294 Lets compress 36 .shstrtab, size: 370 295 Lets compress 37 .symtab, size: 1232 296 Lets compress 38 .strtab, size: 569 297 EOF 298 299 testrun_compare ${abs_top_builddir}/tests/elfputzdata elf testfileppc32 <<\EOF 300 Cannot compress 1 .interp 301 Cannot compress 2 .note.ABI-tag 302 Cannot compress 3 .note.gnu.build-id 303 Cannot compress 4 .gnu.hash 304 Cannot compress 5 .dynsym 305 Cannot compress 6 .dynstr 306 Cannot compress 7 .gnu.version 307 Cannot compress 8 .gnu.version_r 308 Cannot compress 9 .rela.dyn 309 Cannot compress 10 .rela.plt 310 Cannot compress 11 .init 311 Cannot compress 12 .text 312 Cannot compress 13 .fini 313 Cannot compress 14 .rodata 314 Cannot compress 15 .eh_frame_hdr 315 Cannot compress 16 .eh_frame 316 Cannot compress 17 .init_array 317 Cannot compress 18 .fini_array 318 Cannot compress 19 .jcr 319 Cannot compress 20 .got2 320 Cannot compress 21 .dynamic 321 Cannot compress 22 .got 322 Cannot compress 23 .plt 323 Cannot compress 24 .data 324 Cannot compress 25 .sdata 325 Cannot compress 26 .bss 326 Lets compress 27 .comment, size: 88 327 Lets compress 28 .debug_aranges, size: 64 328 Lets compress 29 .debug_info, size: 319 329 Lets compress 30 .debug_abbrev, size: 318 330 Lets compress 31 .debug_line, size: 109 331 Lets compress 32 .debug_frame, size: 64 332 Lets compress 33 .debug_str, size: 179 333 Lets compress 34 .debug_loc, size: 99 334 Lets compress 35 .debug_ranges, size: 16 335 Lets compress 36 .shstrtab, size: 370 336 Lets compress 37 .symtab, size: 1232 337 Lets compress 38 .strtab, size: 569 338 EOF 339 340 exit 0 341