1#!/bin/sh 2# SPDX-License-Identifier: GPL-2.0-or-later 3 4# Copyright © 2015 IBM Corporation 5 6 7# This script checks the relocations of a vmlinux for "suspicious" 8# relocations. 9 10# based on relocs_check.pl 11# Copyright © 2009 IBM Corporation 12 13if [ $# -lt 3 ]; then 14 echo "$0 [path to objdump] [path to nm] [path to vmlinux]" 1>&2 15 exit 1 16fi 17 18bad_relocs=$( 19${srctree}/scripts/relocs_check.sh "$@" | 20 # These relocations are okay 21 # On PPC64: 22 # R_PPC64_RELATIVE, R_PPC64_NONE 23 # On PPC: 24 # R_PPC_RELATIVE, R_PPC_ADDR16_HI, 25 # R_PPC_ADDR16_HA,R_PPC_ADDR16_LO, 26 # R_PPC_NONE 27 grep -F -w -v 'R_PPC64_RELATIVE 28R_PPC64_NONE 29R_PPC64_UADDR64 30R_PPC_ADDR16_LO 31R_PPC_ADDR16_HI 32R_PPC_ADDR16_HA 33R_PPC_RELATIVE 34R_PPC_NONE' 35) 36 37if [ -z "$bad_relocs" ]; then 38 exit 0 39fi 40 41num_bad=$(echo "$bad_relocs" | wc -l) 42echo "WARNING: $num_bad bad relocations" 43echo "$bad_relocs" 44