[PATCH v2] next: openrisc: Fix build

Subsystems: openrisc architecture, the rest

STALE4337d

7 messages, 4 authors, 2014-09-27 · open the first message on its own page

[PATCH v2] next: openrisc: Fix build

From: Guenter Roeck <linux@roeck-us.net>
Date: 2014-09-26 16:05:48

openrisc:defconfig fails to build in next-20140926 with the following error.

In file included from arch/openrisc/kernel/signal.c:31:0:
./arch/openrisc/include/asm/syscall.h: In function 'syscall_get_arch':
./arch/openrisc/include/asm/syscall.h:77:9: error: 'EM_OPENRISC' undeclared

Fix by moving EM_OPENRISC to include/uapi/linux/elf-em.h.

Fixes: ce5d112827e5 ("ARCH: AUDIT: implement syscall_get_arch for all arches")
Cc: Eric Paris <redacted>
Cc: Stefan Kristiansson <redacted>
Cc: Geert Uytterhoeven <redacted>
Cc: Stephen Rothwell <redacted>
Signed-off-by: Guenter Roeck <redacted>
---
v2: Only move EM_OPENRISC.

Another possible solution for the problem would be to include asm/elf.h
in arch/openrisc/kernel/signal.c. I had actually submitted a patch with
that fix back in August (maybe that is where I remembered the problem from).
Wonder what happened with that patch.

Would it make sense to drop EM_OR32 and replace it with EM_OPENRISC where
it is used ? binutils seems to suggest that EM_OPENRISC is the "official"
definition.

 arch/openrisc/include/uapi/asm/elf.h | 3 +--
 include/uapi/linux/elf-em.h          | 1 +
 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/openrisc/include/uapi/asm/elf.h b/arch/openrisc/include/uapi/asm/elf.h
index f02ea58..8884276 100644
--- a/arch/openrisc/include/uapi/asm/elf.h
+++ b/arch/openrisc/include/uapi/asm/elf.h
@@ -55,9 +55,8 @@ typedef elf_greg_t elf_gregset_t[ELF_NGREG];
 /* A placeholder; OR32 does not have fp support yes, so no fp regs for now.  */
 typedef unsigned long elf_fpregset_t;
 
-/* This should be moved to include/linux/elf.h */
+/* EM_OPENRISC is defined in linux/elf-em.h */
 #define EM_OR32         0x8472
-#define EM_OPENRISC     92     /* OpenRISC 32-bit embedded processor */
 
 /*
  * These are used to set parameters in the core dumps.
diff --git a/include/uapi/linux/elf-em.h b/include/uapi/linux/elf-em.h
index 01529bd..aa90bc9 100644
--- a/include/uapi/linux/elf-em.h
+++ b/include/uapi/linux/elf-em.h
@@ -32,6 +32,7 @@
 #define EM_V850		87	/* NEC v850 */
 #define EM_M32R		88	/* Renesas M32R */
 #define EM_MN10300	89	/* Panasonic/MEI MN10300, AM33 */
+#define EM_OPENRISC     92     /* OpenRISC 32-bit embedded processor */
 #define EM_BLACKFIN     106     /* ADI Blackfin Processor */
 #define EM_TI_C6000	140	/* TI C6X DSPs */
 #define EM_AARCH64	183	/* ARM 64 bit */
-- 
1.9.1

Re: [PATCH v2] next: openrisc: Fix build

From: Jonas Bonn <jonas@southpole.se>
Date: 2014-09-26 17:51:57

On 09/26/2014 06:05 PM, Guenter Roeck wrote:
openrisc:defconfig fails to build in next-20140926 with the following error.

In file included from arch/openrisc/kernel/signal.c:31:0:
./arch/openrisc/include/asm/syscall.h: In function 'syscall_get_arch':
./arch/openrisc/include/asm/syscall.h:77:9: error: 'EM_OPENRISC' undeclared

Fix by moving EM_OPENRISC to include/uapi/linux/elf-em.h.

Fixes: ce5d112827e5 ("ARCH: AUDIT: implement syscall_get_arch for all arches")
Cc: Eric Paris <eparis@redhat.com>
Cc: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Stephen Rothwell <redacted>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
---
v2: Only move EM_OPENRISC.

Another possible solution for the problem would be to include asm/elf.h
in arch/openrisc/kernel/signal.c. I had actually submitted a patch with
that fix back in August (maybe that is where I remembered the problem from).
Wonder what happened with that patch.

