Hi, I'm investigating on mpeg2dec build failures[1], and it seems the source can only be built perfectly with gcc-3.3. gcc-3.4 and gcc-4.0 cause FTBFS. The package was only ever built with 3.3.4 in Debian, but upstream has used gcc 3.X until 3.4 inclusive to develop libmpeg2. The package used to FTBFS under gcc-4.0/m68k[2] because of the usage of -O3, but the FTBFS on sparc with gcc 3.4 or 4.0 do not seem to be related to -O3.
While searching for GCC changes relative to the optimization of inlining (or lack thereof), it seems the code checking for setjmp() in code desiring inlining was already in gcc 3.3[3]. However, the -Winline was sometimes broken in 3.x. I think setjmp() never have been inlined in mpeg2dec/sparc, but this was only seen starting at gcc 3.4, where -Winline was fixed. Since mpeg2dec uses -Wall and -Werror, this caused FTBFS. Now, I'd like to hear what people in debian-sparc think of the issue, and the best way to resolve it, my goal being to build mpeg2dec with gcc 3.4 with the least modification as possible. Why does setjmp() forbid inlinging under sparc only? Should I use gcc 3.3 under sparc? Or should I remove -Werror? Is there a way to use -Wall except -Winline? Thanks, [1] gcc 3.4: http://buildd.debian.org/fetch.php?&pkg=mpeg2dec&ver=0.4.0b-2.2&arch=sparc&stamp=1126954388&file=log&as=raw gcc 4.0: http://buildd.debian.org/fetch.php?&pkg=mpeg2dec&ver=0.4.0b-2.1&arch=sparc&stamp=1123681962&file=log&as=raw [2] gcc 3.4/m68k: http://buildd.debian.org/fetch.php?&pkg=mpeg2dec&ver=0.4.0b-2.1&arch=m68k&stamp=1123680503&file=log&as=raw [3]http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/gcc/gcc/gcc/tree-inline.c?rev=1.34.2.20&content-type=text/plain -- Loïc Minier <[EMAIL PROTECTED]> -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]