]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
ARC: split elf.h into uapi and export it for userspace
authorVineet Gupta <vgupta@synopsys.com>
Wed, 27 Feb 2013 12:57:13 +0000 (18:27 +0530)
committerVineet Gupta <vgupta@synopsys.com>
Wed, 27 Feb 2013 14:30:26 +0000 (20:00 +0530)
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
arch/arc/include/asm/elf.h
arch/arc/include/uapi/asm/Kbuild
arch/arc/include/uapi/asm/elf.h [new file with mode: 0644]

index 265d030a7aad6a2346b5092ff1f12fddf6441073..f4c8d36ebecbd2dcad76db454edc64686cfae292 100644 (file)
@@ -9,26 +9,27 @@
 #ifndef __ASM_ARC_ELF_H
 #define __ASM_ARC_ELF_H
 
-#include <asm/ptrace.h>
+#include <linux/types.h>
+#include <uapi/asm/elf.h>
 
+/* These ELF defines belong to uapi but libc elf.h already defines them */
 #define EM_ARCOMPACT           93
 
-/* Machine specific ELF Hdr flags */
-#define EF_ARC_OSABI_MSK       0x00000f00
-#define EF_ARC_OSABI_ORIG      0x00000000   /* MUST be zero for back-compat */
-#define EF_ARC_OSABI_CURRENT   0x00000300   /* v3 (no legacy syscalls) */
-
 /* ARC Relocations (kernel Modules only) */
 #define  R_ARC_32              0x4
 #define  R_ARC_32_ME           0x1B
 #define  R_ARC_S25H_PCREL      0x10
 #define  R_ARC_S25W_PCREL      0x11
 
-typedef unsigned long elf_greg_t;
-typedef unsigned long elf_fpregset_t;
+/*to set parameters in the core dumps */
+#define ELF_ARCH               EM_ARCOMPACT
+#define ELF_CLASS              ELFCLASS32
 
-#define ELF_NGREG      (sizeof(struct user_regs_struct) / sizeof(elf_greg_t))
-typedef elf_greg_t elf_gregset_t[ELF_NGREG];
+#ifdef CONFIG_CPU_BIG_ENDIAN
+#define ELF_DATA               ELFDATA2MSB
+#else
+#define ELF_DATA               ELFDATA2LSB
+#endif
 
 /*
  * To ensure that
@@ -39,20 +40,6 @@ struct elf32_hdr;
 extern int elf_check_arch(const struct elf32_hdr *);
 #define elf_check_arch elf_check_arch
 
-/*
- * These are used to set parameters in the core dumps.
- */
-#define ELF_ARCH               EM_ARCOMPACT
-#define ELF_CLASS              ELFCLASS32
-
-#ifdef CONFIG_CPU_BIG_ENDIAN
-#define ELF_DATA               ELFDATA2MSB
-#else
-#define ELF_DATA               ELFDATA2LSB
-#endif
-
-#ifdef __KERNEL__
-
 #define CORE_DUMP_USE_REGSET
 
 #define ELF_EXEC_PAGESIZE      PAGE_SIZE
@@ -88,6 +75,4 @@ extern int elf_check_arch(const struct elf32_hdr *);
 #define SET_PERSONALITY(ex) \
        set_personality(PER_LINUX | (current->personality & (~PER_MASK)))
 
-#endif  /* __KERNEL__ */
-
 #endif
index 27362446c7105be43ba3b52ccf133a689bb6ef50..18fefaea73fd1f2cf84d3de71939411de72134e2 100644 (file)
@@ -1,5 +1,6 @@
 # UAPI Header export list
 include include/uapi/asm-generic/Kbuild.asm
+header-y += elf.h
 header-y += page.h
 header-y += setup.h
 header-y += byteorder.h
diff --git a/arch/arc/include/uapi/asm/elf.h b/arch/arc/include/uapi/asm/elf.h
new file mode 100644 (file)
index 0000000..0f99ac8
--- /dev/null
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#ifndef _UAPI__ASM_ARC_ELF_H
+#define _UAPI__ASM_ARC_ELF_H
+
+#include <asm/ptrace.h>                /* for user_regs_struct */
+
+/* Machine specific ELF Hdr flags */
+#define EF_ARC_OSABI_MSK       0x00000f00
+#define EF_ARC_OSABI_ORIG      0x00000000   /* MUST be zero for back-compat */
+#define EF_ARC_OSABI_CURRENT   0x00000300   /* v3 (no legacy syscalls) */
+
+typedef unsigned long elf_greg_t;
+typedef unsigned long elf_fpregset_t;
+
+#define ELF_NGREG      (sizeof(struct user_regs_struct) / sizeof(elf_greg_t))
+
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
+
+#endif