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.
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 48373@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 48373
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch