Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1582947 > unrolled thread

[PATCH] scripts: objdiff: Ignore debug info when comparing

Started byStephen Boyd <stephen.boyd@linaro.org>
First post2017-02-16 22:20 +0100
Last post2017-02-26 07:40 +0100
Articles 3 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] scripts: objdiff: Ignore debug info when comparing Stephen Boyd <stephen.boyd@linaro.org> - 2017-02-16 22:20 +0100
    Re: [PATCH] scripts: objdiff: Ignore debug info when comparing Jason Cooper <jason@lakedaemon.net> - 2017-02-17 15:00 +0100
    Re: [PATCH] scripts: objdiff: Ignore debug info when comparing Masahiro Yamada <yamada.masahiro@socionext.com> - 2017-02-26 07:40 +0100

#1582947 — [PATCH] scripts: objdiff: Ignore debug info when comparing

FromStephen Boyd <stephen.boyd@linaro.org>
Date2017-02-16 22:20 +0100
Subject[PATCH] scripts: objdiff: Ignore debug info when comparing
Message-ID<tbBD4-3zv-11@gated-at.bofh.it>
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.

Cc: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Stephen Boyd <stephen.boyd@linaro.org>
---
 scripts/objdiff | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/scripts/objdiff b/scripts/objdiff
index 62e51dae2138..4fb5d6796893 100755
--- a/scripts/objdiff
+++ b/scripts/objdiff
@@ -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
-- 
2.10.0.297.gf6727b0

[toc] | [next] | [standalone]


#1583419

FromJason Cooper <jason@lakedaemon.net>
Date2017-02-17 15:00 +0100
Message-ID<tbReN-4Z1-3@gated-at.bofh.it>
In reply to#1582947
Hi Stephen,

On Thu, Feb 16, 2017 at 01:18:20PM -0800, Stephen Boyd wrote:
> 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.
> 
> Cc: Masahiro Yamada <yamada.m@jp.panasonic.com>
> Cc: Jason Cooper <jason@lakedaemon.net>
> Signed-off-by: Stephen Boyd <stephen.boyd@linaro.org>

Reviewed-by: Jason Cooper <jason@lakedaemon.net>

I'm glad it's useful!

thx,

Jason.

[toc] | [prev] | [next] | [standalone]


#1588283

FromMasahiro Yamada <yamada.masahiro@socionext.com>
Date2017-02-26 07:40 +0100
Message-ID<tf0EW-2Xz-9@gated-at.bofh.it>
In reply to#1582947
Hi.

2017-02-17 6:18 GMT+09:00 Stephen Boyd <stephen.boyd@linaro.org>:
> 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.
>
> Cc: Masahiro Yamada <yamada.m@jp.panasonic.com>
> Cc: Jason Cooper <jason@lakedaemon.net>
> Signed-off-by: Stephen Boyd <stephen.boyd@linaro.org>


Great!

Reviewed-by: Masahiro Yamada <yamada.masahiro@socionext.com>


BTW, I left Panasonic two years ago,
so the old address yamada.m@jp.panasonic.com
is not working any more.

Please drop the "Cc: Masahiro Yamada <yamada.m@jp.panasonic.com>"
when this patch is applied.


Thanks!



-- 
Best Regards
Masahiro Yamada

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web