ports/186997: [patch] math/atlas compile error with clang 3.4 on i386
Don Lewis
truckman at FreeBSD.org
Mon Feb 24 06:00:00 UTC 2014
>Number: 186997
>Category: ports
>Synopsis: [patch] math/atlas compile error with clang 3.4 on i386
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Mon Feb 24 06:00:00 UTC 2014
>Closed-Date:
>Last-Modified:
>Originator: Don Lewis
>Release: FreeBSD 11.0-CURRENT i386
>Organization:
FreeBSD Project
>Environment:
System: FreeBSD scratch.catspoiler.org 11.0-CURRENT FreeBSD 11.0-CURRENT #70 r262340M: Sat Feb 22 15:58:39 PST 2014 dl at scratch.catspoiler.org:/usr/obj/usr/src/sys/GENERICSMB i386
Ports revision 345674
>Description:
The port build fails at this point:
cd /usr/ports/math/atlas/work/ATLAS/shared/tune/blas/gemm ; make res/atlas_cacheedge.h pre=d
make dRunFindCE
cd /usr/ports/math/atlas/work/ATLAS/shared/src/blas/gemm ; make dlib
make auxillib dcleanuplib dusergemm
cd /usr/ports/math/atlas/work/ATLAS/shared/src/auxil ; make lib
cd KERNEL ; make -f dMakefile dlib
cc -fpic -DPIC -DL2SIZE=4194304 -I/usr/ports/math/atlas/work/ATLAS/shared/include -I/usr/ports/math/atlas/work/ATLAS/shared/..//include -I/usr/ports/math/atlas/work/ATLAS/shared/..//include/contrib -DAdd_ -DF77_INTEGER=int -DStringSunStyle -DATL_OS_FreeBSD -DATL_ARCH_HAMMER -DATL_CPUMHZ=2500 -DATL_SSE3 -DATL_SSE2 -DATL_SSE1 -DATL_3DNow -DATL_GAS_x8632 -DATL_NCPU=2 -D_THREAD_SAFE -D_REENTRANT -DATL_UCLEANM -DATL_UCLEANN -DATL_UCLEANK -DATL_BETA=0 -c -x assembler-with-cpp ATL_dupMBmm0_4_0_b0.c
ATL_dupMBmm0_4_0_b0.c:1633:9: error: ambiguous instructions require an explicit suffix (could be 'subb', 'subw', 'subl', or 'subq')
sub $1, 36 -4(%esp)
^
ATL_dupMBmm0_4_0_b0.c:1648:9: error: ambiguous instructions require an explicit suffix (could be 'subb', 'subw', 'subl', or 'subq')
sub $1, 36 -4 -4 -4(%esp)
^
*** Error code 1
Stop.
make[9]: stopped in /usr/ports/math/atlas/work/ATLAS/shared/src/blas/gemm/KERNEL
*** Error code 1
Stop.
make[8]: stopped in /usr/ports/math/atlas/work/ATLAS/shared/src/blas/gemm
*** Error code 1
Stop.
make[7]: stopped in /usr/ports/math/atlas/work/ATLAS/shared/src/blas/gemm
*** Error code 1
Stop.
make[6]: stopped in /usr/ports/math/atlas/work/ATLAS/shared/tune/blas/gemm
*** Error code 1
Stop.
make[5]: stopped in /usr/ports/math/atlas/work/ATLAS/shared/tune/blas/gemm
*** Error code 1
make[5]: stopped in /usr/ports/math/atlas/work/ATLAS/shared/tune/blas/gemm
*** Error code 1
Stop.
make[4]: stopped in /usr/ports/math/atlas/work/ATLAS/shared/bin
ERROR 639 DURING CACHE EDGE DETECTION!!.
>How-To-Repeat:
Attempt to build math/atlas port with clang 3.4 on 11.0-CURRENT i386.
>Fix:
The following patch fixes the problem for me. The MM and NN operands are
32-bit wide memory locations on stack on i386 but the patch should work
because, subq is #defined to be subl earlier in ths file for i386.
This patch is untested on amd64, but I think it should also do the right
thing because MM and NN are CPU registers.
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list