- 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:
Olaf Hering 2022-06-20 15:06:40 +00:00 committed by Git OBS Bridge
parent 6bd89b2a55
commit 597e7f2fd4
3 changed files with 12 additions and 12 deletions

View File

@ -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

View File

@ -21,7 +21,7 @@ Summary: Build Result Compare Script
License: GPL-2.0+
Group: Development/Tools/Building
Url: https://github.com/openSUSE/build-compare
Version: 20220613T135442.472ee09
Version: 20220620T150329.a852498
Release: 0
Source1: COPYING
Source2: same-build-result.sh

View File

@ -833,8 +833,7 @@ check_single_file()
local ret=0
local i
local failed
local objdump_failed
local elfdiff
local elfdiff elf_executable_sections
local sections
local -a pipestatus
@ -966,7 +965,6 @@ check_single_file()
return 0
fi
watchdog_touch
elfdiff=
(cd old && exec $OBJDUMP -d --no-show-raw-insn ./$file | filter_disasm
echo "${PIPESTATUS[@]}" > $file1 ) > old/$file.objdump &
(cd new && exec $OBJDUMP -d --no-show-raw-insn ./$file | filter_disasm
@ -974,21 +972,19 @@ check_single_file()
wait
read i < ${file1}
pipestatus=( $i )
objdump_failed="${objdump_failed}${pipestatus[0]}"
if [[ ${pipestatus[*]} =~ [1-9] ]]
then
wprint "ELF disassembly: pipe command failed for old/$file"
elfdiff='failed'
elf_executable_sections='failed'
fi
read i < ${file2}
pipestatus=( $i )
objdump_failed="${objdump_failed}${pipestatus[0]}"
if [[ ${pipestatus[*]} =~ [1-9] ]]
then
wprint "ELF disassembly: pipe command failed for new/$file"
elfdiff='failed'
elf_executable_sections='failed'
fi
if test ${objdump_failed} -gt 0 || test -n "${elfdiff}"
if test -n "${elf_executable_sections}"
then
# objdump had no idea how to handle it
rm old/$file.objdump new/$file.objdump &
@ -997,7 +993,6 @@ check_single_file()
fi
return 1
fi
elfdiff=
diff --speed-large-files --unified \
--label "old $file (disasm)" \
--label "new $file (disasm)" \
@ -1008,11 +1003,11 @@ check_single_file()
then
wprint "$file differs in assembler output"
$buildcompare_head $dfile
elfdiff='elfdiff'
elf_executable_sections='elf_executable_sections'
else
watchdog_touch
fi
if test -n "$elfdiff"
if test -n "$elfdiff" || test -n "$elf_executable_sections"
then
return 1
fi