

Nah, I don't think so. gcc is nearly completely self-containing and the bug is a problem in the source which has nothing to do with an external dependency. CVS is always in a flux and people know that things can break. A snapshot from last month was broken too and the next one was okay again without anyone complaining. The gcc 4.0 is currently not in a critical phase (like the two weeks before a release), so people are allowed to temporarily break stuff.dirtyepic wrote:i don't see anyone reporting that fortran has been broken for weeks on comp.gcc.devel. i would think that kind of thing would be noticed pretty quickly, so i'm guessing it's gentoocentric.

Yeah, I'm seeing this too. Some older versions worked, but I'm not willing to figure out what the hell is going on again. The bugs have *again* something to do with register allocation, this is geting tiresome...zomps wrote:Problems compiling xine-lib-1.1.0-r3, libsdl-1.2.9 with gcc-4.0.2_beta20050901
changing CFLAGS doesnt help
ah i thought i remembered it being broken the week before too.chtephan wrote:Nah, I don't think so. gcc is nearly completely self-containing and the bug is a problem in the source which has nothing to do with an external dependency. CVS is always in a flux and people know that things can break. A snapshot from last month was broken too and the next one was okay again without anyone complaining. The gcc 4.0 is currently not in a critical phase (like the two weeks before a release), so people are allowed to temporarily break stuff.dirtyepic wrote:i don't see anyone reporting that fortran has been broken for weeks on comp.gcc.devel. i would think that kind of thing would be noticed pretty quickly, so i'm guessing it's gentoocentric.

What did you change --disable-fpic? I don't think that's a very good solution.dirtyepic wrote:here's the fix for xine-lib:
http://metawire.org/~dirtyepic/xine-lib-1.1.0-r3.ebuild
Yeah, that's not an acceptable solution at all.chtephan wrote:What did you change --disable-fpic? I don't think that's a very good solution.dirtyepic wrote:here's the fix for xine-lib:
http://metawire.org/~dirtyepic/xine-lib-1.1.0-r3.ebuild
Code: Select all
#if __GNUC__ < 4
typedef char v8qi __attribute__ ((__mode__(__V8QI__)));
typedef short v4hi __attribute__ ((__mode__(__V4HI__)));
typedef int v2si __attribute__ ((__mode__(__V2SI__)));
typedef int di __attribute__ ((__mode__(__DI__)));
#else
typedef char v8qi __attribute__ ((vector_size (8)));
typedef short v4hi __attribute__ ((vector_size (8)));
typedef int v2si __attribute__ ((vector_size (8)));
typedef int di __attribute__ ((vector_size (8)));
#endif
static inline void transpose4x4(uint8_t *dst, uint8_t *src, int dst_stride, int src_stride){
v8qi m0,m1,m2,m3;
m0 = __builtin_ia32_punpcklbw(*(v8qi*)(src + 1*src_stride),*(v8qi*)(src + 0*src_stride));
m1 = __builtin_ia32_punpcklbw(*(v8qi*)(src + 3*src_stride),*(v8qi*)(src + 2*src_stride));
m2 = (v8qi)__builtin_ia32_punpcklwd((v4hi)m1,(v4hi)m0);
m3 = (v8qi)__builtin_ia32_punpckhwd((v4hi)m1,(v4hi)m0);
*(v8qi*)(dst + 0*dst_stride) = m2;
*(v8qi*)(dst + 1*dst_stride) = (v8qi)__builtin_ia32_punpckhdq((v2si)m2,(v2si)m2);
*(v8qi*)(dst + 2*dst_stride) = m3;
*(v8qi*)(dst + 3*dst_stride) = (v8qi)__builtin_ia32_punpckhdq((v2si)m3,(v2si)m3);
}

