From larse@nik.isi.edu  Mon Oct 13 13:33:23 2003
Return-Path: <larse@nik.isi.edu>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP
	id 2CC1516A4B3; Mon, 13 Oct 2003 13:33:23 -0700 (PDT)
Received: from nik.isi.edu (nik.isi.edu [128.9.168.58])
	by mx1.FreeBSD.org (Postfix) with ESMTP
	id 9571943F3F; Mon, 13 Oct 2003 13:33:22 -0700 (PDT)
	(envelope-from larse@nik.isi.edu)
Received: from nik.isi.edu (localhost [127.0.0.1])
	by nik.isi.edu (8.12.10/8.12.10) with ESMTP id h9DKXMg0062493;
	Mon, 13 Oct 2003 13:33:22 -0700 (PDT)
	(envelope-from larse@nik.isi.edu)
Received: (from larse@localhost)
	by nik.isi.edu (8.12.10/8.12.10/Submit) id h9DKXMX1062492;
	Mon, 13 Oct 2003 13:33:22 -0700 (PDT)
	(envelope-from larse)
Message-Id: <200310132033.h9DKXMX1062492@nik.isi.edu>
Date: Mon, 13 Oct 2003 13:33:22 -0700 (PDT)
From: Lars Eggert <larse@isi.edu>
Reply-To: Lars Eggert <larse@isi.edu>
To: FreeBSD-gnats-submit@freebsd.org
Cc: lioux@freebsd.org
Subject: include/xmmintrin.h defines __v4si twice
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         57975
>Category:       bin
>Synopsis:       include/xmmintrin.h defines __v4si twice
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Oct 13 13:40:08 PDT 2003
>Closed-Date:    Tue Jul 27 15:28:38 GMT 2004
>Last-Modified:  Tue Jul 27 15:28:38 GMT 2004
>Originator:     Lars Eggert
>Release:        FreeBSD 5.1-CURRENT i386
>Organization:
>Environment:
System: FreeBSD nik.isi.edu 5.1-CURRENT FreeBSD 5.1-CURRENT #1: Wed Oct 8 10:18:33 PDT 2003 larse@nik.isi.edu:/usr/obj/usr/src/sys/KERNEL-1.32 i386


	
>Description:
include/xmmintrin.h defines __v4si twice, once in line 45, and once
again in line 1113 inside an __SSE2__ ifdef block. This causes errors
when building ports that define __SSE2__, such as multimedia/ffmpeg.

	
>How-To-Repeat:
[root@nik: /usr/ports/multimedia/ffmpeg] make
===>  Building for ffmpeg-0.4.8
gmake -C libavcodec all
gmake[1]: Entering directory `/usr/ports/multimedia/ffmpeg/work/ffmpeg-0.4.8/libavcodec'
cc -O -pipe -mmmx -msse -msse2 -march=pentium4 -I/usr/local/include  -O3 -ffast-math -fomit-frame-pointer -g -O3 -Wall -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -msse -c -o i386/fft_sse.o i386/fft_sse.c
In file included from i386/fft_sse.c:24:
/usr/include/xmmintrin.h:1113: error: redefinition of `__v4si'
/usr/include/xmmintrin.h:45: error: `__v4si' previously declared here
gmake[1]: *** [i386/fft_sse.o] Error 1
gmake[1]: Leaving directory `/usr/ports/multimedia/ffmpeg/work/ffmpeg-0.4.8/libavcodec'
gmake: *** [lib] Error 2
*** Error code 2
 
Stop in /usr/ports/multimedia/ffmpeg.

>Fix:
I locally fixed this by removing the second definition of __v4si. Not
sure what the right solution is, because xmmintrin.h is contributed code
from gcc. 


>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->closed 
State-Changed-By: stefanf 
State-Changed-When: Tue Jul 27 15:27:46 GMT 2004 
State-Changed-Why:  
Fixed with the GCC 3.3.3 20031106 import. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=57975 
>Unformatted:
