| # 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" |
| } |
| } |
| } |