Home | History | Annotate | Download | only in tests
      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