vice: processor dependency?

  • Open
  • quality assurance status badge
Details
3 participants
  • Brendan Tildesley
  • Christopher Howard
  • Leo Famulari
Owner
unassigned
Submitted by
Christopher Howard
Severity
normal
C
C
Christopher Howard wrote on 12 May 2021 04:33
(name . Guix Bug Reports)(address . bug-guix@gnu.org)
75ca48e183a530adfab067d3ab703df61d5e919e.camel@librehacker.com
Hi, when I install vice from guix, and attempt to run a ROM, I get this
error, and the GUI does not launch:

Illegal instruction

However, if I pull the source with `guix -S vice', create a build
environment with `guix environment vice', and build it myself (with
./configure --prefix=/home/christopher/local --disable-pdf-docs) and
then run the ROM, vice GUI opens up and the ROM runs without trouble.

As a guess, I suspect your build made use of some advanced multimedia
CPU flag not available on my computer.

I am not very knowledgeable in C debugging, but gdb gave this
backtrace:

Thread 10 "x64sc" received signal SIGILL, Illegal instruction.
[Switching to Thread 0x7fffce3fd700 (LWP 2511)]
0x0000000000641a61 in reSID::WaveformGenerator::WaveformGenerator() ()
(gdb) bt
#0 0x0000000000641a61 in reSID::WaveformGenerator::WaveformGenerator()
()
#1 0x0000000000641982 in reSID::Voice::Voice() ()
#2 0x000000000063e017 in reSID::SID::SID() ()
#3 0x0000000000531f5f in resid_open ()
#4 0x000000000043db9d in sound_open ()
#5 0x000000000043eb85 in sound_flush ()
#6 0x000000000044315e in vsync_do_end_of_line ()
#7 0x00000000005a70a3 in vicii_raster_draw_handler ()
#8 0x000000000059eedd in vicii_cycle ()
#9 0x000000000045221d in maincpu_mainloop ()
#10 0x0000000000430244 in vice_thread_main ()
#11 0x00007ffff693af64 in start_thread () from
/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-
2.31/lib/libpthread.so.0
#12 0x00007ffff686c9af in clone () from
/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/lib/libc.so.6

Here is my system information:


christopher@nightshade ~$ neofetch --stdout
christopher@nightshade
----------------------
OS: Guix System 87b4b0e4385149b40ee87ae2d57712679452746b x86_64
Host: GA-880GM-UD2H
Kernel: 5.11.19-gnu
Uptime: 15 mins
Packages: 105 (guix-system), 92 (guix-user)
Shell: bash 5.0.16
Resolution: 1920x1200
DE: GNOME 3.34.5
Theme: Adwaita [GTK2/3]
Icons: Adwaita [GTK2/3]
Terminal: kitty
CPU: AMD Athlon II X3 455 (3) @ 3.300GHz
GPU: NVIDIA GeForce 8400 GS Rev. 3
Memory: 842MiB / 7959MiB

Host: GA-880GM-UD2H
Kernel: 5.11.19-gnu
Uptime: 15 mins
Packages: 105 (guix-system), 92 (guix-user)
Shell: bash 5.0.16
Resolution: 1920x1200
DE: GNOME 3.34.5
Theme: Adwaita [GTK2/3]
Icons: Adwaita [GTK2/3]
Terminal: kitty
CPU: AMD Athlon II X3 455 (3) @ 3.300GHz
GPU: NVIDIA GeForce 8400 GS Rev. 3
Memory: 842MiB / 7959MiB

christopher@nightshade ~$ cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 16
model : 5
model name : AMD Athlon(tm) II X3 455 Processor
stepping : 3
microcode : 0x10000c8
cpu MHz : 800.000
cache size : 512 KB
physical id : 0
siblings : 3
core id : 0
cpu cores : 3
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext
fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl
nonstop_tsc cpuid extd_apicid pni monitor cx16 popcnt lahf_lm
cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch
osvw ibs skinit wdt hw_pstate vmmcall npt lbrv svm_lock nrip_save
bugs : tlb_mmatch apic_c1e fxsave_leak sysret_ss_attrs
null_seg amd_e400 spectre_v1 spectre_v2
bogomips : 6629.32
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 48 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate

processor : 1
vendor_id : AuthenticAMD
cpu family : 16
model : 5
model name : AMD Athlon(tm) II X3 455 Processor
stepping : 3
microcode : 0x10000c8
cpu MHz : 800.000
cache size : 512 KB
physical id : 0
siblings : 3
core id : 1
cpu cores : 3
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext
fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl
nonstop_tsc cpuid extd_apicid pni monitor cx16 popcnt lahf_lm
cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch
osvw ibs skinit wdt hw_pstate vmmcall npt lbrv svm_lock nrip_save
bugs : tlb_mmatch apic_c1e fxsave_leak sysret_ss_attrs
null_seg amd_e400 spectre_v1 spectre_v2
bogomips : 6629.32
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 48 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate

