# Expect script for RISC-V ELF linker tests # Copyright (C) 2017 Free Software Foundation, Inc. # # This file is part of the GNU Binutils. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, # MA 02110-1301, USA. # if [istarget "riscv*-*-*"] { run_dump_test "c-lui" set abis { rv32gc ilp32 elf32lriscv rv64gc lp64 elf64lriscv } foreach { arch abi emul } $abis { # This checks whether our linker scripts handle __global_pointer$ # correctly. It should be defined in executables and PIE, but not # in shared libraries. set suff64 [string map {ilp32 "" lp64 -64} $abi] run_ld_link_tests [list \ [list "gp test ($abi shared library)" \ "-m$emul -shared" "" \ "-march=$arch -mabi=$abi -fpic" \ { gp-test.s } \ [list "readelf --syms gp-test-lib.sd"] \ "gp-test-lib-${abi}.so"] \ [list "gp test ($abi executable)" \ "-m$emul" "" \ "-march=$arch -mabi=$abi" \ { gp-test.s } \ [list "readelf --syms gp-test.sd"] \ "gp-test-${abi}"]] } }