Would it make sense to drop EM_OR32 and replace it with EM_OPENRISC where
it is used ? binutils seems to suggest that EM_OPENRISC is the "official"
definition.
Do we even use EM_OR32?  Will the kernel build with the old toolchain if
we drop it?  If yes, drop it altogether... I don't recall the details as
to why we kept that define around at all.  And really, why bother
supporting the old toolchain at all... it's been at least two or three
years since EM_OPENRISC was added, hopefully people have moved on.  If
users want to upgrade their kernel, they can update the toolchain, too,
at this point.

/Jonas
quoted hunk
 arch/openrisc/include/uapi/asm/elf.h | 3 +--
 include/uapi/linux/elf-em.h          | 1 +
 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/openrisc/include/uapi/asm/elf.h b/arch/openrisc/include/uapi/asm/elf.h
index f02ea58..8884276 100644
--- a/arch/openrisc/include/uapi/asm/elf.h
+++ b/arch/openrisc/include/uapi/asm/elf.h
@@ -55,9 +55,8 @@ typedef elf_greg_t elf_gregset_t[ELF_NGREG];
 /* A placeholder; OR32 does not have fp support yes, so no fp regs for now.  */
 typedef unsigned long elf_fpregset_t;
 
-/* This should be moved to include/linux/elf.h */
+/* EM_OPENRISC is defined in linux/elf-em.h */
 #define EM_OR32         0x8472
-#define EM_OPENRISC     92     /* OpenRISC 32-bit embedded processor */
 
 /*
  * These are used to set parameters in the core dumps.
diff --git a/include/uapi/linux/elf-em.h b/include/uapi/linux/elf-em.h
index 01529bd..aa90bc9 100644
--- a/include/uapi/linux/elf-em.h
+++ b/include/uapi/linux/elf-em.h
@@ -32,6 +32,7 @@
 #define EM_V850		87	/* NEC v850 */
 #define EM_M32R		88	/* Renesas M32R */
 #define EM_MN10300	89	/* Panasonic/MEI MN10300, AM33 */
+#define EM_OPENRISC     92     /* OpenRISC 32-bit embedded processor */
 #define EM_BLACKFIN     106     /* ADI Blackfin Processor */
 #define EM_TI_C6000	140	/* TI C6X DSPs */
 #define EM_AARCH64	183	/* ARM 64 bit */

Re: [PATCH v2] next: openrisc: Fix build

From: Eric Paris <eparis@redhat.com>
Date: 2014-09-26 17:53:28

Would you like me to carry this in the audit tree, since I'm the one who
broke it?

-Eric

On Fri, 2014-09-26 at 09:05 -0700, Guenter Roeck wrote:
quoted hunk
openrisc:defconfig fails to build in next-20140926 with the following error.

In file included from arch/openrisc/kernel/signal.c:31:0:
./arch/openrisc/include/asm/syscall.h: In function 'syscall_get_arch':
./arch/openrisc/include/asm/syscall.h:77:9: error: 'EM_OPENRISC' undeclared

Fix by moving EM_OPENRISC to include/uapi/linux/elf-em.h.

Fixes: ce5d112827e5 ("ARCH: AUDIT: implement syscall_get_arch for all arches")
Cc: Eric Paris <eparis@redhat.com>
Cc: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Stephen Rothwell <redacted>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
---
v2: Only move EM_OPENRISC.

Another possible solution for the problem would be to include asm/elf.h
in arch/openrisc/kernel/signal.c. I had actually submitted a patch with
that fix back in August (maybe that is where I remembered the problem from).
Wonder what happened with that patch.

Would it make sense to drop EM_OR32 and replace it with EM_OPENRISC where
it is used ? binutils seems to suggest that EM_OPENRISC is the "official"
definition.

 arch/openrisc/include/uapi/asm/elf.h | 3 +--
 include/uapi/linux/elf-em.h          | 1 +
 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/openrisc/include/uapi/asm/elf.h b/arch/openrisc/include/uapi/asm/elf.h
index f02ea58..8884276 100644
--- a/arch/openrisc/include/uapi/asm/elf.h
+++ b/arch/openrisc/include/uapi/asm/elf.h
@@ -55,9 +55,8 @@ typedef elf_greg_t elf_gregset_t[ELF_NGREG];
 /* A placeholder; OR32 does not have fp support yes, so no fp regs for now.  */
 typedef unsigned long elf_fpregset_t;
 
