2007-10-25 11:34:58

by Balbir Singh

[permalink] [raw]
Subject: [x86 patch] Fix UML ptrace-abi.h build error



Fix the compilation error

arch/um/kernel/sysrq.c: In function 'show_stack':
arch/um/kernel/sysrq.c:63: error: 'UESP' undeclared (first use in this function)
arch/um/kernel/sysrq.c:63: error: (Each undeclared identifier is reported only once
arch/um/kernel/sysrq.c:63: error: for each function it appears in.)
make[1]: *** [arch/um/kernel/sysrq.o] Error 1
make: *** [arch/um/kernel] Error 2

Use BITS_PER_LONG == 32 instead of the hardcode __i386__ as UML depends on
this header.

Signed-off-by: Balbir Singh <[email protected]>
---

include/asm-x86/ptrace-abi.h | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)

diff -puN include/asm-x86/ptrace-abi.h~uml-fix-ptrace-abi-header include/asm-x86/ptrace-abi.h
--- 2.6.24-rc1/include/asm-x86/ptrace-abi.h~uml-fix-ptrace-abi-header 2007-10-25 17:01:47.000000000 +0530
+++ 2.6.24-rc1-balbir/include/asm-x86/ptrace-abi.h 2007-10-25 17:01:47.000000000 +0530
@@ -1,7 +1,9 @@
#ifndef _ASM_X86_PTRACE_ABI_H
#define _ASM_X86_PTRACE_ABI_H

-#ifdef __i386__
+#include <asm/types.h>
+
+#if BITS_PER_LONG == 32

#define EBX 0
#define ECX 1
@@ -22,7 +24,7 @@
#define SS 16
#define FRAME_SIZE 17

-#else /* __i386__ */
+#else /* BITS_PER_LONG == 32 */

#if defined(__ASSEMBLY__) || defined(__FRAME_OFFSETS)
#define R15 0
@@ -55,7 +57,7 @@
/* top of stack page */
#define FRAME_SIZE 168

-#endif /* !__i386__ */
+#endif /* !BITS_PER_LONG == 32 */

/* Arbitrarily choose the same ptrace numbers as used by the Sparc code. */
#define PTRACE_GETREGS 12
_

--
Warm Regards,
Balbir Singh
Linux Technology Center
IBM, ISTL


2007-10-27 03:21:29

by Al Viro

[permalink] [raw]
Subject: Re: [x86 patch] Fix UML ptrace-abi.h build error

On Thu, Oct 25, 2007 at 05:04:40PM +0530, Balbir Singh wrote:
>
>
> Fix the compilation error
>
> arch/um/kernel/sysrq.c: In function 'show_stack':
> arch/um/kernel/sysrq.c:63: error: 'UESP' undeclared (first use in this function)
> arch/um/kernel/sysrq.c:63: error: (Each undeclared identifier is reported only once
> arch/um/kernel/sysrq.c:63: error: for each function it appears in.)
> make[1]: *** [arch/um/kernel/sysrq.o] Error 1
> make: *** [arch/um/kernel] Error 2
>
> Use BITS_PER_LONG == 32 instead of the hardcode __i386__ as UML depends on
> this header.

NACK, see comments in previous mail