processor : 2
vendor_id : AuthenticAMD
cpu family : 16
model : 5
model name : AMD Athlon(tm) II X3 455 Processor
stepping : 3
microcode : 0x10000c8
cpu MHz : 800.000
cache size : 512 KB
physical id : 0
siblings : 3
core id : 2
cpu cores : 3
apicid : 2
initial apicid : 2
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext
fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl
nonstop_tsc cpuid extd_apicid pni monitor cx16 popcnt lahf_lm
cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch
osvw ibs skinit wdt hw_pstate vmmcall npt lbrv svm_lock nrip_save
bugs : tlb_mmatch apic_c1e fxsave_leak sysret_ss_attrs
null_seg amd_e400 spectre_v1 spectre_v2
bogomips : 6629.32
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 48 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate

--
Christopher Howard
C
C
Christopher Howard wrote on 12 May 2021 15:44
(address . 48373@debbugs.gnu.org)
5162098c01d8c37422d15e976df89444b25ad582.camel@librehacker.com
Comparing objdumps on the guix binary vs. my local binary, I suspect
that the extension available on your CPU but not on mine is the AVX*
instructions. I see that, e.g., VMOVAPS is used in your binary, but
that is not available on my system.


some diff output: the guix build compared to my local build:

1,110c1,336
< 0000000000641a50 <_ZN5reSID17WaveformGeneratorC1Ev>:
< 641a50: 80 3d 89 5a 38 01 00 cmpb $0x0,0x1385a89(%rip)
# 19c74e0 <_ZZN5reSID17WaveformGeneratorC4EvE10class_init>
< 641a57: 53 push %rbx
< 641a58: 48 89 fb mov %rdi,%rbx
< 641a5b: 0f 85 43 01 00 00 jne 641ba4
<_ZN5reSID17WaveformGeneratorC1Ev+0x154>
< 641a61: c5 f8 28 1d 37 a0 09 vmovaps
0x9a037(%rip),%xmm3 # 6dbaa0
<_ZZ21_vte_boa_advance_tailE19__PRETTY_FUNCTION__+0x860>
< 641a68: 00
< 641a69: c5 78 28 1d af bf 03 vmovaps
0x3bfaf(%rip),%xmm11 # 67da20 <fdd_data_rates+0x30>
< 641a70: 00
< 641a71: b8 40 d0 74 00 mov $0x74d040,%eax
< 641a76: ba 40 f0 74 00 mov $0x74f040,%edx
< 641a7b: c5 78 28 15 2d a0 09 vmovaps
0x9a02d(%rip),%xmm10 # 6dbab0
<_ZZ21_vte_boa_advance_tailE19__PRETTY_FUNCTION__+0x870>
< 641a82: 00
< 641a83: c5 f8 28 35 35 a0 09 vmovaps
0x9a035(%rip),%xmm6 # 6dbac0
<_ZZ21_vte_boa_advance_tailE19__PRETTY_FUNCTION__+0x880>
< 641a8a: 00
< 641a8b: c5 d8 57 e4 vxorps %xmm4,%xmm4,%xmm4
< 641a8f: c5 78 28 05 39 a0 09 vmovaps
0x9a039(%rip),%xmm8 # 6dbad0
<_ZZ21_vte_boa_advance_tailE19__PRETTY_FUNCTION__+0x890>
< 641a96: 00
< 641a97: c5 f8 28 3d 71 71 00 vmovaps
0x7171(%rip),%xmm7 # 648c10 <cbmdos_error_messages+0x450>
< 641a9e: 00
< 641a9f: c5 f8 28 2d 39 a0 09 vmovaps
0x9a039(%rip),%xmm5 # 6dbae0
<_ZZ21_vte_boa_advance_tailE19__PRETTY_FUNCTION__+0x8a0>
< 641aa6: 00
< 641aa7: c5 78 28 0d 41 a0 09 vmovaps
0x9a041(%rip),%xmm9 # 6dbaf0
<_ZZ21_vte_boa_advance_tailE19__PRETTY_FUNCTION__+0x8b0>
< 641aae: 00
< 641aaf: 90 nop
< 641ab0: c4 c1 61 fe d2 vpaddd %xmm10,%xmm3,%xmm2
< 641ab5: c4 c1 60 54 c0 vandps %xmm8,%xmm3,%xmm0
< 641aba: 48 83 c0 10 add $0x10,%rax
< 641abe: c4 c1 68 54 c8 vandps %xmm8,%xmm2,%xmm1
< 641ac3: c5 f9 76 c4 vpcmpeqd %xmm4,%xmm0,%xmm0
< 641ac7: c5 f8 29 b0 f0 ff 00 vmovaps %xmm6,0xfff0(%rax)
< 641ace: 00
< 641acf: c5 f8 29 70 f0 vmovaps %xmm6,-0x10(%rax)
< 641ad4: c5 f1 76 cc vpcmpeqd %xmm4,%xmm1,%xmm1
< 641ad8: c5 f8 55 c7 vandnps %xmm7,%xmm0,%xmm0
< 641adc: c5 f8 29 b0 f0 7f 01 vmovaps %xmm6,0x17ff0(%rax)
< 641ae3: 00
< 641ae4: c5 f8 29 b0 f0 7f 00 vmovaps %xmm6,0x7ff0(%rax)
< 641aeb: 00
< 641aec: c5 f0 55 cf vandnps %xmm7,%xmm1,%xmm1
< 641af0: c5 d9 fa c0 vpsubd %xmm0,%xmm4,%xmm0
< 641af4: c5 d9 fa c9 vpsubd %xmm1,%xmm4,%xmm1
< 641af8: c5 f8 57 c3 vxorps %xmm3,%xmm0,%xmm0
< 641afc: c5 f0 57 ca vxorps %xmm2,%xmm1,%xmm1
< 641b00: c5 f9 72 d0 0b vpsrld $0xb,%xmm0,%xmm0
< 641b05: c5 d0 54 c0 vandps %xmm0,%xmm5,%xmm0
< 641b09: c5 e9 72 d2 0c vpsrld $0xc,%xmm2,%xmm2
< 641b0e: c5 f1 72 d1 0b vpsrld $0xb,%xmm1,%xmm1
< 641b13: c5 d0 54 c9 vandps %xmm1,%xmm5,%xmm1
< 641b17: c5 d0 54 d2 vandps %xmm2,%xmm5,%xmm2
< 641b1b: c4 e2 79 2b c9 vpackusdw %xmm1,%xmm0,%xmm1
< 641b20: c5 f9 72 d3 0c vpsrld $0xc,%xmm3,%xmm0
< 641b25: c5 d0 54 c0 vandps %xmm0,%xmm5,%xmm0
< 641b29: c4 c1 61 fe db vpaddd %xmm11,%xmm3,%xmm3
< 641b2e: c4 c1 70 54 c9 vandps %xmm9,%xmm1,%xmm1
< 641b33: c4 e2 79 2b d2 vpackusdw %xmm2,%xmm0,%xmm2
< 641b38: c5 f8 29 88 f0 1f 01 vmovaps %xmm1,0x11ff0(%rax)
< 641b3f: 00
< 641b40: c5 f8 29 88 f0 1f 00 vmovaps %xmm1,0x1ff0(%rax)
< 641b47: 00
< 641b48: c5 f8 29 90 f0 3f 01 vmovaps %xmm2,0x13ff0(%rax)
< 641b4f: 00
< 641b50: c5 f8 29 90 f0 3f 00 vmovaps %xmm2,0x3ff0(%rax)
< 641b57: 00
< 641b58: 48 39 c2 cmp %rax,%rdx
< 641b5b: 0f 85 4f ff ff ff jne 641ab0
<_ZN5reSID17WaveformGeneratorC1Ev+0x60>
< 641b61: c5 fb 10 05 97 9f 09 vmovsd
0x99f97(%rip),%xmm0 # 6dbb00
<_ZZ21_vte_boa_advance_tailE19__PRETTY_FUNCTION__+0x8c0>
< 641b68: 00
< 641b69: 31 d2 xor %edx,%edx
< 641b6b: be 0c 00 00 00 mov $0xc,%esi
< 641b70: bf e0 34 9c 01 mov $0x19c34e0,%edi
< 641b75: c7 43 10 00 00 00 01 movl $0x1000000,0x10(%rbx)
< 641b7c: e8 3f 21 00 00 callq 643cc0
<_ZN5reSID15build_dac_tableEPtidb>
< 641b81: c5 fb 10 05 6f a1 01 vmovsd
0x1a16f(%rip),%xmm0 # 65bcf8 <sound_register_devices+0x138>
< 641b88: 00
< 641b89: ba 01 00 00 00 mov $0x1,%edx
< 641b8e: be 0c 00 00 00 mov $0xc,%esi
< 641b93: bf e0 54 9c 01 mov $0x19c54e0,%edi
< 641b98: e8 23 21 00 00 callq 643cc0
<_ZN5reSID15build_dac_tableEPtidb>
< 641b9d: c6 05 3c 59 38 01 01 movb $0x1,0x138593c(%rip)
# 19c74e0 <_ZZN5reSID17WaveformGeneratorC4EvE10class_init>
< 641ba4: 48 b8 ff 0f e0 0f ff movabs $0xfff0fff0fe00fff,%rax
< 641bab: 0f ff 0f
< 641bae: 48 89 1b mov %rbx,(%rbx)
< 641bb1: c7 43 5c 00 00 00 00 movl $0x0,0x5c(%rbx)
< 641bb8: 48 89 43 30 mov %rax,0x30(%rbx)
< 641bbc: 48 b8 00 00 00 00 55 movabs $0x55500000000,%rax
< 641bc3: 05 00 00
< 641bc6: c7 43 10 55 55 55 00 movl $0x555555,0x10(%rbx)
< 641bcd: c6 43 14 00 movb $0x0,0x14(%rbx)
< 641bd1: 48 c7 43 60 40 d0 74 movq $0x74d040,0x60(%rbx)
< 641bd8: 00
< 641bd9: 48 c7 43 18 00 00 00 movq $0x0,0x18(%rbx)
< 641be0: 00
< 641be1: 48 c7 43 20 fe ff 7f movq $0x7ffffe,0x20(%rbx)
< 641be8: 00
< 641be9: 48 c7 43 28 00 00 00 movq $0x0,0x28(%rbx)
< 641bf0: 00
< 641bf1: 66 c7 43 38 ff 0f movw $0xfff,0x38(%rbx)
< 641bf7: 48 89 43 3c mov %rax,0x3c(%rbx)
< 641bfb: 48 c7 43 44 00 00 00 movq $0x0,0x44(%rbx)
< 641c02: 00
< 641c03: 48 c7 43 4c 00 00 00 movq $0x0,0x4c(%rbx)
< 641c0a: 00
< 641c0b: 48 c7 43 54 00 00 00 movq $0x0,0x54(%rbx)
< 641c12: 00
< 641c13: 5b pop %rbx
< 641c14: c3 retq
< 641c15: 90 nop
< 641c16: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
< 641c1d: 00 00 00
---
Toggle quote (1 lines)
> 641be0: 80 3d f9 78 38 01 00 cmpb $0x0,0x13878f9(%rip)
# 19c94e0 <_ZZN5reSID17WaveformGeneratorC4EvE10class_init>
Toggle quote (3 lines)
> 641be7: 53 push %rbx
> 641be8: 48 89 fb mov %rdi,%rbx
> 641beb: 0f 85 dd 05 00 00 jne 6421ce
<_ZN5reSID17WaveformGeneratorC1Ev+0x5ee>
Toggle quote (1 lines)
> 641bf1: 66 0f 6f 0d 87 be 09 movdqa
0x9be87(%rip),%xmm1 # 6dda80
<_ZZ21_vte_boa_advance_tailE19__PRETTY_FUNCTION__+0x860>
Toggle quote (2 lines)
> 641bf8: 00
> 641bf9: 66 44 0f 6f 0d fe dd movdqa
0x3ddfe(%rip),%xmm9 # 67fa00 <fdd_data_rates+0x30>
Toggle quote (3 lines)
> 641c00: 03 00
> 641c02: 66 0f ef db pxor %xmm3,%xmm3
> 641c06: 66 44 0f 6f 15 81 be movdqa
0x9be81(%rip),%xmm10 # 6dda90
<_ZZ21_vte_boa_advance_tailE19__PRETTY_FUNCTION__+0x870>
Toggle quote (2 lines)
> 641c0d: 09 00
> 641c0f: 66 0f 6f 05 89 be 09 movdqa
0x9be89(%rip),%xmm0 # 6ddaa0
<_ZZ21_vte_boa_advance_tailE19__PRETTY_FUNCTION__+0x880>
Toggle quote (3 lines)
> 641c16: 00
> 641c17: 31 c9 xor %ecx,%ecx
> 641c19: 66 0f 6f 35 8f be 09 movdqa
0x9be8f(%rip),%xmm6 # 6ddab0
<_ZZ21_vte_boa_advance_tailE19__PRETTY_FUNCTION__+0x890>
Toggle quote (2 lines)
> 641c20: 00
> 641c21: 66 0f 6f 3d e7 8f 00 movdqa
0x8fe7(%rip),%xmm7 # 64ac10 <cbmdos_error_messages+0x450>
Toggle quote (3 lines)
> 641c28: 00
> 641c29: b8 40 f0 75 00 mov $0x75f040,%eax
> 641c2e: 66 44 0f 6f 05 89 be movdqa
0x9be89(%rip),%xmm8 # 6ddac0
<_ZZ21_vte_boa_advance_tailE19__PRETTY_FUNCTION__+0x8a0>
Toggle quote (2 lines)
> 641c35: 09 00
> 641c37: 66 44 0f 6f 25 90 be movdqa
0x9be90(%rip),%xmm12 # 6ddad0
<_ZZ21_vte_boa_advance_tailE19__PRETTY_FUNCTION__+0x8b0>
Toggle quote (2 lines)
> 641c3e: 09 00
> 641c40: 66 44 0f 6f 1d 97 be movdqa
0x9be97(%rip),%xmm11 # 6ddae0
<_ZZ21_vte_boa_advance_tailE19__PRETTY_FUNCTION__+0x8c0>
Toggle quote (3 lines)
> 641c47: 09 00
> 641c49: c7 47 10 00 00 00 00 movl $0x0,0x10(%rdi)
> 641c50: 66 66 2e 0f 1f 84 00 data16 nopw
%cs:0x0(%rax,%rax,1)
Toggle quote (119 lines)
> 641c57: 00 00 00 00
> 641c5b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
> 641c60: 66 0f 6f e9 movdqa %xmm1,%xmm5
> 641c64: 66 0f 6f e1 movdqa %xmm1,%xmm4
> 641c68: 66 41 0f fe ea paddd %xmm10,%xmm5
> 641c6d: 66 0f db e6 pand %xmm6,%xmm4
> 641c71: 66 44 0f 6f ed movdqa %xmm5,%xmm13
> 641c76: 66 44 0f db ee pand %xmm6,%xmm13
> 641c7b: 66 44 0f 6f fb movdqa %xmm3,%xmm15
> 641c80: 66 0f 6f d1 movdqa %xmm1,%xmm2
> 641c84: 66 41 0f fe d1 paddd %xmm9,%xmm2
> 641c89: 66 0f 76 e3 pcmpeqd %xmm3,%xmm4
> 641c8d: 0f 29 00 movaps %xmm0,(%rax)
> 641c90: 0f 0d 48 60 prefetchw 0x60(%rax)
> 641c94: 66 44 0f 76 eb pcmpeqd %xmm3,%xmm13
> 641c99: 0f 0d 88 60 00 ff ff prefetchw -0xffa0(%rax)
> 641ca0: 0f 0d 88 60 20 00 00 prefetchw 0x2060(%rax)
> 641ca7: 66 0f df e7 pandn %xmm7,%xmm4
> 641cab: 0f 29 80 00 00 ff ff movaps %xmm0,-0x10000(%rax)
> 641cb2: 0f 0d 88 60 20 ff ff prefetchw -0xdfa0(%rax)
> 641cb9: 66 44 0f df ef pandn %xmm7,%xmm13
> 641cbe: 0f 0d 88 60 40 00 00 prefetchw 0x4060(%rax)
> 641cc5: 0f 0d 88 60 40 ff ff prefetchw -0xbfa0(%rax)
> 641ccc: 66 44 0f fa fc psubd %xmm4,%xmm15
> 641cd1: 66 41 0f 6f e7 movdqa %xmm15,%xmm4
> 641cd6: 66 44 0f 6f fb movdqa %xmm3,%xmm15
> 641cdb: 66 0f ef e1 pxor %xmm1,%xmm4
> 641cdf: 66 45 0f fa fd psubd %xmm13,%xmm15
> 641ce4: 66 45 0f 6f ef movdqa %xmm15,%xmm13
> 641ce9: 66 44 0f ef ed pxor %xmm5,%xmm13
> 641cee: 66 0f 72 d5 0c psrld $0xc,%xmm5
> 641cf3: 66 44 0f 6f fb movdqa %xmm3,%xmm15
> 641cf8: 66 0f 72 d4 0b psrld $0xb,%xmm4
> 641cfd: 66 44 0f 6f f4 movdqa %xmm4,%xmm14
> 641d02: 0f 29 80 00 80 00 00 movaps %xmm0,0x8000(%rax)
> 641d09: 66 41 0f 72 d5 0b psrld $0xb,%xmm13
> 641d0f: 66 45 0f 69 f5 punpckhwd %xmm13,%xmm14
> 641d14: 66 41 0f 61 e5 punpcklwd %xmm13,%xmm4
> 641d19: 0f 29 80 00 80 ff ff movaps %xmm0,-0x8000(%rax)
> 641d20: 0f 0d 88 60 80 00 00 prefetchw 0x8060(%rax)
> 641d27: 0f 0d 88 60 80 ff ff prefetchw -0x7fa0(%rax)
> 641d2e: 66 44 0f 6f ec movdqa %xmm4,%xmm13
> 641d33: 66 41 0f 61 e6 punpcklwd %xmm14,%xmm4
> 641d38: 66 45 0f 69 ee punpckhwd %xmm14,%xmm13
> 641d3d: 0f 29 40 10 movaps %xmm0,0x10(%rax)
> 641d41: 48 89 c2 mov %rax,%rdx
> 641d44: 48 83 c0 40 add $0x40,%rax
> 641d48: 66 41 0f 61 e5 punpcklwd %xmm13,%xmm4
> 641d4d: 4c 8d 9a 40 00 ff ff lea -0xffc0(%rdx),%r11
> 641d54: 4c 8d 92 40 20 00 00 lea 0x2040(%rdx),%r10
> 641d5b: 0f 29 80 d0 ff fe ff movaps %xmm0,-0x10030(%rax)
> 641d62: 4c 8d 8a 40 20 ff ff lea -0xdfc0(%rdx),%r9
> 641d69: 66 41 0f db e0 pand %xmm8,%xmm4
> 641d6e: 4c 8d 82 40 40 00 00 lea 0x4040(%rdx),%r8
> 641d75: 48 8d ba 40 40 ff ff lea -0xbfc0(%rdx),%rdi
> 641d7c: 0f 29 80 d0 7f 00 00 movaps %xmm0,0x7fd0(%rax)
> 641d83: 48 8d b2 40 80 00 00 lea 0x8040(%rdx),%rsi
> 641d8a: 83 c1 04 add $0x4,%ecx
> 641d8d: 48 81 ea c0 7f 00 00 sub $0x7fc0,%rdx
> 641d94: 0f 29 a0 c0 1f 00 00 movaps %xmm4,0x1fc0(%rax)
> 641d9b: 0f 29 a0 c0 1f ff ff movaps %xmm4,-0xe040(%rax)
> 641da2: 66 0f 6f e1 movdqa %xmm1,%xmm4
> 641da6: 66 0f 72 d4 0c psrld $0xc,%xmm4
> 641dab: 66 44 0f 6f ec movdqa %xmm4,%xmm13
> 641db0: 66 0f 61 e5 punpcklwd %xmm5,%xmm4
> 641db4: 66 44 0f 69 ed punpckhwd %xmm5,%xmm13
> 641db9: 0f 29 80 d0 7f ff ff movaps %xmm0,-0x8030(%rax)
> 641dc0: 66 0f 6f ec movdqa %xmm4,%xmm5
> 641dc4: 66 41 0f 61 e5 punpcklwd %xmm13,%xmm4
> 641dc9: 66 41 0f 69 ed punpckhwd %xmm13,%xmm5
> 641dce: 66 44 0f 6f e9 movdqa %xmm1,%xmm13
> 641dd3: 66 45 0f fe eb paddd %xmm11,%xmm13
> 641dd8: 66 45 0f 6f f5 movdqa %xmm13,%xmm14
> 641ddd: 66 0f 61 e5 punpcklwd %xmm5,%xmm4
> 641de1: 66 44 0f db f6 pand %xmm6,%xmm14
> 641de6: 66 0f 6f ea movdqa %xmm2,%xmm5
> 641dea: 66 0f db ee pand %xmm6,%xmm5
> 641dee: 0f 29 40 e0 movaps %xmm0,-0x20(%rax)
> 641df2: 66 44 0f 76 f3 pcmpeqd %xmm3,%xmm14
> 641df7: 66 0f 76 eb pcmpeqd %xmm3,%xmm5
> 641dfb: 0f 29 a0 c0 3f 00 00 movaps %xmm4,0x3fc0(%rax)
> 641e02: 66 44 0f df f7 pandn %xmm7,%xmm14
> 641e07: 66 0f df ef pandn %xmm7,%xmm5
> 641e0b: 0f 29 a0 c0 3f ff ff movaps %xmm4,-0xc040(%rax)
> 641e12: 66 0f 6f e1 movdqa %xmm1,%xmm4
> 641e16: 66 41 0f fe e4 paddd %xmm12,%xmm4
> 641e1b: 66 44 0f fa fd psubd %xmm5,%xmm15
> 641e20: 66 41 0f 6f ef movdqa %xmm15,%xmm5
> 641e25: 66 44 0f 6f fb movdqa %xmm3,%xmm15
> 641e2a: 66 0f ef ea pxor %xmm2,%xmm5
> 641e2e: 66 45 0f fa fe psubd %xmm14,%xmm15
> 641e33: 66 45 0f ef fd pxor %xmm13,%xmm15
> 641e38: 66 0f 72 d2 0c psrld $0xc,%xmm2
> 641e3d: 66 41 0f 72 d5 0c psrld $0xc,%xmm13
> 641e43: 0f 29 80 e0 ff fe ff movaps %xmm0,-0x10020(%rax)
> 641e4a: 66 41 0f 72 d7 0b psrld $0xb,%xmm15
> 641e50: 66 0f 72 d5 0b psrld $0xb,%xmm5
> 641e55: 66 44 0f 6f f5 movdqa %xmm5,%xmm14
> 641e5a: 66 41 0f 61 ef punpcklwd %xmm15,%xmm5
> 641e5f: 66 45 0f 69 f7 punpckhwd %xmm15,%xmm14
> 641e64: 66 44 0f 6f fd movdqa %xmm5,%xmm15
> 641e69: 66 41 0f 61 ee punpcklwd %xmm14,%xmm5
> 641e6e: 66 45 0f 69 fe punpckhwd %xmm14,%xmm15
> 641e73: 66 44 0f 6f f3 movdqa %xmm3,%xmm14
> 641e78: 66 41 0f 61 ef punpcklwd %xmm15,%xmm5
> 641e7d: 66 44 0f 6f fb movdqa %xmm3,%xmm15
> 641e82: 66 41 0f db e8 pand %xmm8,%xmm5
> 641e87: 0f 29 a8 d0 1f 00 00 movaps %xmm5,0x1fd0(%rax)
> 641e8e: 0f 29 a8 d0 1f ff ff movaps %xmm5,-0xe030(%rax)
> 641e95: 66 0f 6f ea movdqa %xmm2,%xmm5
> 641e99: 66 41 0f 61 d5 punpcklwd %xmm13,%xmm2
> 641e9e: 66 41 0f 69 ed punpckhwd %xmm13,%xmm5
> 641ea3: 66 44 0f 6f ea movdqa %xmm2,%xmm13
> 641ea8: 66 0f 61 d5 punpcklwd %xmm5,%xmm2
> 641eac: 66 44 0f 69 ed punpckhwd %xmm5,%xmm13
> 641eb1: 66 0f 6f ec movdqa %xmm4,%xmm5
> 641eb5: 66 0f db ee pand %xmm6,%xmm5
> 641eb9: 66 41 0f 61 d5 punpcklwd %xmm13,%xmm2
> 641ebe: 66 44 0f 6f 2d 39 bc movdqa
0x9bc39(%rip),%xmm13 # 6ddb00
<_ZZ21_vte_boa_advance_tailE19__PRETTY_FUNCTION__+0x8e0>
Toggle quote (7 lines)
> 641ec5: 09 00
> 641ec7: 66 0f 76 eb pcmpeqd %xmm3,%xmm5
> 641ecb: 66 44 0f fe e9 paddd %xmm1,%xmm13
> 641ed0: 0f 29 90 d0 3f 00 00 movaps %xmm2,0x3fd0(%rax)
> 641ed7: 66 0f df ef pandn %xmm7,%xmm5
> 641edb: 0f 29 90 d0 3f ff ff movaps %xmm2,-0xc030(%rax)
> 641ee2: 66 0f 6f 15 06 bc 09 movdqa
0x9bc06(%rip),%xmm2 # 6ddaf0
<_ZZ21_vte_boa_advance_tailE19__PRETTY_FUNCTION__+0x8d0>
Toggle quote (40 lines)
> 641ee9: 00
> 641eea: 66 44 0f fa f5 psubd %xmm5,%xmm14
> 641eef: 66 41 0f 6f ee movdqa %xmm14,%xmm5
> 641ef4: 66 45 0f 6f f5 movdqa %xmm13,%xmm14
> 641ef9: 66 44 0f db f6 pand %xmm6,%xmm14
> 641efe: 66 0f ef ec pxor %xmm4,%xmm5
> 641f02: 66 0f 72 d4 0c psrld $0xc,%xmm4
> 641f07: 66 0f fe d1 paddd %xmm1,%xmm2
> 641f0b: 66 44 0f 76 f3 pcmpeqd %xmm3,%xmm14
> 641f10: 66 0f 72 d5 0b psrld $0xb,%xmm5
> 641f15: 66 44 0f df f7 pandn %xmm7,%xmm14
> 641f1a: 66 45 0f fa fe psubd %xmm14,%xmm15
> 641f1f: 66 45 0f ef fd pxor %xmm13,%xmm15
> 641f24: 66 44 0f 6f f5 movdqa %xmm5,%xmm14
> 641f29: 66 41 0f 72 d5 0c psrld $0xc,%xmm13
> 641f2f: 66 41 0f 72 d7 0b psrld $0xb,%xmm15
> 641f35: 66 45 0f 69 f7 punpckhwd %xmm15,%xmm14
> 641f3a: 66 41 0f 61 ef punpcklwd %xmm15,%xmm5
> 641f3f: 66 44 0f 6f fd movdqa %xmm5,%xmm15
> 641f44: 66 41 0f 61 ee punpcklwd %xmm14,%xmm5
> 641f49: 66 45 0f 69 fe punpckhwd %xmm14,%xmm15
> 641f4e: 66 44 0f 6f f3 movdqa %xmm3,%xmm14
> 641f53: 66 41 0f 61 ef punpcklwd %xmm15,%xmm5
> 641f58: 66 44 0f 6f fb movdqa %xmm3,%xmm15
> 641f5d: 66 41 0f db e8 pand %xmm8,%xmm5
> 641f62: 0f 29 a8 e0 1f 00 00 movaps %xmm5,0x1fe0(%rax)
> 641f69: 0f 29 a8 e0 1f ff ff movaps %xmm5,-0xe020(%rax)
> 641f70: 66 0f 6f ec movdqa %xmm4,%xmm5
> 641f74: 66 41 0f 61 e5 punpcklwd %xmm13,%xmm4
> 641f79: 66 41 0f 69 ed punpckhwd %xmm13,%xmm5
> 641f7e: 66 44 0f 6f ec movdqa %xmm4,%xmm13
> 641f83: 66 0f 61 e5 punpcklwd %xmm5,%xmm4
> 641f87: 66 44 0f 69 ed punpckhwd %xmm5,%xmm13
> 641f8c: 66 41 0f 61 e5 punpcklwd %xmm13,%xmm4
> 641f91: 0f 29 a0 e0 3f 00 00 movaps %xmm4,0x3fe0(%rax)
> 641f98: 0f 29 a0 e0 3f ff ff movaps %xmm4,-0xc020(%rax)
> 641f9f: 66 0f 6f e2 movdqa %xmm2,%xmm4
> 641fa3: 66 0f db e6 pand %xmm6,%xmm4
> 641fa7: 0f 29 80 e0 7f 00 00 movaps %xmm0,0x7fe0(%rax)
> 641fae: 66 0f 6f 2d 5a bb 09 movdqa
0x9bb5a(%rip),%xmm5 # 6ddb10
<_ZZ21_vte_boa_advance_tailE19__PRETTY_FUNCTION__+0x8f0>
Toggle quote (4 lines)
> 641fb5: 00
> 641fb6: 66 0f 76 e3 pcmpeqd %xmm3,%xmm4
> 641fba: 66 0f fe e9 paddd %xmm1,%xmm5
> 641fbe: 66 0f fe 0d 5a bb 09 paddd 0x9bb5a(%rip),%xmm1
# 6ddb20 <_ZZ21_vte_boa_advance_tailE19__PRETTY_FUNCTION__+0x900>
Toggle quote (37 lines)
> 641fc5: 00
> 641fc6: 66 44 0f 6f e9 movdqa %xmm1,%xmm13
> 641fcb: 66 44 0f db ee pand %xmm6,%xmm13
> 641fd0: 66 0f df e7 pandn %xmm7,%xmm4
> 641fd4: 0f 29 80 e0 7f ff ff movaps %xmm0,-0x8020(%rax)
> 641fdb: 66 44 0f 76 eb pcmpeqd %xmm3,%xmm13
> 641fe0: 66 44 0f fa fc psubd %xmm4,%xmm15
> 641fe5: 66 41 0f 6f e7 movdqa %xmm15,%xmm4
> 641fea: 66 0f ef e2 pxor %xmm2,%xmm4
> 641fee: 66 0f 72 d2 0c psrld $0xc,%xmm2
> 641ff3: 0f 29 40 f0 movaps %xmm0,-0x10(%rax)
> 641ff7: 66 44 0f df ef pandn %xmm7,%xmm13
> 641ffc: 66 0f 72 d4 0b psrld $0xb,%xmm4
> 642001: 0f 29 80 f0 ff fe ff movaps %xmm0,-0x10010(%rax)
> 642008: 66 45 0f fa f5 psubd %xmm13,%xmm14
> 64200d: 66 45 0f 6f ee movdqa %xmm14,%xmm13
> 642012: 66 44 0f ef e9 pxor %xmm1,%xmm13
> 642017: 66 44 0f 6f f4 movdqa %xmm4,%xmm14
> 64201c: 66 0f 72 d1 0c psrld $0xc,%xmm1
> 642021: 0f 29 80 f0 7f 00 00 movaps %xmm0,0x7ff0(%rax)
> 642028: 66 41 0f 72 d5 0b psrld $0xb,%xmm13
> 64202e: 66 45 0f 69 f5 punpckhwd %xmm13,%xmm14
> 642033: 66 41 0f 61 e5 punpcklwd %xmm13,%xmm4
> 642038: 0f 29 80 f0 7f ff ff movaps %xmm0,-0x8010(%rax)
> 64203f: 66 44 0f 6f ec movdqa %xmm4,%xmm13
> 642044: 66 41 0f 61 e6 punpcklwd %xmm14,%xmm4
> 642049: 66 45 0f 69 ee punpckhwd %xmm14,%xmm13
> 64204e: 66 41 0f 61 e5 punpcklwd %xmm13,%xmm4
> 642053: 66 41 0f db e0 pand %xmm8,%xmm4
> 642058: 0f 29 a0 f0 1f 00 00 movaps %xmm4,0x1ff0(%rax)
> 64205f: 0f 29 a0 f0 1f ff ff movaps %xmm4,-0xe010(%rax)
> 642066: 66 0f 6f e2 movdqa %xmm2,%xmm4
> 64206a: 66 0f 61 d1 punpcklwd %xmm1,%xmm2
> 64206e: 66 0f 69 e1 punpckhwd %xmm1,%xmm4
> 642072: 66 0f 6f ca movdqa %xmm2,%xmm1
> 642076: 66 0f 69 d4 punpckhwd %xmm4,%xmm2
> 64207a:
This message was truncated. Download the full message here.
B
B
Brendan Tildesley wrote on 12 May 2021 17:08
Re: vice: processor dependency
(name . 48373@debbugs.gnu.org)(address . 48373@debbugs.gnu.org)(name . Christopher Howard)(address . christopher@librehacker.com)
802557135.259431.1620832086709@office.mailbox.org
I'm curious the guix version would also build differently on your computer.
You can run for example