-/* This should be moved to include/linux/elf.h */
+/* EM_OPENRISC is defined in linux/elf-em.h */
 #define EM_OR32         0x8472
-#define EM_OPENRISC     92     /* OpenRISC 32-bit embedded processor */
 
 /*
  * These are used to set parameters in the core dumps.
diff --git a/include/uapi/linux/elf-em.h b/include/uapi/linux/elf-em.h
index 01529bd..aa90bc9 100644
--- a/include/uapi/linux/elf-em.h
+++ b/include/uapi/linux/elf-em.h
@@ -32,6 +32,7 @@
 #define EM_V850		87	/* NEC v850 */
 #define EM_M32R		88	/* Renesas M32R */
 #define EM_MN10300	89	/* Panasonic/MEI MN10300, AM33 */
+#define EM_OPENRISC     92     /* OpenRISC 32-bit embedded processor */
 #define EM_BLACKFIN     106     /* ADI Blackfin Processor */
 #define EM_TI_C6000	140	/* TI C6X DSPs */
 #define EM_AARCH64	183	/* ARM 64 bit */

Re: [PATCH v2] next: openrisc: Fix build

From: Guenter Roeck <linux@roeck-us.net>
Date: 2014-09-26 18:06:55

On Fri, Sep 26, 2014 at 07:51:49PM +0200, Jonas Bonn wrote:
On 09/26/2014 06:05 PM, Guenter Roeck wrote:
quoted
openrisc:defconfig fails to build in next-20140926 with the following error.

In file included from arch/openrisc/kernel/signal.c:31:0:
./arch/openrisc/include/asm/syscall.h: In function 'syscall_get_arch':
./arch/openrisc/include/asm/syscall.h:77:9: error: 'EM_OPENRISC' undeclared

Fix by moving EM_OPENRISC to include/uapi/linux/elf-em.h.

Fixes: ce5d112827e5 ("ARCH: AUDIT: implement syscall_get_arch for all arches")
Cc: Eric Paris <redacted>
Cc: Stefan Kristiansson <redacted>
Cc: Geert Uytterhoeven <redacted>
Cc: Stephen Rothwell <redacted>
Signed-off-by: Guenter Roeck <redacted>
---
v2: Only move EM_OPENRISC.

Another possible solution for the problem would be to include asm/elf.h
in arch/openrisc/kernel/signal.c. I had actually submitted a patch with
that fix back in August (maybe that is where I remembered the problem from).
Wonder what happened with that patch.

Would it make sense to drop EM_OR32 and replace it with EM_OPENRISC where
it is used ? binutils seems to suggest that EM_OPENRISC is the "official"
definition.
Do we even use EM_OR32?  Will the kernel build with the old toolchain if
we drop it?  If yes, drop it altogether... I don't recall the details as
to why we kept that define around at all.  And really, why bother
supporting the old toolchain at all... it's been at least two or three
years since EM_OPENRISC was added, hopefully people have moved on.  If
users want to upgrade their kernel, they can update the toolchain, too,
at this point.
EM_OR32 is used to define ELF_ARCH, which per its comment is used in core
dumps. No idea if that is important/relevant. You tell me ;-).

The kernel builds with both the old (or32) and new (or1k) toolchain after
removing EM_OR32 and defining ELF_ARCH as EM_OPENRISC. I can not test the
kernel built with the or32 toolchain, but qemu is happy with the image built
using the or1k toolchain.

I'll be happy to submit a patch to remove EM_OR32 if it is not needed anymore.

Thanks,
Guenter

Re: [PATCH v2] next: openrisc: Fix build

From: Guenter Roeck <linux@roeck-us.net>
Date: 2014-09-26 18:08:20

On Fri, Sep 26, 2014 at 01:53:01PM -0400, Eric Paris wrote:
Would you like me to carry this in the audit tree, since I'm the one who
broke it?
Hi Eric,

guess you are asking Jonas, but it would make sense to me.

Guenter
-Eric

On Fri, 2014-09-26 at 09:05 -0700, Guenter Roeck wrote:
quoted
openrisc:defconfig fails to build in next-20140926 with the following error.

