]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - ld/testsuite/ld-elf/compress.exp
Add SHF_COMPRESSED support to gas and objcopy
[thirdparty/binutils-gdb.git] / ld / testsuite / ld-elf / compress.exp
CommitLineData
4a114e3e 1# Expect script for ELF compressed debug section tests.
b90efa5b 2# Copyright (C) 2010-2015 Free Software Foundation, Inc.
4a114e3e
L
3#
4# This file is part of the GNU Binutils.
5#
6# This program is free software; you can redistribute it and/or modify
7# it under the terms of the GNU General Public License as published by
8# the Free Software Foundation; either version 3 of the License, or
9# (at your option) any later version.
10#
11# This program is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14# GNU General Public License for more details.
15#
16# You should have received a copy of the GNU General Public License
17# along with this program; if not, write to the Free Software
18# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
19# MA 02110-1301, USA.
20#
21
22# Exclude non-ELF targets.
23
24if ![is_elf_format] {
25 return
26}
27
28# The following tests require running the executable generated by ld.
29if ![isnative] {
30 return
31}
32
33# Check if compiler works
34if { [which $CC] == 0 } {
35 return
36}
37
38global as
39if { ![ld_assemble $as "--compress-debug-sections $srcdir/$subdir/empty.s" tmpdir/empty.o ] } {
dae148f3 40 fail "linker compressed debug sections"
4a114e3e
L
41}
42
151411f8
L
43if { ![ld_assemble $as "--compress-debug-sections=zlib-gabi $srcdir/$subdir/empty.s" tmpdir/emptyzlib.o ] } {
44 fail "linker compressed debug sections"
45}
46
4a114e3e
L
47set build_tests {
48 {"Build libfoo.so with compressed debug sections"
49 "-shared" "-fPIC -g -Wa,--compress-debug-sections"
50 {foo.c} {} "libfoo.so"}
51 {"Build libbar.so with compressed debug sections"
52 "-shared" "-fPIC -g -Wa,--compress-debug-sections"
53 {begin.c end.c} {} "libbar.so"}
151411f8
L
54 {"Build libfoozlib.so with compressed debug sections with zlib-gabi"
55 "-shared" "-fPIC -g -Wa,--compress-debug-sections=zlib-gabi"
56 {foo.c} {} "libfoozlib.so"}
57 {"Build libbarzlib.so with compressed debug sections with zlib-gabi"
58 "-shared" "-fPIC -g -Wa,--compress-debug-sections=zlib-gabi"
59 {begin.c end.c} {} "libbarzlib.so"}
4a114e3e
L
60}
61
62set run_tests {
63 {"Run normal with libfoo.so with compressed debug sections"
151411f8
L
64 "tmpdir/begin.o tmpdir/libfoo.so tmpdir/end.o" ""
65 {main.c} "normal" "normal.out" "-Wa,--compress-debug-sections"}
66 {"Run normal with libfoo.so with compressed debug sections with zlib-gabi"
67 "tmpdir/begin.o tmpdir/libfoozlib.so tmpdir/end.o" ""
68 {main.c} "normal" "normal.out" "-Wa,--compress-debug-sections=zlib-gabi"}
4a114e3e
L
69}
70
71run_cc_link_tests $build_tests
72run_ld_link_exec_tests [] $run_tests
151411f8
L
73
74set test_name "Link with zlib-gabi compressed debug input"
75send_log "cmp tmpdir/libfoo.so tmpdir/libfoozlib.so\n"
76if { [catch {exec cmp tmpdir/libfoo.so tmpdir/libfoozlib.so}] } then {
77 send_log "tmpdir/libfoo.so tmpdir/libfoozlib.so differ.\n"
78 fail "$test_name"
79} else {
80 pass "$test_name"
81}