Bug 140995 - lang/gcc45 (and lang/gcc44) break on amd64 with CPUTYPE=native
Summary: lang/gcc45 (and lang/gcc44) break on amd64 with CPUTYPE=native
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Gerald Pfeifer
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-11-29 13:10 UTC by Ulrich Spoerlein
Modified: 2010-11-12 20:55 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ulrich Spoerlein 2009-11-29 13:10:01 UTC
When building both lang/gcc44 or lang/gcc45 on amd64 with CPUTYPE=native in /etc/make.conf
or -march=native in CFLAGS, the build will break due to the old assembler in base.

This does not happen to gcc43 (simply because it is old enough)

Fix: 

Update binutils?
How-To-Repeat: cd /usr/ports/lang/gcc45 && make CPUTYPE=native DISABLE_MAKE_JOBS=1

...

/bin/sh ./libtool  --tag=CC   --mode=compile /usr/obj/usr/ports/lang/gcc45/work/build/./gcc/xgcc -B/usr/obj/usr/ports/lang/gcc45/work/build/./gcc/ -B/usr/local/x86_64-portbld-freebsd8.0/bin/ -B/usr/local/x86_64-portbld-freebsd8.0/lib/ -isystem /usr/local/x86_64-portbld-freebsd8.0/include -isystem /usr/local/x86_64-portbld-freebsd8.0/sys-include    -DHAVE_CONFIG_H -I. -I../.././../gcc-4.5-20091119/libgfortran  -iquote../.././../gcc-4.5-20091119/libgfortran/io -I../.././../gcc-4.5-20091119/libgfortran/../gcc -I../.././../gcc-4.5-20091119/libgfortran/../gcc/config -I../.././gcc -D_GNU_SOURCE  -std=gnu99 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wextra -Wwrite-strings -fcx-fortran-rules -ffunction-sections -fdata-sections  -ftree-vectorize -funroll-loops -g -O2 -pipe -march=native -I/usr/local/include -fno-strict-aliasing -MT matmul_i4.lo -MD -MP -MF .deps/matmul_i4.Tpo -c -o matmul_i4.lo `test -f '../.././../gcc-4.5-20091119/libgfortran/generated/ma!
 tmul_i4.c' || echo '../.././../gcc-4.5-20091119/libgfortran/'`../.././../gcc-4.5-20091119/libgfortran/generated/matmul_i4.c
