On Wed, Jan 02, 2019 at 06:47:22AM +0100, Sebastien Marie wrote:
> On Wed, Jan 02, 2019 at 01:21:51AM +0100, antoniomurd...@gmail.com wrote:
> > >Synopsis:  rclone Illegal instruction (core dumped)
> > >Category:  sysutils
> > >Environment:
> >     System      : OpenBSD 6.4
> >     Details     : OpenBSD 6.4 (GENERIC) #3: Thu Dec 20 18:03:29 CET 2018
> >                      
> > r...@syspatch-64-i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC
> > 
> >     Architecture: OpenBSD.i386
> >     Machine     : i386
> > >Description:
> >     rclone as installed with pkg_add on i386 is broken (couldn't test on 
> > amd64 though).
> > >How-To-Repeat:
> >     # pkg_add rclone
> >     # rclone
> > >Fix:
> >     backtrace from gdb shows the following, not sure if it could help but 
> > this is easily reproducible anyway:
> > 
> > openbsd# gdb rclone
> > GNU gdb 6.3
> > Copyright 2004 Free Software Foundation, Inc.
> > GDB is free software, covered by the GNU General Public License, and you are
> > welcome to change it and/or distribute copies of it under certain 
> > conditions.
> > Type "show copying" to see the conditions.
> > There is absolutely no warranty for GDB.  Type "show warranty" for details.
> > This GDB was configured as "i386-unknown-openbsd6.4"...(no debugging 
> > symbols found)
> > 
> > (gdb) r
> > Starting program: /usr/local/bin/rclone
> > 
> > Program received signal SIGILL, Illegal instruction.
> 
> it would be interesting to have the offending instruction, using
> disassemble gdb command (if I remember correctly).
> 
> (gdb) disassemble
> 
> 
> My guest would be that go generates code for i686 (using some SSE
> instruction code for example), and your cpu doesn't have this
> instructions (so it complains).
> 
> > cpu0: Geode(TM) Integrated Processor by AMD PCS ("AuthenticAMD" 586-class) 
> > 499 MHz, 05-0a-02
> > cpu0: FPU,DE,PSE,TSC,MSR,CX8,SEP,PGE,CMOV,CFLUSH,MMX,MMXX,3DNOW2,3DNOW
> 
> If it is the case, several possibilities:
> - your host is too old for using such program, just not do that
> - the go compiler should generate i386 code (so no extending instruction
>   sets) - but does it make sens to try running such program on so old
>   hardware ? (we already had such discussion about firefox using SSE2 with
>   Rust on i386. but I dunno if rclone fall in same class than firefox)

There was the same discussion for golang and sse on i386. I would prefer
to change the default from sse to 387.

Antonio, this patch should fix your problem with rclone:

Index: Makefile
===================================================================
RCS file: /cvs/ports/sysutils/rclone/Makefile,v
retrieving revision 1.4
diff -u -p -r1.4 Makefile
--- Makefile    22 Sep 2018 08:30:07 -0000      1.4
+++ Makefile    2 Jan 2019 15:56:27 -0000
@@ -20,6 +20,7 @@ MASTER_SITES =  https://github.com/ncw/r
 
 MODULES =      lang/go
 MODGO_TYPE =   bin
+MODGO_ENV +=   GO386=387
 
 ALL_TARGET =   github.com/ncw/rclone
 

Reply via email to