Hi Alexandre, Thanks for sorting this out. Just a few comments below. On Wed, 15 Jan 2020 15:46:48 -0500 Alexandre Ghiti wrote: > > > # Have Kbuild supply the path to objdump so we handle cross compilation. ^ "and nm" > +# Remove from the bad relocations those that match an undefined weak symbol > +# which will result in an absolute relocation to 0. > +# Weak unresolved symbols are of that form in nm output: > +# " w _binary__btf_vmlinux_bin_end" > +undef_weak_symbols=$($nm "$vmlinux" | awk -e '$1 ~ /w/ { print $2 }') > + > +while IFS= read -r weak_symbol; do > + bad_relocs="$(echo -n "$bad_relocs" | sed "/$weak_symbol/d")" > +done <<< "$undef_weak_symbols" This is not a bash script, and the above is a bashism :-( Also, my version of awk (mawk) doesn't have a -e option. How about something like : undef_weak_symbols=$($nm "$vmlinux" | awk '$1 ~ /w/ { print $2 }') if [ "$undef_weak_symbols" ]; then bad_relocs="$(echo "$bad_relocs" | grep -F -w -v "$undef_weak_symbols")" fi Or do this near the top and add the grep to the others. -- Cheers, Stephen Rothwell