All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Sanders <Daniel.Sanders@imgtec.com>
To: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>,
	"linux-mips@linux-mips.org" <linux-mips@linux-mips.org>,
	Ralf Baechle <ralf@linux-mips.org>
Cc: Paul Burton <Paul.Burton@imgtec.com>,
	Markos Chandras <Markos.Chandras@imgtec.com>,
	James Hogan <James.Hogan@imgtec.com>,
	"Behan Webster" <behanw@converseincode.com>
Subject: RE: [PATCH] MIPS: Changed current_thread_info() to an equivalent supported by both clang and GCC
Date: Fri, 9 Jan 2015 13:23:27 +0000	[thread overview]
Message-ID: <E484D272A3A61B4880CDF2E712E9279F458E68B8@hhmail02.hh.imgtec.org> (raw)
In-Reply-To: <54AFC6F3.1020300@cogentembedded.com>

Hi,

Thanks for the quick reply.

> -----Original Message-----
> From: Sergei Shtylyov [mailto:sergei.shtylyov@cogentembedded.com]
> Sent: 09 January 2015 12:18
> To: Daniel Sanders; linux-mips@linux-mips.org; Ralf Baechle
> Cc: Paul Burton; Markos Chandras; James Hogan; Behan Webster
> Subject: Re: [PATCH] MIPS: Changed current_thread_info() to an equivalent
> supported by both clang and GCC
> 
> Hello.
> 
> On 1/9/2015 3:06 PM, Daniel Sanders wrote:
> 
> > Without this, a 'break' instruction is executed very early in the boot and
> > the boot hangs.
> 
> > The problem is that clang doesn't honour named registers on local variables
> > and silently treats them as normal uninitialized variables. However, it
> > does honour them on global variables.
> 
> > Signed-off-by: Daniel Sanders <daniel.sanders@imgtec.com>
> 
> [...]
> 
> > diff --git a/arch/mips/include/asm/thread_info.h
> b/arch/mips/include/asm/thread_info.h
> > index 99eea59..2a2f3c4 100644
> > --- a/arch/mips/include/asm/thread_info.h
> > +++ b/arch/mips/include/asm/thread_info.h
> > @@ -58,11 +58,11 @@ struct thread_info {
> >   #define init_stack		(init_thread_union.stack)
> >
> >   /* How to get the thread information struct from C.  */
> > +register struct thread_info *current_gp_register asm("$28");
> 
>     *static* missing?
> 
> WBR, Sergei

Combining 'register' and 'static' is invalid.

gcc gives:
arch/mips/include/asm/thread_info.h:61:1: error: multiple storage classes in declaration specifiers
 static register struct thread_info *current_gp_register asm("$28");
 ^

and clang gives:
arch/mips/include/asm/thread_info.h:61:8: error: cannot combine with previous 'static' declaration specifier
static register struct thread_info *current_gp_register asm("$28");
       ^

  reply	other threads:[~2015-01-09 13:23 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-09 12:06 [PATCH] MIPS: Changed current_thread_info() to an equivalent supported by both clang and GCC Daniel Sanders
2015-01-09 12:06 ` Daniel Sanders
2015-01-09 12:17 ` Sergei Shtylyov
2015-01-09 13:23   ` Daniel Sanders [this message]
2015-01-09 17:26     ` David Daney
2015-01-09 20:06       ` Daniel Sanders
2015-01-09 23:29         ` Behan Webster
2015-01-09 23:52         ` David Daney
2015-01-10 12:53           ` Daniel Sanders
2015-01-16 14:37             ` Ralf Baechle
2015-01-16 15:05               ` Måns Rullgård
2015-01-16 15:05                 ` Måns Rullgård
2015-01-17 16:16               ` Daniel Sanders

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=E484D272A3A61B4880CDF2E712E9279F458E68B8@hhmail02.hh.imgtec.org \
    --to=daniel.sanders@imgtec.com \
    --cc=James.Hogan@imgtec.com \
    --cc=Markos.Chandras@imgtec.com \
    --cc=Paul.Burton@imgtec.com \
    --cc=behanw@converseincode.com \
    --cc=linux-mips@linux-mips.org \
    --cc=ralf@linux-mips.org \
    --cc=sergei.shtylyov@cogentembedded.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.