Home | History | Annotate | Download | only in ld-elf
      1 # Expect script for ELF compressed debug section tests.
      2 #   Copyright (C) 2010-2014 Free Software Foundation, Inc.
      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 
     24 if ![is_elf_format] {
     25     return
     26 }
     27 
     28 if ![is_zlib_supported] {
     29     return
     30 }
     31 
     32 # The following tests require running the executable generated by ld.
     33 if ![isnative] {
     34     return
     35 }
     36 
     37 # Check if compiler works
     38 if { [which $CC] == 0 } {
     39     return
     40 }
     41 
     42 global as
     43 if { ![ld_assemble $as "--compress-debug-sections $srcdir/$subdir/empty.s" tmpdir/empty.o ] } {
     44     unsupported "linker compressed debug sections"
     45 }
     46 
     47 set 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"}
     54 }
     55 
     56 set run_tests {
     57     {"Run normal with libfoo.so with compressed debug sections"
     58      "tmpdir/begin.o tmpdir/libfoo.so tmpdir/end.o" "-Wa,--compress-debug-sections"
     59      {main.c} "normal" "normal.out"}
     60 }
     61 
     62 run_cc_link_tests $build_tests
     63 run_ld_link_exec_tests [] $run_tests
     64