guix build vice --no-grafts --check

to build it from source and check the difference. if its different, something like

guix gc -D $(guix build --no-grafts vice); guix build --no-substitutes vice

should delete it and built it from source without using the prebuilt binary.
If it's different then its a reproducibility bug. Some packages are actually
intended to be that way, like atlas, and have substitutable? #f set so that
they are always built and tuned to the cpu it's used on.

On my computer, AMD 5700X, the built is identical to the substitute:

b@jiu ~/code/guix [env]$ guix challenge vice

1 store items were analyzed:
- 1 (100.0%) were identical
- 0 (0.0%) differed
- 0 (0.0%) were inconclusive
Attachment: file
C
C
Christopher Howard wrote on 12 May 2021 17:30
e66972afe58959cf5bedaebe9524b157b3bd4974.camel@librehacker.com
Hello, I ran the following:

guix gc -D $(guix build --no-grafts vice); guix build --no-substitutes
vice
guix challenge vice

The result of the last command was

/gnu/store/ixsr68sfkyfvp66mzg6291sv2gbdwvzc-vice-3.5 contents differ:
local hash: 1gw2m26g506fivlki829h4ljjxs4s6c4c9hyi8bdzl1h4kw4qz6l
: 0bsm4lf5pbfpq6q82jbvv0c9swpais572bf4lhbbrn2i9kld1krm
differing files:
/bin/xscpu64
/bin/vsid
/bin/x64sc
/bin/xplus4
/bin/x128
/bin/xcbm5x0
/bin/xvic
/bin/xcbm2
/bin/xpet

