elf_aux is userland code; it uses symbol (ELF_CLASS) that doesn't exist in
userland headers; pulled into kernel-offsets.h, switched elf_aux to using it.
Signed-off-by: Al Viro <[email protected]>
----
diff -urN RC13-git5-base/arch/um/include/common-offsets.h current/arch/um/include/common-offsets.h
--- RC13-git5-base/arch/um/include/common-offsets.h 2005-06-17 15:48:29.000000000 -0400
+++ current/arch/um/include/common-offsets.h 2005-09-06 17:10:36.000000000 -0400
@@ -12,3 +12,4 @@
DEFINE_STR(UM_KERN_NOTICE, KERN_NOTICE);
DEFINE_STR(UM_KERN_INFO, KERN_INFO);
DEFINE_STR(UM_KERN_DEBUG, KERN_DEBUG);
+DEFINE(HOST_ELF_CLASS, ELF_CLASS);
diff -urN RC13-git5-base/arch/um/os-Linux/Makefile current/arch/um/os-Linux/Makefile
--- RC13-git5-base/arch/um/os-Linux/Makefile 2005-09-05 07:05:14.000000000 -0400
+++ current/arch/um/os-Linux/Makefile 2005-09-06 17:18:00.000000000 -0400
@@ -9,6 +9,9 @@
USER_OBJS := aio.o elf_aux.o file.o process.o signal.o start_up.o time.o tt.o \
tty.o
+elf_aux.o: $(ARCH_DIR)/kernel-offsets.h
+CFLAGS_elf_aux.o += -I$(objtree)/arch/um
+
CFLAGS_user_syms.o += -DSUBARCH_$(SUBARCH)
HAVE_AIO_ABI := $(shell [ -r /usr/include/linux/aio_abi.h ] && \
diff -urN RC13-git5-base/arch/um/os-Linux/elf_aux.c current/arch/um/os-Linux/elf_aux.c
--- RC13-git5-base/arch/um/os-Linux/elf_aux.c 2005-08-28 23:09:40.000000000 -0400
+++ current/arch/um/os-Linux/elf_aux.c 2005-09-06 17:14:24.000000000 -0400
@@ -12,8 +12,9 @@
#include "init.h"
#include "elf_user.h"
#include "mem_user.h"
+#include <kernel-offsets.h>
-#if ELF_CLASS == ELFCLASS32
+#if HOST_ELF_CLASS == ELFCLASS32
typedef Elf32_auxv_t elf_auxv_t;
#else
typedef Elf64_auxv_t elf_auxv_t;
diff -urN RC13-git5-base/arch/um/sys-i386/kernel-offsets.c current/arch/um/sys-i386/kernel-offsets.c
--- RC13-git5-base/arch/um/sys-i386/kernel-offsets.c 2005-06-17 15:48:29.000000000 -0400
+++ current/arch/um/sys-i386/kernel-offsets.c 2005-09-06 17:11:20.000000000 -0400
@@ -2,6 +2,7 @@
#include <linux/stddef.h>
#include <linux/sched.h>
#include <linux/time.h>
+#include <linux/elf.h>
#include <asm/page.h>
#define DEFINE(sym, val) \
diff -urN RC13-git5-base/arch/um/sys-x86_64/kernel-offsets.c current/arch/um/sys-x86_64/kernel-offsets.c
--- RC13-git5-base/arch/um/sys-x86_64/kernel-offsets.c 2005-06-17 15:48:29.000000000 -0400
+++ current/arch/um/sys-x86_64/kernel-offsets.c 2005-09-06 17:11:50.000000000 -0400
@@ -2,6 +2,7 @@
#include <linux/stddef.h>
#include <linux/sched.h>
#include <linux/time.h>
+#include <linux/elf.h>
#include <asm/page.h>
#define DEFINE(sym, val) \
On Tue, Sep 06, 2005 at 10:33:51PM +0100, [email protected] wrote:
> elf_aux is userland code; it uses symbol (ELF_CLASS) that doesn't exist in
> userland headers; pulled into kernel-offsets.h, switched elf_aux to using it.
>
> Signed-off-by: Al Viro <[email protected]>
Acked-by: Jeff Dike <[email protected]>
Thanks, Al.
Jeff