Home | History | Annotate | Download | only in ld-vax-elf
      1 # Expect script for VAX ELF linker tests
      2 #   Copyright (C) 2012-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 if { ![istarget vax-*-*] || ![is_elf_format] } {
     23     return
     24 }
     25 
     26 run_ld_link_tests [list \
     27     [list "PLT test (shared library)" \
     28 	  "-shared -T plt-local-lib.ld" "" \
     29 	  "-k" \
     30 	  { plt-local-lib.s } \
     31 	  { { objdump -d plt-local-lib.dd } } \
     32 	  "plt-local-lib.so"] \
     33     [list "PLT test (object 1)" \
     34 	  "-r" "" \
     35 	  "-k" \
     36 	  { plt-local-hidden-pic.s } \
     37 	  {} \
     38 	  "plt-local-hidden-pic-r.o"] \
     39     [list "PLT test (object 2)" \
     40 	  "-r" "" \
     41 	  "-k" \
     42 	  { plt-local-rehidden-pic.s } \
     43 	  {} \
     44 	  "plt-local-rehidden-pic-r.o"] \
     45     [list "PLT test (executable)" \
     46 	  "-T plt-local.ld tmpdir/plt-local-hidden-pic-r.o tmpdir/plt-local-rehidden-pic-r.o tmpdir/plt-local-lib.so" "" \
     47 	  "" \
     48 	  { plt-local.s } \
     49 	  { { objdump -d plt-local.dd } } \
     50 	  "plt-local"]]
     51 
     52 # Global offset table tests.  Make sure hidden symbols do not get GOT
     53 # assignments.
     54 run_ld_link_tests [list \
     55     [list "GOT test (auxiliary shared library)" \
     56 	  "-shared" "" \
     57 	  "-k" \
     58 	  { got-local-aux.s } \
     59 	  {} \
     60 	  "got-local-aux.so"] \
     61     [list "GOT test (object 1)" \
     62 	  "-r" "" \
     63 	  "-k" \
     64 	  { got-local-ref.s } \
     65 	  {} \
     66 	  "got-local-ref-r.o"] \
     67     [list "GOT test (object 2)" \
     68 	  "-r" "" \
     69 	  "-k" \
     70 	  { got-local-def.s } \
     71 	  {} \
     72 	  "got-local-def-r.o"] \
     73     [list "GOT test (executable)" \
     74 	  "-e 0 tmpdir/got-local-aux.so tmpdir/got-local-ref-r.o tmpdir/got-local-def-r.o" "" \
     75 	  "" \
     76 	  {} \
     77 	  { { readelf "-x .got" got-local-exe.xd } } \
     78 	  "got-local-exe"] \
     79     [list "GOT test (shared library)" \
     80 	  "-shared tmpdir/got-local-aux.so tmpdir/got-local-ref-r.o tmpdir/got-local-def-r.o" "" \
     81 	  "" \
     82 	  {} \
     83 	  { { readelf "-x .got" got-local-lib.xd } } \
     84 	  "got-local-lib.so"]]
     85 
     86 # Export class relocation tests.
     87 run_ld_link_tests [list \
     88     [list \
     89 	"VAX export class call relocation test" \
     90 	"-shared -Ttext 0x12340000 -T export-class.ld" "" \
     91 	"-k" \
     92 	[list export-class-call.s export-class-def.s] \
     93 	[list \
     94 	    [list objdump -d export-class-call.dd] \
     95 	    [list readelf -r export-class-call.rd] \
     96 	    [list readelf "-x .got" export-class-call.xd]] \
     97 	"export-class-call.so"] \
     98     [list \
     99 	"VAX export class data relocation test" \
    100 	"-shared -Ttext 0x12340000 -T export-class.ld" "" \
    101 	"-k" \
    102 	[list export-class-data.s export-class-def.s] \
    103 	[list \
    104 	    [list objdump -d export-class-data.dd] \
    105 	    [list readelf -r export-class-data.rd] \
    106 	    [list readelf "-x .got" export-class-data.xd]] \
    107 	"export-class-data.so"]]
    108