In file included from arch/openrisc/kernel/signal.c:31:0:
./arch/openrisc/include/asm/syscall.h: In function 'syscall_get_arch':
./arch/openrisc/include/asm/syscall.h:77:9: error: 'EM_OPENRISC' undeclared

Fix by moving EM_OPENRISC to include/uapi/linux/elf-em.h.

Fixes: ce5d112827e5 ("ARCH: AUDIT: implement syscall_get_arch for all arches")
Cc: Eric Paris <redacted>
Cc: Stefan Kristiansson <redacted>
Cc: Geert Uytterhoeven <redacted>
Cc: Stephen Rothwell <redacted>
Signed-off-by: Guenter Roeck <redacted>
---
v2: Only move EM_OPENRISC.

Another possible solution for the problem would be to include asm/elf.h
in arch/openrisc/kernel/signal.c. I had actually submitted a patch with
that fix back in August (maybe that is where I remembered the problem from).
Wonder what happened with that patch.

Would it make sense to drop EM_OR32 and replace it with EM_OPENRISC where
it is used ? binutils seems to suggest that EM_OPENRISC is the "official"
definition.

 arch/openrisc/include/uapi/asm/elf.h | 3 +--
 include/uapi/linux/elf-em.h          | 1 +
 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/openrisc/include/uapi/asm/elf.h b/arch/openrisc/include/uapi/asm/elf.h
index f02ea58..8884276 100644
--- a/arch/openrisc/include/uapi/asm/elf.h
+++ b/arch/openrisc/include/uapi/asm/elf.h
@@ -55,9 +55,8 @@ typedef elf_greg_t elf_gregset_t[ELF_NGREG];
 /* A placeholder; OR32 does not have fp support yes, so no fp regs for now.  */
 typedef unsigned long elf_fpregset_t;
 
-/* This should be moved to include/linux/elf.h */
+/* EM_OPENRISC is defined in linux/elf-em.h */
 #define EM_OR32         0x8472
-#define EM_OPENRISC     92     /* OpenRISC 32-bit embedded processor */
 
 /*
  * These are used to set parameters in the core dumps.
diff --git a/include/uapi/linux/elf-em.h b/include/uapi/linux/elf-em.h
index 01529bd..aa90bc9 100644
--- a/include/uapi/linux/elf-em.h
+++ b/include/uapi/linux/elf-em.h
@@ -32,6 +32,7 @@
 #define EM_V850		87	/* NEC v850 */
 #define EM_M32R		88	/* Renesas M32R */
 #define EM_MN10300	89	/* Panasonic/MEI MN10300, AM33 */
+#define EM_OPENRISC     92     /* OpenRISC 32-bit embedded processor */
 #define EM_BLACKFIN     106     /* ADI Blackfin Processor */
 #define EM_TI_C6000	140	/* TI C6X DSPs */
 #define EM_AARCH64	183	/* ARM 64 bit */

Re: [PATCH v2] next: openrisc: Fix build

From: Jonas Bonn <jonas@southpole.se>
Date: 2014-09-26 18:18:52

-- 
Sent from my Android phone with K-9 Mail. Please excuse my brevity.

On September 26, 2014 8:08:13 PM CEST, Guenter Roeck [off-list ref] wrote:
On Fri, Sep 26, 2014 at 01:53:01PM -0400, Eric Paris wrote:
quoted
Would you like me to carry this in the audit tree, since I'm the one
who
quoted
broke it?
Hi Eric,

guess you are asking Jonas, but it would make sense to me.
Hi Eric,
Yes, please take this via the audit tree.
/Jonas
Guenter
quoted
-Eric

On Fri, 2014-09-26 at 09:05 -0700, Guenter Roeck wrote:
quoted
openrisc:defconfig fails to build in next-20140926 with the
following error.
quoted
quoted
In file included from arch/openrisc/kernel/signal.c:31:0:
./arch/openrisc/include/asm/syscall.h: In function
'syscall_get_arch':
quoted
quoted
./arch/openrisc/include/asm/syscall.h:77:9: error: 'EM_OPENRISC'
undeclared
quoted
quoted
Fix by moving EM_OPENRISC to include/uapi/linux/elf-em.h.

