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 # = funcs.s =
     21 # .globl testfunc
     22 # testfunc:
     23 # 	nop
     24 # 	ret
     25 # .type testfunc, @function
     26 # .size testfunc, .-testfunc
     27 #
     28 # .globl testfunc2
     29 # testfunc2:
     30 # 	call testfunc
     31 # 	nop
     32 # 	nop
     33 # 	ret
     34 # .type testfunc2, @function
     35 # .size testfunc2, .-testfunc2
     36 #
     37 # .globl functest3
     38 # functest3:
     39 # 	jmp local
     40 # 	nop
     41 # 	nop
     42 # local:
     43 # 	call testfunc2
     44 # 	ret
     45 # .type functest3, @function
     46 # .size functest3, .-functest3
     47 
     48 # = start.s =
     49 # .global _start
     50 # _start:
     51 # 	call functest3
     52 # 	nop
     53 # 	nop
     54 # 	nop
     55 # 	nop
     56 # 	nop
     57 # 	nop
     58 # 	nop
     59 # 	nop
     60 # 	nop
     61 # 	nop
     62 # 	nop
     63 # 	nop
     64 # 	nop
     65 # 	nop
     66 # 	nop
     67 # 	nop
     68 # 	ret
     69 # .type _start, @function
     70 # .size _start, .-_start
     71 
     72 # gas --compress-debug-sections=zlib-gnu -32 -g -o start.o start.s
     73 # gas --compress-debug-sections=zlib-gnu -32 -g -o funcs.o funcs.s
     74 # ld --compress-debug-sections=zlib-gnu -melf_i386 -g -o zgnu32 funcs.o start.o
     75 
     76 # gas --compress-debug-sections=zlib-gnu -64 -g -o start.o start.s
     77 # gas --compress-debug-sections=zlib-gnu -64 -g -o funcs.o funcs.s
     78 # ld --compress-debug-sections=zlib-gnu -g -o zgnu64 funcs.o start.o
     79 
     80 # gas --compress-debug-sections=zlib-gabi -32 -g -o start.o start.s
     81 # gas --compress-debug-sections=zlib-gabi -32 -g -o funcs.o funcs.s
     82 # ld --compress-debug-sections=zlib-gabi -melf_i386 -g -o zgabi32 funcs.o start.o
     83 
     84 # gas --compress-debug-sections=zlib-gabi -64 -g -o start.o start.s
     85 # gas --compress-debug-sections=zlib-gabi -64 -g -o funcs.o funcs.s
     86 # ld --compress-debug-sections=zlib-gabi -g -o zgabi64 funcs.o start.o
     87 
     88 testfiles testfile-zgnu64
     89 testrun_compare ${abs_top_builddir}/tests/elfgetchdr testfile-zgnu64 <<\EOF
     90 section 1: NOT Compressed
     91 section 2: GNU Compressed size: 60
     92 section 3: GNU Compressed size: aa
     93 section 4: NOT Compressed
     94 section 5: GNU Compressed size: 8d
     95 section 6: NOT Compressed
     96 section 7: NOT Compressed
     97 section 8: NOT Compressed
     98 EOF
     99 
    100 testfiles testfile-zgabi64
    101 testrun_compare ${abs_top_builddir}/tests/elfgetchdr testfile-zgabi64 <<\EOF
    102 section 1: NOT Compressed
    103 section 2: ELF Compressed ch_type: 1, ch_size: 60, ch_addralign: 10
    104 section 3: ELF Compressed ch_type: 1, ch_size: aa, ch_addralign: 1
    105 section 4: NOT Compressed
    106 section 5: ELF Compressed ch_type: 1, ch_size: 8d, ch_addralign: 1
    107 section 6: NOT Compressed
    108 section 7: NOT Compressed
    109 section 8: NOT Compressed
    110 EOF
    111 
    112 testfiles testfile-zgnu32
    113 testrun_compare ${abs_top_builddir}/tests/elfgetchdr testfile-zgnu32 <<\EOF
    114 section 1: NOT Compressed
    115 section 2: GNU Compressed size: 40
    116 section 3: GNU Compressed size: 9a
    117 section 4: NOT Compressed
    118 section 5: GNU Compressed size: 85
    119 section 6: NOT Compressed
    120 section 7: NOT Compressed
    121 section 8: NOT Compressed
    122 EOF
    123 
    124 testfiles testfile-zgabi32
    125 testrun_compare ${abs_top_builddir}/tests/elfgetchdr testfile-zgabi32 <<\EOF
    126 section 1: NOT Compressed
    127 section 2: ELF Compressed ch_type: 1, ch_size: 40, ch_addralign: 8
    128 section 3: ELF Compressed ch_type: 1, ch_size: 9a, ch_addralign: 1
    129 section 4: NOT Compressed
    130 section 5: ELF Compressed ch_type: 1, ch_size: 85, ch_addralign: 1
    131 section 6: NOT Compressed
    132 section 7: NOT Compressed
    133 section 8: NOT Compressed
    134 EOF
    135 
    136 testfiles testfile-zgnu64be
    137 testrun_compare ${abs_top_builddir}/tests/elfgetchdr testfile-zgnu64be <<\EOF
    138 section 1: NOT Compressed
    139 section 2: NOT Compressed
    140 section 3: GNU Compressed size: 60
    141 section 4: GNU Compressed size: 7e
    142 section 5: NOT Compressed
    143 section 6: GNU Compressed size: 8d
    144 section 7: NOT Compressed
    145 section 8: NOT Compressed
    146 section 9: NOT Compressed
    147 EOF
    148 
    149 testfiles testfile-zgabi64be
    150 testrun_compare ${abs_top_builddir}/tests/elfgetchdr testfile-zgabi64be <<\EOF
    151 section 1: NOT Compressed
    152 section 2: NOT Compressed
    153 section 3: ELF Compressed ch_type: 1, ch_size: 60, ch_addralign: 10
    154 section 4: ELF Compressed ch_type: 1, ch_size: 7e, ch_addralign: 1
    155 section 5: NOT Compressed
    156 section 6: ELF Compressed ch_type: 1, ch_size: 8d, ch_addralign: 1
    157 section 7: NOT Compressed
    158 section 8: NOT Compressed
    159 section 9: NOT Compressed
    160 EOF
    161 
    162 testfiles testfile-zgnu32be
    163 testrun_compare ${abs_top_builddir}/tests/elfgetchdr testfile-zgnu32be <<\EOF
    164 section 1: NOT Compressed
    165 section 2: NOT Compressed
    166 section 3: GNU Compressed size: 40
    167 section 4: GNU Compressed size: 6e
    168 section 5: NOT Compressed
    169 section 6: GNU Compressed size: 85
    170 section 7: NOT Compressed
    171 section 8: NOT Compressed
    172 section 9: NOT Compressed
    173 EOF
    174 
    175 testfiles testfile-zgabi32be
    176 testrun_compare ${abs_top_builddir}/tests/elfgetchdr testfile-zgabi32be <<\EOF
    177 section 1: NOT Compressed
    178 section 2: NOT Compressed
    179 section 3: ELF Compressed ch_type: 1, ch_size: 40, ch_addralign: 8
    180 section 4: ELF Compressed ch_type: 1, ch_size: 6e, ch_addralign: 1
    181 section 5: NOT Compressed
    182 section 6: ELF Compressed ch_type: 1, ch_size: 85, ch_addralign: 1
    183 section 7: NOT Compressed
    184 section 8: NOT Compressed
    185 section 9: NOT Compressed
    186 EOF
    187 
    188 exit 0
    189