Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 11 Feb 2024 00:21:14 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 276961] buildworld artifacts not reproducible between native and cross build
Message-ID:  <bug-276961-227@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D276961

            Bug ID: 276961
           Summary: buildworld artifacts not reproducible between native
                    and cross build
           Product: Base System
           Version: 13.3-RELEASE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: misc
          Assignee: bugs@FreeBSD.org
          Reporter: emaste@freebsd.org

Created attachment 248338
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D248338&action=
=3Dedit
list of differing artifacts

On stable/13 cperciva discovered a number of artifacts produced by buildwor=
ld
that differ between native (e.g. i386 buildworld in i386 jail) and cross (e=
.g.
i386 buildworld on amd64 with TARGET/TARGET_ARCH set) builds.

PR276960 describes one example. Other cases are different stack layouts or
instruction ordering, pointing to nondeterminism in Clang. This example is a
disassembly of mkfs.o, responsible for the difference in makefs:

- objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn
--section=3D.text {}
@@ -24590,15 +24590,15 @@
              movl    $0x0, 0x42ca00=20=20=20=20
              movl    $0x0, 0x42cccc=20=20=20=20
              movl    $0x1, 0x42cec0=20=20=20=20
              movl    $0x1, 0x42cec4=20=20=20=20
              xorl    %eax, %eax
              movl    $0x2000, %ecx           # imm =3D 0x2000
              jmp     0x41e7fa <ffs_mkfs+0x79a>
+             movl    %ebx, 0x2c(%esp)=20=20
-             movl    %ebx, 0x30(%esp)=20=20
              movl    $0x19540119, 0x42ced0   # imm =3D 0x19540119
              movl    $0x0, 0x42cd60=20=20=20=20
              movl    $0x10000, 0x42cd5c      # imm =3D 0x10000=20=20=20
              movl    0x4(%esp), %eax=20=20=20
              movl    %eax, %ecx
              shrl    $0x3, %ecx
              movl    %ecx, %edi
@@ -24611,15 +24611,15 @@
              movl    $0x10000, %ecx          # imm =3D 0x10000
              movl    0x8(%esp), %edx=20=20=20
              cmpl    $0x1, 0x70(%edx)=20=20
              movl    %esi, 0x20(%esp)=20=20
              movl    %edi, (%esp)
              jne     0x41e7f6 <ffs_mkfs+0x796>
              orb     $0x2, 0x42ce94=20=20=20=20
+             movl    0x2c(%esp), %ebx=20=20
-             movl    0x30(%esp), %ebx=20=20
              movl    0x14(%esp), %edx=20=20
              addl    %ecx, %edx
              adcl    %eax, %ebx
              addl    $0x2000, %edx           # imm =3D 0x2000
              adcl    $0x0, %ebx
              movl    0xc(%esp), %esi=20=20=20
              movl    %esi, %eax
@@ -24749,57 +24749,57 @@
              leal    (%ebx,%ecx), %edx=20
              leal    (%eax,%edx), %ecx=20
              decl    %ecx
              movl    %ecx, %eax
              xorl    %edx, %edx
              divl    %ebx
              subl    %edx, %ecx
+             movl    %ecx, 0x2c(%esp)=20=20
-             movl    %ecx, 0x3c(%esp)=20=20
              movl    %ebx, 0x28(%esp)=20=20
              movl    0xc(%esp), %eax=20=20=20
              addl    %ebx, %eax
              decl    %eax
              movl    %eax, 0x38(%esp)=20=20
              movl    0x42ca28, %eax=20=20=20=20
              addl    %eax, %eax
              leal    (%eax,%eax,2), %eax
              movl    %eax, 0x34(%esp)=20=20
              movl    0x42c9a4, %eax=20=20=20=20
              addl    $-0x8, %eax
+             movl    %eax, 0x48(%esp)=20=20
+             movl    0x42c9a8, %eax=20=20=20=20
              movl    %eax, 0x40(%esp)=20=20
-             movl    0x42c9a8, %eax=20=20=20=20
-             movl    %eax, 0x44(%esp)=20=20
              negl    %eax
+             movl    %eax, 0x30(%esp)=20=20
-             movl    %eax, 0x2c(%esp)=20=20
              movl    %edi, (%esp)
              leal    -0x1(%edi), %eax=20=20
              movl    %eax, 0x4(%esp)=20=20=20
              movl    0x42ce98, %eax=20=20=20=20
+             movl    %eax, 0x3c(%esp)=20=20
-             movl    %eax, 0x48(%esp)=20=20
              leal    (,%eax,4), %eax=20=20=20
              movl    %eax, 0x50(%esp)=20=20
              movl    %esi, %edx
              movl    0x14(%esp), %ecx

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-276961-227>