1*229ad173SPuranjay Mohan#!/bin/bash 2*229ad173SPuranjay Mohan# SPDX-License-Identifier: GPL-2.0 3*229ad173SPuranjay Mohan# 4*229ad173SPuranjay Mohan# Only the patched function's special section entry may be extracted. 5*229ad173SPuranjay Mohan 6*229ad173SPuranjay Mohan. "$(dirname "$0")/../lib.sh" 7*229ad173SPuranjay Mohan 8*229ad173SPuranjay Mohansetup 9*229ad173SPuranjay Mohanbuild_pair special_section_shared.c 10*229ad173SPuranjay Mohan 11*229ad173SPuranjay Mohanhas_input_section orig.o .kcfi_traps || 12*229ad173SPuranjay Mohan probe_skip "fixture produced no .kcfi_traps on this arch" 13*229ad173SPuranjay Mohan 14*229ad173SPuranjay Mohanrun_diff 15*229ad173SPuranjay Mohan 16*229ad173SPuranjay Mohanassert_patched target 17*229ad173SPuranjay Mohanassert_not_patched other 18*229ad173SPuranjay Mohanassert_section ".kcfi_traps" 19*229ad173SPuranjay Mohan 20*229ad173SPuranjay Mohanentries="$(out_relocs | awk '/rela\.kcfi_traps/,/^$/' | grep -c 'target')" 21*229ad173SPuranjay Mohan[ "$entries" = 1 ] || fail "expected one .kcfi_traps entry, found $entries" 22*229ad173SPuranjay Mohan 23*229ad173SPuranjay Mohanout_relocs | awk '/rela\.kcfi_traps/,/^$/' | grep -q 'other' && 24*229ad173SPuranjay Mohan fail "the untouched function's entry was dragged in" 25*229ad173SPuranjay Mohan 26*229ad173SPuranjay Mohanpass "only the patched function's entry extracted" 27