Brian Silverman | 8649792 | 2018-02-10 19:28:39 -0500 | [diff] [blame] | 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 |