Code: Select all
--- xine-lib-1.1.0.orig/src/libffmpeg/libavcodec/i386/dsputil_mmx.c 2005-07-19 22:31:09.000000000 +0200
+++ xine-lib-1.1.0/src/libffmpeg/libavcodec/i386/dsputil_mmx.c 2005-09-07 14:48:00.000000000 +0200
@@ -616,15 +616,22 @@ static void h263_v_loop_filter_mmx(uint8
static inline void transpose4x4(uint8_t *dst, uint8_t *src, int dst_stride, int src_stride){
asm volatile( //FIXME could save 1 instruction if done as 8x4 ...
- "movd %4, %%mm0 \n\t"
- "movd %5, %%mm1 \n\t"
- "movd %6, %%mm2 \n\t"
- "movd %7, %%mm3 \n\t"
+ "movd %0, %%mm0 \n\t"
+ "movd %1, %%mm1 \n\t"
+ "movd %2, %%mm2 \n\t"
+ "movd %3, %%mm3 \n\t"
"punpcklbw %%mm1, %%mm0 \n\t"
"punpcklbw %%mm3, %%mm2 \n\t"
"movq %%mm0, %%mm1 \n\t"
"punpcklwd %%mm2, %%mm0 \n\t"
"punpckhwd %%mm2, %%mm1 \n\t"
+ :
+ : "m" (*(uint32_t*)(src + 0*src_stride)),
+ "m" (*(uint32_t*)(src + 1*src_stride)),
+ "m" (*(uint32_t*)(src + 2*src_stride)),
+ "m" (*(uint32_t*)(src + 3*src_stride))
+ );
+ asm volatile(
"movd %%mm0, %0 \n\t"
"punpckhdq %%mm0, %%mm0 \n\t"
"movd %%mm0, %1 \n\t"
@@ -636,10 +643,7 @@ static inline void transpose4x4(uint8_t
"=m" (*(uint32_t*)(dst + 1*dst_stride)),
"=m" (*(uint32_t*)(dst + 2*dst_stride)),
"=m" (*(uint32_t*)(dst + 3*dst_stride))
- : "m" (*(uint32_t*)(src + 0*src_stride)),
- "m" (*(uint32_t*)(src + 1*src_stride)),
- "m" (*(uint32_t*)(src + 2*src_stride)),
- "m" (*(uint32_t*)(src + 3*src_stride))
+ :
);
}

Have you tried without -frename-registers ?zomps wrote:Problems compiling xine-lib-1.1.0-r3, libsdl-1.2.9 with gcc-4.0.2_beta20050901
changing CFLAGS doesnt helpCode: Select all
i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../../../.. -I../../../.. -I../../../../include -I../../../../include -I../../../../src -I../../../../src/xine-engine -I../../../../src/xine-engine -I../../../../src/xine-utils -I../../../../src/input -I../../../../src/input -I../../../../lib -DSIMPLE_IDCT -DHAVE_AV_CONFIG_H -DRUNTIME_CPUDETECT -DUSE_FASTMEMCPY -DCONFIG_RISKY -DCONFIG_DECODERS -DXINE_MPEG_ENCODER -DCONFIG_ZLIB -DNDEBUG -D_REENTRANT -DXINE_COMPILE -DENABLE_IPV6 -O1 -frename-registers -ffunction-sections -mno-sse -fomit-frame-pointer -c dsputil_mmx.c -fPIC -DPIC -o .libs/dsputil_mmx.o In file included from dsputil_mmx.c:2407: h264dsp_mmx.c: In function 'h264_h_loop_filter_luma_mmx2': dsputil_mmx.c:618: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm' dsputil_mmx.c:618: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm' make[5]: *** [dsputil_mmx.lo] Error 1



The boost bug is a known problem, I don't have access to my email right now, so I don't have the upstream bug number. Its because of some recent changes to the C++ frontend.Exner wrote:I have a couple of packages now that wont compile with gcc-4.0.2_beta20050901 where they did with previous versions. dev-libs/boost-1.32.0-r4 being one of them.

I personally don't use any KDE stuff, but could you be more precise? And give the output of `emerge info'?luisfelipe wrote:I'm having problems compiling kdelibs too. Has anyone experienced this ?
Tested it, same resultExner wrote:Have you tried without -frename-registers ?zomps wrote:Problems compiling xine-lib-1.1.0-r3, libsdl-1.2.9 with gcc-4.0.2_beta20050901
changing CFLAGS doesnt helpCode: Select all
i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../../../.. -I../../../.. -I../../../../include -I../../../../include -I../../../../src -I../../../../src/xine-engine -I../../../../src/xine-engine -I../../../../src/xine-utils -I../../../../src/input -I../../../../src/input -I../../../../lib -DSIMPLE_IDCT -DHAVE_AV_CONFIG_H -DRUNTIME_CPUDETECT -DUSE_FASTMEMCPY -DCONFIG_RISKY -DCONFIG_DECODERS -DXINE_MPEG_ENCODER -DCONFIG_ZLIB -DNDEBUG -D_REENTRANT -DXINE_COMPILE -DENABLE_IPV6 -O1 -frename-registers -ffunction-sections -mno-sse -fomit-frame-pointer -c dsputil_mmx.c -fPIC -DPIC -o .libs/dsputil_mmx.o In file included from dsputil_mmx.c:2407: h264dsp_mmx.c: In function 'h264_h_loop_filter_luma_mmx2': dsputil_mmx.c:618: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm' dsputil_mmx.c:618: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm' make[5]: *** [dsputil_mmx.lo] Error 1
https://bugs.gentoo.org/show_bug.cgi?id=104966zomps wrote:Tested it, same resultExner wrote:Have you tried without -frename-registers ?zomps wrote:Problems compiling xine-lib-1.1.0-r3, libsdl-1.2.9 with gcc-4.0.2_beta20050901
changing CFLAGS doesnt helpCode: Select all
i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../../../.. -I../../../.. -I../../../../include -I../../../../include -I../../../../src -I../../../../src/xine-engine -I../../../../src/xine-engine -I../../../../src/xine-utils -I../../../../src/input -I../../../../src/input -I../../../../lib -DSIMPLE_IDCT -DHAVE_AV_CONFIG_H -DRUNTIME_CPUDETECT -DUSE_FASTMEMCPY -DCONFIG_RISKY -DCONFIG_DECODERS -DXINE_MPEG_ENCODER -DCONFIG_ZLIB -DNDEBUG -D_REENTRANT -DXINE_COMPILE -DENABLE_IPV6 -O1 -frename-registers -ffunction-sections -mno-sse -fomit-frame-pointer -c dsputil_mmx.c -fPIC -DPIC -o .libs/dsputil_mmx.o In file included from dsputil_mmx.c:2407: h264dsp_mmx.c: In function 'h264_h_loop_filter_luma_mmx2': dsputil_mmx.c:618: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm' dsputil_mmx.c:618: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm' make[5]: *** [dsputil_mmx.lo] Error 1
Will this same method fix libsdl-1.2.9 build?Halcy0n wrote: https://bugs.gentoo.org/show_bug.cgi?id=104966
Please try the patch I have attached there.
Code: Select all
i686-pc-linux-gnu-gcc -DPACKAGE_NAME="" -DPACKAGE_TARNAME="" -DPACKAGE_VERSION="" -DPACKAGE_STRING="" -DPACKAGE_BUGREPORT="" -DPACKAGE="SDL" -DVERSION="1.2.9" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -DHAVE_LIBASOUND=1 -I. -I. -O1 -Wall -DENABLE_DUMMYVIDEO -DDISKAUD_SUPPORT -DUSE_DLOPEN -DUSE_ASMBLIT -I./hermes -I../../src/hermes -DALSA_SUPPORT -DALSA_DYNAMIC=libasound.so.2 -DUSE_DLVSYM -DENABLE_X11 -DXTHREADS -I./include -I./src/video -DXFREE86_VM -DXFREE86_VMGAMMA -DXFREE86_XV -DHAVE_OPENGL -DUSE_INPUT_EVENTS -D_REENTRANT -DSDL_USE_PTHREADS -DHAVE_SIGACTION -DHAVE_LINUX_VERSION_H -I../../include -I../../include/SDL -I../../src -I../../src/main/linux -I../../src/audio -I../../src/video -I../../src/video/XFree86/extensions -I../../src/events -I../../src/joystick -I../../src/cdrom -I../../src/thread -I../../src/timer -I../../src/endian -I../../src/file -I../../src/thread -c SDL_yuv_mmx.c -fPIC -DPIC -o .libs/SDL_yuv_mmx.o
SDL_yuv_mmx.c: In function 'ColorRGBDitherYV12MMX1X':
SDL_yuv_mmx.c:113: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm'
My bad, it tougth there was the only PIC disabling patchzomps wrote:Will this same method fix libsdl-1.2.9 build?Halcy0n wrote: https://bugs.gentoo.org/show_bug.cgi?id=104966
Please try the patch I have attached there.
Yes it helpsHalcy0n wrote: https://bugs.gentoo.org/show_bug.cgi?id=104966
Please try the patch I have attached there.