- fix objdump parsing for non-executable sections (#53)
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/build-compare?expand=0&rev=294
This commit is contained in:
parent
6bd89b2a55
commit
597e7f2fd4
@ -1,3 +1,8 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jun 20 12:34:56 UTC 2022 - olaf@aepfle.de
|
||||||
|
|
||||||
|
- fix objdump parsing for non-executable sections (#53)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Jun 13 13:13:13 UTC 2022 - olaf@aepfle.de
|
Mon Jun 13 13:13:13 UTC 2022 - olaf@aepfle.de
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ Summary: Build Result Compare Script
|
|||||||
License: GPL-2.0+
|
License: GPL-2.0+
|
||||||
Group: Development/Tools/Building
|
Group: Development/Tools/Building
|
||||||
Url: https://github.com/openSUSE/build-compare
|
Url: https://github.com/openSUSE/build-compare
|
||||||
Version: 20220613T135442.472ee09
|
Version: 20220620T150329.a852498
|
||||||
Release: 0
|
Release: 0
|
||||||
Source1: COPYING
|
Source1: COPYING
|
||||||
Source2: same-build-result.sh
|
Source2: same-build-result.sh
|
||||||
|
17
pkg-diff.sh
17
pkg-diff.sh
@ -833,8 +833,7 @@ check_single_file()
|
|||||||
local ret=0
|
local ret=0
|
||||||
local i
|
local i
|
||||||
local failed
|
local failed
|
||||||
local objdump_failed
|
local elfdiff elf_executable_sections
|
||||||
local elfdiff
|
|
||||||
local sections
|
local sections
|
||||||
local -a pipestatus
|
local -a pipestatus
|
||||||
|
|
||||||
@ -966,7 +965,6 @@ check_single_file()
|
|||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
watchdog_touch
|
watchdog_touch
|
||||||
elfdiff=
|
|
||||||
(cd old && exec $OBJDUMP -d --no-show-raw-insn ./$file | filter_disasm
|
(cd old && exec $OBJDUMP -d --no-show-raw-insn ./$file | filter_disasm
|
||||||
echo "${PIPESTATUS[@]}" > $file1 ) > old/$file.objdump &
|
echo "${PIPESTATUS[@]}" > $file1 ) > old/$file.objdump &
|
||||||
(cd new && exec $OBJDUMP -d --no-show-raw-insn ./$file | filter_disasm
|
(cd new && exec $OBJDUMP -d --no-show-raw-insn ./$file | filter_disasm
|
||||||
@ -974,21 +972,19 @@ check_single_file()
|
|||||||
wait
|
wait
|
||||||
read i < ${file1}
|
read i < ${file1}
|
||||||
pipestatus=( $i )
|
pipestatus=( $i )
|
||||||
objdump_failed="${objdump_failed}${pipestatus[0]}"
|
|
||||||
if [[ ${pipestatus[*]} =~ [1-9] ]]
|
if [[ ${pipestatus[*]} =~ [1-9] ]]
|
||||||
then
|
then
|
||||||
wprint "ELF disassembly: pipe command failed for old/$file"
|
wprint "ELF disassembly: pipe command failed for old/$file"
|
||||||
elfdiff='failed'
|
elf_executable_sections='failed'
|
||||||
fi
|
fi
|
||||||
read i < ${file2}
|
read i < ${file2}
|
||||||
pipestatus=( $i )
|
pipestatus=( $i )
|
||||||
objdump_failed="${objdump_failed}${pipestatus[0]}"
|
|
||||||
if [[ ${pipestatus[*]} =~ [1-9] ]]
|
if [[ ${pipestatus[*]} =~ [1-9] ]]
|
||||||
then
|
then
|
||||||
wprint "ELF disassembly: pipe command failed for new/$file"
|
wprint "ELF disassembly: pipe command failed for new/$file"
|
||||||
elfdiff='failed'
|
elf_executable_sections='failed'
|
||||||
fi
|
fi
|
||||||
if test ${objdump_failed} -gt 0 || test -n "${elfdiff}"
|
if test -n "${elf_executable_sections}"
|
||||||
then
|
then
|
||||||
# objdump had no idea how to handle it
|
# objdump had no idea how to handle it
|
||||||
rm old/$file.objdump new/$file.objdump &
|
rm old/$file.objdump new/$file.objdump &
|
||||||
@ -997,7 +993,6 @@ check_single_file()
|
|||||||
fi
|
fi
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
elfdiff=
|
|
||||||
diff --speed-large-files --unified \
|
diff --speed-large-files --unified \
|
||||||
--label "old $file (disasm)" \
|
--label "old $file (disasm)" \
|
||||||
--label "new $file (disasm)" \
|
--label "new $file (disasm)" \
|
||||||
@ -1008,11 +1003,11 @@ check_single_file()
|
|||||||
then
|
then
|
||||||
wprint "$file differs in assembler output"
|
wprint "$file differs in assembler output"
|
||||||
$buildcompare_head $dfile
|
$buildcompare_head $dfile
|
||||||
elfdiff='elfdiff'
|
elf_executable_sections='elf_executable_sections'
|
||||||
else
|
else
|
||||||
watchdog_touch
|
watchdog_touch
|
||||||
fi
|
fi
|
||||||
if test -n "$elfdiff"
|
if test -n "$elfdiff" || test -n "$elf_executable_sections"
|
||||||
then
|
then
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
Loading…
Reference in New Issue
Block a user