1 store items were analyzed:
- 0 (0.0%) were identical
- 1 (100.0%) differed
- 0 (0.0%) were inconclusive

--
Christopher Howard

On Wed, 2021-05-12 at 17:08 +0200, Brendan Tildesley wrote:
Toggle quote (2 lines)
> guix gc -D $(guix build --no-grafts vice); guix build --no-
> substitutes vice
Attachment: file
B
B
Brendan Tildesley wrote on 12 May 2021 17:38
(name . Christopher Howard)(address . christopher@librehacker.com)(name . 48373@debbugs.gnu.org)(address . 48373@debbugs.gnu.org)
1190563703.259774.1620833881997@office.mailbox.org
This is the build log from the server. there may be clues here if it differs from yours:

Attachment: file
L
L
Leo Famulari wrote on 12 May 2021 18:21
Re: bug#48373: vice: processor dependency?
(name . Christopher Howard)(address . christopher@librehacker.com)(address . 48373@debbugs.gnu.org)
YJwAboqn/Bh8/1I/@jasmine.lan
On Tue, May 11, 2021 at 06:33:07PM -0800, Christopher Howard wrote:
Toggle quote (3 lines)
> As a guess, I suspect your build made use of some advanced multimedia
> CPU flag not available on my computer.

I'd guess that the problem is that it's being built with -march=native,
which the build logs show.

We'll need to disable this so it is instead built generically.

If you grep for "march=native" in gnu/packages, you'll find examples of
how that can be accomplished.
?