libtool: compile:  /usr/obj/usr/ports/lang/gcc45/work/build/./gcc/xgcc -B/usr/obj/usr/ports/lang/gcc45/work/build/./gcc/ -B/usr/local/x86_64-portbld-freebsd8.0/bin/ -B/usr/local/x86_64-portbld-freebsd8.0/lib/ -isystem /usr/local/x86_64-portbld-freebsd8.0/include -isystem /usr/local/x86_64-portbld-freebsd8.0/sys-include -DHAVE_CONFIG_H -I. -I../.././../gcc-4.5-20091119/libgfortran -iquote../.././../gcc-4.5-20091119/libgfortran/io -I../.././../gcc-4.5-20091119/libgfortran/../gcc -I../.././../gcc-4.5-20091119/libgfortran/../gcc/config -I../.././gcc -D_GNU_SOURCE -std=gnu99 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wextra -Wwrite-strings -fcx-fortran-rules -ffunction-sections -fdata-sections -ftree-vectorize -funroll-loops -g -O2 -pipe -march=native -I/usr/local/include -fno-strict-aliasing -MT matmul_i4.lo -MD -MP -MF .deps/matmul_i4.Tpo -c ../.././../gcc-4.5-20091119/libgfortran/generated/matmul_i4.c  -fPIC -DPIC -o .libs/matmul_i4.o
{standard input}: Assembler messages:
{standard input}:1861: Error: no such instruction: `pmulld %xmm0,%xmm5'
{standard input}:1885: Error: no such instruction: `pmulld %xmm0,%xmm4'
{standard input}:1893: Error: no such instruction: `pmulld %xmm0,%xmm5'
{standard input}:1902: Error: no such instruction: `pmulld %xmm0,%xmm6'
{standard input}:1911: Error: no such instruction: `pmulld %xmm0,%xmm7'
{standard input}:1920: Error: no such instruction: `pmulld %xmm0,%xmm8'
{standard input}:1929: Error: no such instruction: `pmulld %xmm0,%xmm9'
{standard input}:1938: Error: no such instruction: `pmulld %xmm0,%xmm10'
{standard input}:1949: Error: no such instruction: `pmulld %xmm0,%xmm14'
{standard input}:1954: Error: no such instruction: `pmulld %xmm0,%xmm13'
{standard input}:1959: Error: no such instruction: `pmulld %xmm0,%xmm12'
{standard input}:1964: Error: no such instruction: `pmulld %xmm0,%xmm11'
{standard input}:1969: Error: no such instruction: `pmulld %xmm0,%xmm10'
{standard input}:1974: Error: no such instruction: `pmulld %xmm0,%xmm9'
{standard input}:1979: Error: no such instruction: `pmulld %xmm0,%xmm8'
{standard input}:1984: Error: no such instruction: `pmulld %xmm0,%xmm7'
{standard input}:2219: Error: no such instruction: `pmulld %xmm15,%xmm0'
{standard input}:2241: Error: no such instruction: `pmulld %xmm12,%xmm11'
{standard input}:2249: Error: no such instruction: `pmulld %xmm14,%xmm13'
{standard input}:2257: Error: no such instruction: `pmulld %xmm1,%xmm15'
{standard input}:2265: Error: no such instruction: `pmulld %xmm2,%xmm3'
{standard input}:2273: Error: no such instruction: `pmulld %xmm5,%xmm4'
{standard input}:2281: Error: no such instruction: `pmulld %xmm7,%xmm6'
{standard input}:2289: Error: no such instruction: `pmulld %xmm9,%xmm8'
{standard input}:2302: Error: no such instruction: `pmulld %xmm1,%xmm15'
{standard input}:2319: Error: no such instruction: `pmulld %xmm14,%xmm13'
{standard input}:2320: Error: no such instruction: `pmulld %xmm12,%xmm11'
{standard input}:2323: Error: no such instruction: `pmulld %xmm10,%xmm9'
{standard input}:2326: Error: no such instruction: `pmulld %xmm8,%xmm7'
{standard input}:2329: Error: no such instruction: `pmulld %xmm6,%xmm5'
{standard input}:2337: Error: no such instruction: `pmulld %xmm4,%xmm3'
{standard input}:2341: Error: no such instruction: `pmulld %xmm2,%xmm1'
gmake[3]: *** [matmul_i4.lo] Error 1
gmake[3]: Leaving directory `/usr/obj/usr/ports/lang/gcc45/work/build/x86_64-portbld-freebsd8.0/libgfortran'
gmake[2]: *** [all] Error 2
gmake[2]: Leaving directory `/usr/obj/usr/ports/lang/gcc45/work/build/x86_64-portbld-freebsd8.0/libgfortran'
gmake[1]: *** [all-target-libgfortran] Error 2
gmake[1]: Leaving directory `/usr/obj/usr/ports/lang/gcc45/work/build'
gmake: *** [bootstrap-lean] Error 2
*** Error code 1

Stop in /usr/ports/lang/gcc45.
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2009-11-29 13:10:11 UTC
Responsible Changed
From-To: freebsd-ports-bugs->gerald

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 dfilter service freebsd_committer freebsd_triage 2009-12-01 11:37:08 UTC
gerald      2009-12-01 11:36:59 UTC

  FreeBSD ports repository

  Modified files:
    lang/gcc45           Makefile 
  Log:
  Use current GNU binutils from ports (devel/binutils) instead of the
  system tools.  The latter are half a decade old and fail to properly
  support modern CPUs and their standard features such as SSE or AVX in
  the case of AMD64/Intel64 which means that they even break when using
  a simple -march=native.
  
  On the way, sort CONFIGURE_ARGS.
  
  PR:             140995, 136607
  
  Revision  Changes    Path
  1.416     +9 -5      ports/lang/gcc45/Makefile
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
Comment 3 Gerald Pfeifer freebsd_committer freebsd_triage 2009-12-01 12:11:30 UTC
State Changed
From-To: open->closed

Fixed.  Thanks for the report and helping in tracking this down and 
testing my fix!