Fixes: ce5d112827e5 ("ARCH: AUDIT: implement syscall_get_arch for
all arches")
quoted
quoted
Cc: Eric Paris <eparis@redhat.com>
Cc: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Stephen Rothwell <redacted>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
---
v2: Only move EM_OPENRISC.

Another possible solution for the problem would be to include
asm/elf.h
quoted
quoted
in arch/openrisc/kernel/signal.c. I had actually submitted a patch
with
quoted
quoted
that fix back in August (maybe that is where I remembered the
problem from).
quoted
quoted
Wonder what happened with that patch.

Would it make sense to drop EM_OR32 and replace it with EM_OPENRISC
where
quoted
quoted
it is used ? binutils seems to suggest that EM_OPENRISC is the
"official"
quoted
quoted
definition.

 arch/openrisc/include/uapi/asm/elf.h | 3 +--
 include/uapi/linux/elf-em.h          | 1 +
 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/openrisc/include/uapi/asm/elf.h
b/arch/openrisc/include/uapi/asm/elf.h
quoted
quoted
index f02ea58..8884276 100644
--- a/arch/openrisc/include/uapi/asm/elf.h
+++ b/arch/openrisc/include/uapi/asm/elf.h
@@ -55,9 +55,8 @@ typedef elf_greg_t elf_gregset_t[ELF_NGREG];
 /* A placeholder; OR32 does not have fp support yes, so no fp regs
for now.  */
quoted
quoted
 typedef unsigned long elf_fpregset_t;
 
-/* This should be moved to include/linux/elf.h */
+/* EM_OPENRISC is defined in linux/elf-em.h */
 #define EM_OR32         0x8472
-#define EM_OPENRISC     92     /* OpenRISC 32-bit embedded
processor */
quoted
quoted
 
 /*
  * These are used to set parameters in the core dumps.
diff --git a/include/uapi/linux/elf-em.h
b/include/uapi/linux/elf-em.h
quoted
quoted
index 01529bd..aa90bc9 100644
--- a/include/uapi/linux/elf-em.h
+++ b/include/uapi/linux/elf-em.h
@@ -32,6 +32,7 @@
 #define EM_V850		87	/* NEC v850 */
 #define EM_M32R		88	/* Renesas M32R */
 #define EM_MN10300	89	/* Panasonic/MEI MN10300, AM33 */
+#define EM_OPENRISC     92     /* OpenRISC 32-bit embedded
processor */
quoted
quoted
 #define EM_BLACKFIN     106     /* ADI Blackfin Processor */
 #define EM_TI_C6000	140	/* TI C6X DSPs */
 #define EM_AARCH64	183	/* ARM 64 bit */

Re: [PATCH v2] next: openrisc: Fix build

From: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
Date: 2014-09-27 04:14:59

On Fri, Sep 26, 2014 at 07:51:49PM +0200, Jonas Bonn wrote:
On 09/26/2014 06:05 PM, Guenter Roeck wrote:
quoted
openrisc:defconfig fails to build in next-20140926 with the following error.

In file included from arch/openrisc/kernel/signal.c:31:0:
./arch/openrisc/include/asm/syscall.h: In function 'syscall_get_arch':
./arch/openrisc/include/asm/syscall.h:77:9: error: 'EM_OPENRISC' undeclared

Fix by moving EM_OPENRISC to include/uapi/linux/elf-em.h.

Fixes: ce5d112827e5 ("ARCH: AUDIT: implement syscall_get_arch for all arches")
Cc: Eric Paris <eparis@redhat.com>
Cc: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Stephen Rothwell <redacted>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
---
v2: Only move EM_OPENRISC.

Another possible solution for the problem would be to include asm/elf.h
in arch/openrisc/kernel/signal.c. I had actually submitted a patch with
that fix back in August (maybe that is where I remembered the problem from).
Wonder what happened with that patch.

Would it make sense to drop EM_OR32 and replace it with EM_OPENRISC where
it is used ? binutils seems to suggest that EM_OPENRISC is the "official"
definition.
Do we even use EM_OR32?  Will the kernel build with the old toolchain if
we drop it?  If yes, drop it altogether... I don't recall the details as
to why we kept that define around at all.  And really, why bother
supporting the old toolchain at all... it's been at least two or three
years since EM_OPENRISC was added, hopefully people have moved on.  If
users want to upgrade their kernel, they can update the toolchain, too,
at this point.
EM_OPENRISC was added about ten years ago, and when the OR32 things in binutils
was removed in favour for OR1K earlier this year,
EM_OR1K was added as an alias to EM_OPENRISC.

With that said, I'm putting in a vote for removing EM_OR32 as well.

Stefan
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help