2017-12-13 03:42:28

by Joel Stanley

[permalink] [raw]
Subject: [PATCH] openrisc: Fix conflicting types for _exext and _stext

The printk tree in linux-next has a patch "symbol lookup: introduce
dereference_symbol_descriptor()" that includes sections.h in kallsyms.h,
so arch/openrisc/kernel/traps.c gets a second extern definition for
_etext and _stext.

Remove the local definitions and include sections.h directly in
preparation for the kallsyms.h change.

This fixes the following (future) build error:

CC arch/openrisc/kernel/traps.o
arch/openrisc/kernel/traps.c:43:13: error: conflicting types for ‘_etext’
extern char _etext, _stext;
^
In file included from ./arch/openrisc/include/generated/asm/sections.h:1:0,
from ./include/linux/kallsyms.h:15,
from arch/openrisc/kernel/traps.c:35:
./include/asm-generic/sections.h:35:32: note: previous declaration of ‘_etext’ was here
extern char _text[], _stext[], _etext[];
^

Signed-off-by: Joel Stanley <[email protected]>
---
arch/openrisc/kernel/traps.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/arch/openrisc/kernel/traps.c b/arch/openrisc/kernel/traps.c
index 4085d72fa5ae..5fb6d512502d 100644
--- a/arch/openrisc/kernel/traps.c
+++ b/arch/openrisc/kernel/traps.c
@@ -39,8 +39,7 @@
#include <asm/io.h>
#include <asm/pgtable.h>
#include <asm/unwinder.h>
-
-extern char _etext, _stext;
+#include <asm/sections.h>

int kstack_depth_to_print = 0x180;
int lwa_flag;
--
2.14.1


2017-12-13 06:15:53

by Sergey Senozhatsky

[permalink] [raw]
Subject: Re: [PATCH] openrisc: Fix conflicting types for _exext and _stext

On (12/13/17 14:12), Joel Stanley wrote:
> The printk tree in linux-next has a patch "symbol lookup: introduce
> dereference_symbol_descriptor()" that includes sections.h in kallsyms.h,
> so arch/openrisc/kernel/traps.c gets a second extern definition for
> _etext and _stext.
>
> Remove the local definitions and include sections.h directly in
> preparation for the kallsyms.h change.
>
> This fixes the following (future) build error:
>
> CC arch/openrisc/kernel/traps.o
> arch/openrisc/kernel/traps.c:43:13: error: conflicting types for ‘_etext’
> extern char _etext, _stext;
> ^
> In file included from ./arch/openrisc/include/generated/asm/sections.h:1:0,
> from ./include/linux/kallsyms.h:15,
> from arch/openrisc/kernel/traps.c:35:
> ./include/asm-generic/sections.h:35:32: note: previous declaration of ‘_etext’ was here
> extern char _text[], _stext[], _etext[];
> ^
>
> Signed-off-by: Joel Stanley <[email protected]>

FWIW, looks good to me,
Reviewed-by: Sergey Senozhatsky <[email protected]>

-ss

> ---
> arch/openrisc/kernel/traps.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/arch/openrisc/kernel/traps.c b/arch/openrisc/kernel/traps.c
> index 4085d72fa5ae..5fb6d512502d 100644
> --- a/arch/openrisc/kernel/traps.c
> +++ b/arch/openrisc/kernel/traps.c
> @@ -39,8 +39,7 @@
> #include <asm/io.h>
> #include <asm/pgtable.h>
> #include <asm/unwinder.h>
> -
> -extern char _etext, _stext;
> +#include <asm/sections.h>
>
> int kstack_depth_to_print = 0x180;
> int lwa_flag;
> --
> 2.14.1
>

2017-12-13 14:53:47

by Stafford Horne

[permalink] [raw]
Subject: Re: [PATCH] openrisc: Fix conflicting types for _exext and _stext

On Wed, Dec 13, 2017 at 03:15:44PM +0900, Sergey Senozhatsky wrote:
> On (12/13/17 14:12), Joel Stanley wrote:
> > The printk tree in linux-next has a patch "symbol lookup: introduce
> > dereference_symbol_descriptor()" that includes sections.h in kallsyms.h,
> > so arch/openrisc/kernel/traps.c gets a second extern definition for
> > _etext and _stext.
> >
> > Remove the local definitions and include sections.h directly in
> > preparation for the kallsyms.h change.
> >
> > This fixes the following (future) build error:
> >
> > CC arch/openrisc/kernel/traps.o
> > arch/openrisc/kernel/traps.c:43:13: error: conflicting types for ‘_etext’
> > extern char _etext, _stext;
> > ^

Oh man, why would this have been like this?

> > In file included from ./arch/openrisc/include/generated/asm/sections.h:1:0,
> > from ./include/linux/kallsyms.h:15,
> > from arch/openrisc/kernel/traps.c:35:
> > ./include/asm-generic/sections.h:35:32: note: previous declaration of ‘_etext’ was here
> > extern char _text[], _stext[], _etext[];
> > ^
> >
> > Signed-off-by: Joel Stanley <[email protected]>
>
> FWIW, looks good to me,
> Reviewed-by: Sergey Senozhatsky <[email protected]>

Thanks. Applied for 4.16.

-Stafford

> -ss
>
> > ---
> > arch/openrisc/kernel/traps.c | 3 +--
> > 1 file changed, 1 insertion(+), 2 deletions(-)
> >
> > diff --git a/arch/openrisc/kernel/traps.c b/arch/openrisc/kernel/traps.c
> > index 4085d72fa5ae..5fb6d512502d 100644
> > --- a/arch/openrisc/kernel/traps.c
> > +++ b/arch/openrisc/kernel/traps.c
> > @@ -39,8 +39,7 @@
> > #include <asm/io.h>
> > #include <asm/pgtable.h>
> > #include <asm/unwinder.h>
> > -
> > -extern char _etext, _stext;
> > +#include <asm/sections.h>
> >
> > int kstack_depth_to_print = 0x180;
> > int lwa_flag;
> > --
> > 2.14.1
> >