Accepting request 984012 from openSUSE:Tools

- fix objdump parsing for non-executable sections (#53)

- fix objdump parsing (#52)

- Remove warning about python mtime mismatch, a republish will not help (bsc#915948)

OBS-URL: https://build.opensuse.org/request/show/984012
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/build-compare?expand=0&rev=121
This commit is contained in:
Dominique Leuenberger 2022-06-23 08:22:05 +00:00 committed by Git OBS Bridge
commit 01b0480af4
3 changed files with 28 additions and 31 deletions

View File

@ -1,3 +1,13 @@
-------------------------------------------------------------------
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
- fix objdump parsing (#52)
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Mar 4 12:34:56 UTC 2022 - olaf@aepfle.de Fri Mar 4 12:34:56 UTC 2022 - olaf@aepfle.de
@ -216,7 +226,7 @@ Thu Jan 5 11:01:53 UTC 2017 - olaf@aepfle.de
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Dec 14 08:44:11 UTC 2016 - olaf@aepfle.de Wed Dec 14 08:44:11 UTC 2016 - olaf@aepfle.de
- Remove warning about python mtime mismatch, a republish will not help - Remove warning about python mtime mismatch, a republish will not help (bsc#915948)
- Handle yet another variant of numbered anchor in html file - Handle yet another variant of numbered anchor in html file
------------------------------------------------------------------- -------------------------------------------------------------------

View File

@ -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: 20220307T115648.b5abdde Version: 20220620T150329.a852498
Release: 0 Release: 0
Source1: COPYING Source1: COPYING
Source2: same-build-result.sh Source2: same-build-result.sh

View File

@ -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
@ -933,25 +932,17 @@ check_single_file()
p p
} }
')) '))
($OBJDUMP -s ${sections[@]} old/$file | (cd old && exec $OBJDUMP -s ${sections[@]} ./$file ) > old/$file.objdump &
sed -e "s,old/,," ; echo "${PIPESTATUS[@]}" > $file1 ) > old/$file.objdump & (cd new && exec $OBJDUMP -s ${sections[@]} ./$file ) > new/$file.objdump &
($OBJDUMP -s ${sections[@]} new/$file |
sed -e "s,new/,," ; echo "${PIPESTATUS[@]}" > $file2 ) > new/$file.objdump &
wait wait
read i < ${file1} if ! test -s old/$file.objdump
pipestatus=( $i )
objdump_failed="${pipestatus[0]}"
if [[ ${pipestatus[*]} =~ [1-9] ]]
then then
wprint "ELF section: pipe command failed for old/$file" wprint "ELF section: objdump failed for old/$file"
elfdiff='failed' elfdiff='failed'
fi fi
read i < ${file2} if ! test -s new/$file.objdump
pipestatus=( $i )
objdump_failed="${objdump_failed}${pipestatus[0]}"
if [[ ${pipestatus[*]} =~ [1-9] ]]
then then
wprint "ELF section: pipe command failed for new/$file" wprint "ELF section: objdump failed for new/$file"
elfdiff='failed' elfdiff='failed'
fi fi
if test -z "${elfdiff}" if test -z "${elfdiff}"
@ -974,29 +965,26 @@ 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
($OBJDUMP -d --no-show-raw-insn old/$file | filter_disasm | echo "${PIPESTATUS[@]}" > $file1 ) > old/$file.objdump &
sed -e "s,^old/[^:]\+,," ; echo "${PIPESTATUS[@]}" > $file1 ) > old/$file.objdump & (cd new && exec $OBJDUMP -d --no-show-raw-insn ./$file | filter_disasm
($OBJDUMP -d --no-show-raw-insn new/$file | filter_disasm | echo "${PIPESTATUS[@]}" > $file2 ) > new/$file.objdump &
sed -e "s,^new/[^:]\+,," ; echo "${PIPESTATUS[@]}" > $file2 ) > new/$file.objdump &
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 &
@ -1005,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)" \
@ -1016,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