Bug#908074: diffoscope: test failures with LLVM 7

Mattia Rizzolo mattia at debian.org
Wed Sep 5 21:49:10 BST 2018


Source: diffoscope
Version: 99
Severity: important

Ubuntu bumped their LLVM defaults to 7 (from 6), and diffoscope is now
failing its tests:

|=================================== FAILURES ===================================
|_______________________ test_item3_deflate_llvm_bitcode ________________________
|
|differences = [<Difference nm -s {} -- nm -s {} []>, <Difference alloc_system-d16b8f0e.0.o -- alloc_system-d16b8f0e.0.o [<Difference...r -dump {} []>, <Difference find {} -execdir llvm-dis -o - '{}' ';' -- find {} -execdir llvm-dis -o - '{}' ';' []>]>]>]
|rlib_dis_expected_diff = '@@ -41,32 +41,32 @@\n entry-block:\n   %out.i.i = alloca i8*, align 8\n   %4 = icmp ult i64 %3, 17\n   br i1 %4, labe...able\n define i64 @__rust_reallocate_inplace(i8* nocapture readnone, i64, i64, i64) unnamed_addr #1 {\n entry-block:\n'
|
|    @skip_unless_tools_exist('llvm-dis')
|    @skip_unless_tool_is_at_least('llvm-config', llvm_version, '3.8')
|    def test_item3_deflate_llvm_bitcode(differences, rlib_dis_expected_diff):
|        assert differences[3].source1 == 'alloc_system-d16b8f0e.0.bytecode.deflate'
|        assert differences[3].source2 == 'alloc_system-d16b8f0e.0.bytecode.deflate'
|        expected_diff = rlib_dis_expected_diff
|        actual_diff = differences[3].details[0].details[1].unified_diff
|>       assert diff_ignore_line_numbers(
|            actual_diff) == diff_ignore_line_numbers(expected_diff)
|E       AssertionError: assert '@@ -XX,XX +X...ntry-block:\n' == '@@ -XX,XX +XX...ntry-block:\n'
|E           @@ -XX,XX +XX,XX @@
|E            entry-block:
|E              %out.i.i = alloca i8*, align 8
|E              %4 = icmp ult i64 %3, 17
|E              br i1 %4, label %then-block-195-.i, label %_ZN12alloc_system3imp8allocate17h8ba7625cc4a820e8E.exit.i
|E            
|E            then-block-195-.i:                                ; preds = %entry-block
|E              %5 = tail call i8* @realloc(i8* %0, i64 %2) #2
|E           -  br label %_ZN12alloc_system3imp10reallocate17h4a0811c9ec086854E.exit
|E           +  br label %_ZN12alloc_system3imp10reallocate1l44a0811c9ec086854E.exit
|E            
|E            _ZN12alloc_system3imp8allocate17h8ba7625cc4a820e8E.exit.i: ; preds = %entry-block
|E              %6 = bitcast i8** %out.i.i to i8*
|E              call void @llvm.lifetime.start.p0i8(i64 8, i8* %6) #2
|E              store i8* null, i8** %out.i.i, align 8
|E              %7 = call i32 @posix_memalign(i8** nonnull %out.i.i, i64 %3, i64 %2) #2
|E              %8 = icmp eq i32 %7, 0
|E              %9 = load i8*, i8** %out.i.i, align 8
|E              %sret_slot.0.i.i = select i1 %8, i8* %9, i8* null
|E              call void @llvm.lifetime.end.p0i8(i64 8, i8* %6) #2
|E              %10 = icmp ule i64 %2, %1
|E              %11 = select i1 %10, i64 %2, i64 %1
|E         -    call void @llvm.memmove.p0i8.p0i8.i64(i8* align 1 %sret_slot.0.i.i, i8* align 1 %0, i64 %11, i1 false)
|E         ?                                              --------                      --------
|E         +    call void @llvm.memmove.p0i8.p0i8.i64(i8* %sret_slot.0.i.i, i8* %0, i64 %11, i32 1, i1 false) #2
|E         ?                                                                                 +++++++         +++
|E              call void @free(i8* %0) #2
|E           -  br label %_ZN12alloc_system3imp10reallocate17h4a0811c9ec086854E.exit
|E           +  br label %_ZN12alloc_system3imp10reallocate1l44a0811c9ec086854E.exit
|E            
|E           -_ZN12alloc_system3imp10reallocate17h4a0811c9ec086854E.exit: ; preds = %_ZN12alloc_system3imp8allocate17h8ba7625cc4a820e8E.exit.i, %then-block-195-.i
|E           +_ZN12alloc_system3imp10reallocate1l44a0811c9ec086854E.exit: ; preds = %_ZN12alloc_system3imp8allocate17h8ba7625cc4a820e8E.exit.i, %then-block-195-.i
|E              %sret_slot.0.i = phi i8* [ %5, %then-block-195-.i ], [ %sret_slot.0.i.i, %_ZN12alloc_system3imp8allocate17h8ba7625cc4a820e8E.exit.i ]
|E              ret i8* %sret_slot.0.i
|E            }
|E            
|E            ; Function Attrs: nounwind readnone uwtable
|E            define i64 @__rust_reallocate_inplace(i8* nocapture readnone, i64, i64, i64) unnamed_addr #1 {
|E            entry-block:
|
|actual_diff = '@@ -42,32 +42,32 @@\n entry-block:\n   %out.i.i = alloca i8*, align 8\n   %4 = icmp ult i64 %3, 17\n   br i1 %4, labe...able\n define i64 @__rust_reallocate_inplace(i8* nocapture readnone, i64, i64, i64) unnamed_addr #1 {\n entry-block:\n'
|differences = [<Difference nm -s {} -- nm -s {} []>, <Difference alloc_system-d16b8f0e.0.o -- alloc_system-d16b8f0e.0.o [<Difference...r -dump {} []>, <Difference find {} -execdir llvm-dis -o - '{}' ';' -- find {} -execdir llvm-dis -o - '{}' ';' []>]>]>]
|expected_diff = '@@ -41,32 +41,32 @@\n entry-block:\n   %out.i.i = alloca i8*, align 8\n   %4 = icmp ult i64 %3, 17\n   br i1 %4, labe...able\n define i64 @__rust_reallocate_inplace(i8* nocapture readnone, i64, i64, i64) unnamed_addr #1 {\n entry-block:\n'
|rlib_dis_expected_diff = '@@ -41,32 +41,32 @@\n entry-block:\n   %out.i.i = alloca i8*, align 8\n   %4 = icmp ult i64 %3, 17\n   br i1 %4, labe...able\n define i64 @__rust_reallocate_inplace(i8* nocapture readnone, i64, i64, i64) unnamed_addr #1 {\n entry-block:\n'
|
|tests/comparators/test_rlib.py:105: AssertionError


This is with:
ii 	llvm (1:7.0-43ubuntu1)
ii 	llvm-7 (1:7~+rc2-1~exp3)
ii 	llvm-7-runtime (1:7~+rc2-1~exp3)
ii 	llvm-runtime (1:7.0-43ubuntu1)
But I have no reasons to be believe it's ubuntu-specific, so I'm
reporting this bug.

-- 
regards,
                        Mattia Rizzolo

GPG Key: 66AE 2B4A FCCF 3F52 DA18  4D18 4B04 3FCD B944 4540      .''`.
more about me:  https://mapreri.org                             : :'  :
Launchpad user: https://launchpad.net/~mapreri                  `. `'`
Debian QA page: https://qa.debian.org/developer.php?login=mattia  `-
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/reproducible-builds/attachments/20180905/5bb9f0f8/attachment.sig>


More information about the Reproducible-builds mailing list