# Expect script for --build-id tests. # Copyright (C) 2021-2024 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. # # Exclude non-ELF targets. if ![is_elf_format] { return } if { [istarget frv-*-*] || [istarget lm32-*-*] } { return } if { !([istarget *-*-linux*] || [istarget arm*-*-uclinuxfdpiceabi] || [istarget *-*-nacl*] || [istarget *-*-gnu*]) } then { return } set stylelist {"" "--build-id" "--build-id=none" "--build-id=md5" "--build-id=sha1" "--build-id=guid" "--build-id=0xdeadbeef"} run_ld_link_tests { { "pr28639a.o" "-r --build-id=md5" "" "" {start.s} {{readelf {--notes} pr28639a.rd}} "pr28639a.o" } { "pr28639b.o" "-r --build-id" "" "" {dummy.s} {{readelf {--notes} pr28639b.rd}} "pr28639b.o" } { "pr28639a.o deadbeef" "-r --build-id=0xdeadbeef" "" "" {start.s} {{readelf {--notes} pr28639e.rd}} "pr28639a.o" } { "pr28639a" "--build-id tmpdir/pr28639a.o tmpdir/pr28639b.o" "" "" {dummy.s} {{readelf {--notes} pr28639b.rd} {readelf {--notes} pr28639c.rd}} "pr28639a" } { "pr28639b" "--build-id=none tmpdir/pr28639a.o tmpdir/pr28639b.o" "" "" {dummy.s} {{readelf {--notes} pr28639d.rd}} "pr28639b" } } # see if linker supports xx style also catch "exec $ld --help | grep -A2 -- --build-id | grep Styles" tmp if {[string first ",xx," $tmp] >= 0} then { run_ld_link_tests { { "pr28639a.o xx" "-r --build-id=xx" "" "" {start.s} {{readelf {--notes} pr28639a.rd}} # 16 bytes "pr28639a.o" } } }