diff mbox

[FFmpeg-devel,1/9] configure: [loongson] revert no-expensive-optimizations

Message ID 000601d43bc6$42be7b10$c83b7130$@loongson.cn
State Superseded
Headers show

Commit Message

Shiyou Yin Aug. 24, 2018, 4:19 p.m. UTC
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.


             ;;

Comments

Michael Niedermayer Aug. 24, 2018, 7:32 p.m. UTC | #1
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 mbox

Patch

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