These constants are useful for cross-platform userspace, for example to
process ELF files during kernel cross-compilation.

Move them from the kernel-private architecture-specific header to the UAPI.

Signed-off-by: Thomas Weißschuh <thomas.weisssc...@linutronix.de>
---
 arch/mips/include/asm/elf.h | 53 --------------------------------------------
 include/uapi/linux/elf-r.h  | 54 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 54 insertions(+), 53 deletions(-)

diff --git a/arch/mips/include/asm/elf.h b/arch/mips/include/asm/elf.h
index 
dc8d2863752cfd5e8e2cbd750276f9463e0c32b8..347e12584beebbb5a7290efae3310b01220bbe0a
 100644
--- a/arch/mips/include/asm/elf.h
+++ b/arch/mips/include/asm/elf.h
@@ -70,59 +70,6 @@
 #define DT_MIPS_HIPAGENO       0x70000014
 #define DT_MIPS_RLD_MAP                0x70000016
 
-#define R_MIPS_NONE            0
-#define R_MIPS_16              1
-#define R_MIPS_32              2
-#define R_MIPS_REL32           3
-#define R_MIPS_26              4
-#define R_MIPS_HI16            5
-#define R_MIPS_LO16            6
-#define R_MIPS_GPREL16         7
-#define R_MIPS_LITERAL         8
-#define R_MIPS_GOT16           9
-#define R_MIPS_PC16            10
-#define R_MIPS_CALL16          11
-#define R_MIPS_GPREL32         12
-/* The remaining relocs are defined on Irix, although they are not
-   in the MIPS ELF ABI.         */
-#define R_MIPS_UNUSED1         13
-#define R_MIPS_UNUSED2         14
-#define R_MIPS_UNUSED3         15
-#define R_MIPS_SHIFT5          16
-#define R_MIPS_SHIFT6          17
-#define R_MIPS_64              18
-#define R_MIPS_GOT_DISP                19
-#define R_MIPS_GOT_PAGE                20
-#define R_MIPS_GOT_OFST                21
-/*
- * The following two relocation types are specified in the MIPS ABI
- * conformance guide version 1.2 but not yet in the psABI.
- */
-#define R_MIPS_GOTHI16         22
-#define R_MIPS_GOTLO16         23
-#define R_MIPS_SUB             24
-#define R_MIPS_INSERT_A                25
-#define R_MIPS_INSERT_B                26
-#define R_MIPS_DELETE          27
-#define R_MIPS_HIGHER          28
-#define R_MIPS_HIGHEST         29
-/*
- * The following two relocation types are specified in the MIPS ABI
- * conformance guide version 1.2 but not yet in the psABI.
- */
-#define R_MIPS_CALLHI16                30
-#define R_MIPS_CALLLO16                31
-/*
- * Introduced for MIPSr6.
- */
-#define R_MIPS_PC21_S2         60
-#define R_MIPS_PC26_S2         61
-/*
- * This range is reserved for vendor specific relocations.
- */
-#define R_MIPS_LOVENDOR                100
-#define R_MIPS_HIVENDOR                127
-
 #define SHN_MIPS_ACCOMON       0xff00          /* Allocated common symbols */
 #define SHN_MIPS_TEXT          0xff01          /* Allocated test symbols.  */
 #define SHN_MIPS_DATA          0xff02          /* Allocated data symbols.  */
diff --git a/include/uapi/linux/elf-r.h b/include/uapi/linux/elf-r.h
index 
c1309a63a7dc4495f22e3d8b51d3f97ab5809190..78085d26f4ab27a003fde65c8e981f575f411758
 100644
--- a/include/uapi/linux/elf-r.h
+++ b/include/uapi/linux/elf-r.h
@@ -563,4 +563,58 @@
 /* Keep this the last entry.  */
 #define R_390_NUM      61
 
+/* MIPS relocations defined by the ABIs */
+#define R_MIPS_NONE            0
+#define R_MIPS_16              1
+#define R_MIPS_32              2
+#define R_MIPS_REL32           3
+#define R_MIPS_26              4
+#define R_MIPS_HI16            5
+#define R_MIPS_LO16            6
+#define R_MIPS_GPREL16         7
+#define R_MIPS_LITERAL         8
+#define R_MIPS_GOT16           9
+#define R_MIPS_PC16            10
+#define R_MIPS_CALL16          11
+#define R_MIPS_GPREL32         12
+/* The remaining relocs are defined on Irix, although they are not
+   in the MIPS ELF ABI.         */
+#define R_MIPS_UNUSED1         13
+#define R_MIPS_UNUSED2         14
+#define R_MIPS_UNUSED3         15
+#define R_MIPS_SHIFT5          16
+#define R_MIPS_SHIFT6          17
+#define R_MIPS_64              18
+#define R_MIPS_GOT_DISP                19
+#define R_MIPS_GOT_PAGE                20
+#define R_MIPS_GOT_OFST                21
+/*
+ * The following two relocation types are specified in the MIPS ABI
+ * conformance guide version 1.2 but not yet in the psABI.
+ */
+#define R_MIPS_GOTHI16         22
+#define R_MIPS_GOTLO16         23
+#define R_MIPS_SUB             24
+#define R_MIPS_INSERT_A                25
+#define R_MIPS_INSERT_B                26
+#define R_MIPS_DELETE          27
+#define R_MIPS_HIGHER          28
+#define R_MIPS_HIGHEST         29
+/*
+ * The following two relocation types are specified in the MIPS ABI
+ * conformance guide version 1.2 but not yet in the psABI.
+ */
+#define R_MIPS_CALLHI16                30
+#define R_MIPS_CALLLO16                31
+/*
+ * Introduced for MIPSr6.
+ */
+#define R_MIPS_PC21_S2         60
+#define R_MIPS_PC26_S2         61
+/*
+ * This range is reserved for vendor specific relocations.
+ */
+#define R_MIPS_LOVENDOR                100
+#define R_MIPS_HIVENDOR                127
+
 #endif /* _UAPI_LINUX_ELF_R_H */

-- 
2.50.1


Reply via email to