[v2] MIPS: Default to --with-llsc for the R5900 Linux target as well

Message ID 7a209bd56cc4bb5d71dcf37cc7f5878ffb05d40f.1539971239.git.noring@nocrew.org
State New
Headers show
Series
  • [v2] MIPS: Default to --with-llsc for the R5900 Linux target as well
Related show

Commit Message

Fredrik Noring Oct. 19, 2018, 6:33 p.m.
The Linux kernel requires and emulates LL and SC for the R5900 too.  The
special --without-llsc default for the R5900 is therefore not applicable
in that case.

Reviewed-by: Maciej W. Rozycki <macro@linux-mips.org>

---
Changes in v2:
- Double spacing instead of single spacing in commit message

---
 gcc/config.gcc | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

-- 
2.18.1

Comments

Fredrik Noring Nov. 7, 2018, 4:32 p.m. | #1
Hello global GCC reviewers,

Would it be possible to apply the reviewed patch below?

Thank you,
Fredrik

On Fri, Oct 19, 2018 at 08:33:33PM +0200, Fredrik Noring wrote:
> The Linux kernel requires and emulates LL and SC for the R5900 too.  The

> special --without-llsc default for the R5900 is therefore not applicable

> in that case.

> 

> Reviewed-by: Maciej W. Rozycki <macro@linux-mips.org>

> ---

> Changes in v2:

> - Double spacing instead of single spacing in commit message

> 

> ---

>  gcc/config.gcc | 8 ++++----

>  1 file changed, 4 insertions(+), 4 deletions(-)

> 

> diff --git a/gcc/config.gcc b/gcc/config.gcc

> index 720e6a7373d..68c34b16123 100644

> --- a/gcc/config.gcc

> +++ b/gcc/config.gcc

> @@ -3711,14 +3711,14 @@ fi

>  # Infer a default setting for --with-llsc.

>  if test x$with_llsc = x; then

>    case ${target} in

> -    mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)

> -      # The R5900 doesn't support LL(D) and SC(D).

> -      with_llsc=no

> -      ;;

>      mips*-*-linux*)

>        # The kernel emulates LL and SC where necessary.

>        with_llsc=yes

>        ;;

> +    mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)

> +      # The R5900 doesn't support LL(D) and SC(D).

> +      with_llsc=no

> +      ;;

>    esac

>  fi

>  

> -- 

> 2.18.1

>
Matthew Fortune Nov. 9, 2018, 10:01 p.m. | #2
Hi Fredrik,

> Would it be possible to apply the reviewed patch below?


Apologies for the total lack of response from me. Thank-you for your
efforts to get this noticed!

The patch looks OK to me. I didn't see a ChangeLog entry anywhere but
something like the following would be appropriate.

gcc/
	* config.gcc: Update with-llsc defaults for MIPS r5900.

I'll do what I can to help you get the various changes done for r5900;
I know there have been attempts before but they faded away for one
reason or another. As Maciej has said, your contribution is really
appreciated, and for this one, it is obvious enough to go in prior to
your FSF copyright assignment coming through.

Maciej: I'm not able to commit this for Fredrik at the moment, would
you mind doing that for him?

Thanks,
Matthew

> 

> Thank you,

> Fredrik

> 

> On Fri, Oct 19, 2018 at 08:33:33PM +0200, Fredrik Noring wrote:

> > The Linux kernel requires and emulates LL and SC for the R5900 too.

> > The special --without-llsc default for the R5900 is therefore not

> > applicable in that case.

> >

> > Reviewed-by: Maciej W. Rozycki <macro@linux-mips.org>

> > ---

> > Changes in v2:

> > - Double spacing instead of single spacing in commit message

> >

> > ---

> >  gcc/config.gcc | 8 ++++----

> >  1 file changed, 4 insertions(+), 4 deletions(-)

> >

> > diff --git a/gcc/config.gcc b/gcc/config.gcc index

> > 720e6a7373d..68c34b16123 100644

> > --- a/gcc/config.gcc

> > +++ b/gcc/config.gcc

> > @@ -3711,14 +3711,14 @@ fi

> >  # Infer a default setting for --with-llsc.

> >  if test x$with_llsc = x; then

> >    case ${target} in

> > -    mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-

> *)

> > -      # The R5900 doesn't support LL(D) and SC(D).

> > -      with_llsc=no

> > -      ;;

> >      mips*-*-linux*)

> >        # The kernel emulates LL and SC where necessary.

> >        with_llsc=yes

> >        ;;

> > +    mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-

> *)

> > +      # The R5900 doesn't support LL(D) and SC(D).

> > +      with_llsc=no

> > +      ;;

> >    esac

> >  fi

> >

> > --

> > 2.18.1

> >
Maciej W. Rozycki Nov. 12, 2018, 11:20 p.m. | #3
On Fri, 9 Nov 2018, mfortune@gmail.com wrote:

> Maciej: I'm not able to commit this for Fredrik at the moment, would

> you mind doing that for him?


 Sure, I have applied the change now, using your proposed ChangeLog entry.

  Maciej

Patch

diff --git a/gcc/config.gcc b/gcc/config.gcc
index 720e6a7373d..68c34b16123 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -3711,14 +3711,14 @@  fi
 # Infer a default setting for --with-llsc.
 if test x$with_llsc = x; then
   case ${target} in
-    mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
-      # The R5900 doesn't support LL(D) and SC(D).
-      with_llsc=no
-      ;;
     mips*-*-linux*)
       # The kernel emulates LL and SC where necessary.
       with_llsc=yes
       ;;
+    mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
+      # The R5900 doesn't support LL(D) and SC(D).
+      with_llsc=no
+      ;;
   esac
 fi