Message ID | 000601d43bc6$42be7b10$c83b7130$@loongson.cn |
---|---|
State | Superseded |
Headers | show |
On Sat, Aug 25, 2018 at 12:19:40AM +0800, Shiyou Yin wrote: > rom: ffmpeg-devel-bounces@ffmpeg.org [mailto:ffmpeg-devel-bounces@ffmpeg.org] On Behalf Of > >Michael Niedermayer > >Sent: Thursday, August 23, 2018 3:27 AM > >To: FFmpeg development discussions and patches > >Subject: Re: [FFmpeg-devel] [PATCH 1/9] configure: [loongson] revert no-expensive-optimizations > > > >On Wed, Aug 22, 2018 at 06:11:15PM +0800, Shiyou Yin wrote: > >> >-----Original Message----- > >> >From: ffmpeg-devel-bounces@ffmpeg.org > >> >[mailto:ffmpeg-devel-bounces@ffmpeg.org] On Behalf Of Michael > >> >Niedermayer > >> >Sent: Wednesday, August 22, 2018 6:04 AM > >> >To: FFmpeg development discussions and patches > >> >Subject: Re: [FFmpeg-devel] [PATCH 1/9] configure: [loongson] revert > >> >no-expensive-optimizations > >> > > >> >On Tue, Aug 21, 2018 at 04:06:05PM +0800, Shiyou Yin wrote: > >> >> >-----Original Message----- > >> >> >From: ffmpeg-devel-bounces@ffmpeg.org > >> >> >[mailto:ffmpeg-devel-bounces@ffmpeg.org] On Behalf Of Shiyou Yin > >> >> >Sent: Thursday, July 12, 2018 8:44 PM > >> >> >To: ffmpeg-devel@ffmpeg.org > >> >> >Subject: [FFmpeg-devel] [PATCH 1/9] configure: [loongson] revert > >> >> >no-expensive-optimizations > >> >> > > >> >> >The bug in gcc-4.9.x has been fixed in gcc master branch. > >> >> >Loongson released gcc-4.9.3-3.fc21.loongson with this patch. > >> >> >More bug info see: > >> >> >https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67736 > >> >> >https://gcc.gnu.org/ml/gcc-patches/2012-05/msg00401.html > >> >> > > >> >> >Change-Id: I780125d4cdee71d40457aaee22126ba0547a2c8f > >> >> >Signed-off-by: Shiyou Yin <yinshiyou-hf@loongson.cn> > >> >> >--- > >> >> > configure | 6 +++--- > >> >> > 1 file changed, 3 insertions(+), 3 deletions(-) > >> >> > > >> >> >diff --git a/configure b/configure index b1a4dcf..17a7ea9 100755 > >> >> >--- a/configure > >> >> >+++ b/configure > >> >> >@@ -4789,13 +4789,13 @@ elif enabled mips; then > >> >> > disable mipsdspr2 > >> >> > case $cpu in > >> >> > loongson3*) > >> >> >- cpuflags="-march=loongson3a -mhard-float > >> >-fno-expensive-optimizations" > >> >> >+ cpuflags="-march=loongson3a -mhard-float" > >> >> > ;; > >> >> > loongson2e) > >> >> >- cpuflags="-march=loongson2e -mhard-float > >> >-fno-expensive-optimizations" > >> >> >+ cpuflags="-march=loongson2e -mhard-float" > >> >> > ;; > >> >> > loongson2f) > >> >> >- cpuflags="-march=loongson2f -mhard-float > >> >-fno-expensive-optimizations" > >> >> >+ cpuflags="-march=loongson2f -mhard-float" > >> >> > ;; > >> >> > esac > >> >> > ;; > >> >> >-- > >> >> >2.1.0 > >> >> > > >> >> > >> >> Hi Michael, could you please help to apply this patch. It has been tested on loongson > platform. > >> > > >> >shouldnt this test the compiler the user uses ? its version or something ? > >> > > >> Thank you very much for your review. Be strictly, it's needed to check > >> the compiler version which user uses. > >> Consider that this bug has been fixed about three years and the > >> compiler has been upgraded a lot of times in loongson yum repository. > >> At present, there are still only a few developers will build ffmpeg on > >> loongson platform. The risk of his change is controllable. > >> So, between the simplicity and absolute reliability of the code I chosed the simplicity this > time. > >> Should I still add version check here? > > > >I think there should maybe be a check for the minimum gcc version supported then to ensure that no > too > >old version is used. If you do not want to add teh flag for specific versions The effect of the bug > was IIRC > >not trivial to connect to the gcc version so it could leave a developer quite lost and confused > what is > >causing it > > > > Hi Michael, please help to review the following updates. > > > diff --git a/configure b/configure > index b9c9d0b..08cf48e 100755 > --- a/configure > +++ b/configure > @@ -4796,15 +4796,24 @@ elif enabled mips; then > disable mipsfpu > disable mipsdsp > disable mipsdspr2 > + # When gcc version less than 5.3.0, add -fno-expensive-optimizations flag. > + if [ $cc == gcc ]; then > + gcc_version=$(gcc -dumpversion) > + if [ "$(echo "$gcc_version 5.3.0" | tr " " "\n" | sort -rV | head -n 1)" == > "$gcc_version" ]; then > + expensive_optimization_flag="" > + else > + expensive_optimization_flag="-fno-expensive-optimizations" > + fi > + fi This patch looks corrupted (by a newline) [...]
diff --git a/configure b/configure index b9c9d0b..08cf48e 100755 --- a/configure +++ b/configure @@ -4796,15 +4796,24 @@ elif enabled mips; then disable mipsfpu disable mipsdsp disable mipsdspr2 + # When gcc version less than 5.3.0, add -fno-expensive-optimizations flag. + if [ $cc == gcc ]; then + gcc_version=$(gcc -dumpversion) + if [ "$(echo "$gcc_version 5.3.0" | tr " " "\n" | sort -rV | head -n 1)" == "$gcc_version" ]; then + expensive_optimization_flag="" + else + expensive_optimization_flag="-fno-expensive-optimizations" + fi + fi case $cpu in loongson3*) - cpuflags="-march=loongson3a -mhard-float -fno-expensive-optimizations" + cpuflags="-march=loongson3a -mhard-float $expensive_optimization_flag" ;; loongson2e) - cpuflags="-march=loongson2e -mhard-float -fno-expensive-optimizations" + cpuflags="-march=loongson2e -mhard-float $expensive_optimization_flag" ;; loongson2f) - cpuflags="-march=loongson2f -mhard-float -fno-expensive-optimizations" + cpuflags="-march=loongson2f -mhard-float $expensive_optimization_flag" ;; esac