Messages in this thread | | | Subject | Re: [PATCH] MIPS: include: Mark __xchg as __always_inline | From | Philippe Mathieu-Daudé <> | Date | Wed, 9 Oct 2019 14:43:35 +0200 |
| |
On 10/9/19 12:06 PM, Thomas Bogendoerfer wrote: > Commit ac7c3e4ff401 ("compiler: enable CONFIG_OPTIMIZE_INLINING > forcibly") allows compiler to uninline functions marked as 'inline'. > In cace of __xchg this would cause to reference function
Typo: "in case of"
> __xchg_called_with_bad_pointer, which is an error case > for catching bugs and will not happen for correct code, if > __xchg is inlined. >
Ah, this is the equivalent of ARM commit 920fdab7b3c.
Maybe add:
Fixes: ac7c3e4ff401
> Signed-off-by: Thomas Bogendoerfer <tbogendoerfer@suse.de> > --- > arch/mips/include/asm/cmpxchg.h | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/mips/include/asm/cmpxchg.h b/arch/mips/include/asm/cmpxchg.h > index 012dcf7046ad..f6136871561d 100644 > --- a/arch/mips/include/asm/cmpxchg.h > +++ b/arch/mips/include/asm/cmpxchg.h > @@ -77,8 +77,8 @@ extern unsigned long __xchg_called_with_bad_pointer(void) > extern unsigned long __xchg_small(volatile void *ptr, unsigned long val, > unsigned int size); > > -static inline unsigned long __xchg(volatile void *ptr, unsigned long x, > - int size) > +static __always_inline > +unsigned long __xchg(volatile void *ptr, unsigned long x, int size) > { > switch (size) { > case 1: >
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
| |