Commit 527d8655 authored by Stephen Boyd's avatar Stephen Boyd Committed by Tom Rini

scripts: objdiff: Ignore debug info when comparing

If the kernel is configured to be built with debug symbols, or
has bug tables, comparing files may not work if line numbers
change. This makes comparing object files with these options
harder to do. Let's strip out the debug info and drop the
__bug_table here so that we don't see false positives. There may
be other things to drop later, and it may be architecture
specific, but this works for me with my ARM64 build.

[ Import Linux commit: 65ba6fa439e7c3cbf97de9dce9e7a3390ae2638c ]
Signed-off-by: default avatarStephen Boyd <stephen.boyd@linaro.org>
Reviewed-by: default avatarJason Cooper <jason@lakedaemon.net>
Signed-off-by: Masahiro Yamada's avatarMasahiro Yamada <yamada.masahiro@socionext.com>
parent e43f74ac
......@@ -57,13 +57,15 @@ get_output_dir() {
do_objdump() {
dir=$(get_output_dir $1)
base=${1##*/}
stripped=$dir/${base%.o}.stripped
dis=$dir/${base%.o}.dis
[ ! -d "$dir" ] && mkdir -p $dir
# remove addresses for a cleaner diff
# http://dummdida.tumblr.com/post/60924060451/binary-diff-between-libc-from-scientificlinux-and
$OBJDUMP -D $1 | sed "s/^[[:space:]]\+[0-9a-f]\+//" > $dis
$STRIP -g $1 -R __bug_table -R .note -R .comment -o $stripped
$OBJDUMP -D $stripped | sed -e "s/^[[:space:]]\+[0-9a-f]\+//" -e "s:^$stripped:$1:" > $dis
}
dorecord() {
......@@ -73,6 +75,7 @@ dorecord() {
CMT="`git rev-parse --short HEAD`"
STRIP="${CROSS_COMPILE}strip"
OBJDUMP="${CROSS_COMPILE}objdump"
for d in $FILES; do
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment