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/arm64/include/asm/elf.h | 54 --------------------------------------------
 include/uapi/linux/elf-r.h   | 52 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 52 insertions(+), 54 deletions(-)

diff --git a/arch/arm64/include/asm/elf.h b/arch/arm64/include/asm/elf.h
index 
8efcfe7efe0c70c59b9b81f93ac9c1442bc7656a..a14b88fb485e60f89332f0c6b58ed929eb6600b6
 100644
--- a/arch/arm64/include/asm/elf.h
+++ b/arch/arm64/include/asm/elf.h
@@ -13,60 +13,6 @@
 #include <asm/ptrace.h>
 #include <asm/user.h>
 
-/*
- * AArch64 static relocation types.
- */
-
-/* Miscellaneous. */
-#define R_AARCH64_NONE                 256
-
-/* Data. */
-#define R_AARCH64_ABS64                        257
-#define R_AARCH64_ABS32                        258
-#define R_AARCH64_ABS16                        259
-#define R_AARCH64_PREL64               260
-#define R_AARCH64_PREL32               261
-#define R_AARCH64_PREL16               262
-
-/* Instructions. */
-#define R_AARCH64_MOVW_UABS_G0         263
-#define R_AARCH64_MOVW_UABS_G0_NC      264
-#define R_AARCH64_MOVW_UABS_G1         265
-#define R_AARCH64_MOVW_UABS_G1_NC      266
-#define R_AARCH64_MOVW_UABS_G2         267
-#define R_AARCH64_MOVW_UABS_G2_NC      268
-#define R_AARCH64_MOVW_UABS_G3         269
-
-#define R_AARCH64_MOVW_SABS_G0         270
-#define R_AARCH64_MOVW_SABS_G1         271
-#define R_AARCH64_MOVW_SABS_G2         272
-
-#define R_AARCH64_LD_PREL_LO19         273
-#define R_AARCH64_ADR_PREL_LO21                274
-#define R_AARCH64_ADR_PREL_PG_HI21     275
-#define R_AARCH64_ADR_PREL_PG_HI21_NC  276
-#define R_AARCH64_ADD_ABS_LO12_NC      277
-#define R_AARCH64_LDST8_ABS_LO12_NC    278
-
-#define R_AARCH64_TSTBR14              279
-#define R_AARCH64_CONDBR19             280
-#define R_AARCH64_JUMP26               282
-#define R_AARCH64_CALL26               283
-#define R_AARCH64_LDST16_ABS_LO12_NC   284
-#define R_AARCH64_LDST32_ABS_LO12_NC   285
-#define R_AARCH64_LDST64_ABS_LO12_NC   286
-#define R_AARCH64_LDST128_ABS_LO12_NC  299
-
-#define R_AARCH64_MOVW_PREL_G0         287
-#define R_AARCH64_MOVW_PREL_G0_NC      288
-#define R_AARCH64_MOVW_PREL_G1         289
-#define R_AARCH64_MOVW_PREL_G1_NC      290
-#define R_AARCH64_MOVW_PREL_G2         291
-#define R_AARCH64_MOVW_PREL_G2_NC      292
-#define R_AARCH64_MOVW_PREL_G3         293
-
-#define R_AARCH64_RELATIVE             1027
-
 /*
  * These are used to set parameters in the core dumps.
  */
diff --git a/include/uapi/linux/elf-r.h b/include/uapi/linux/elf-r.h
index 
001884641e7703146f91e2dd96fb5a2bbfc7a324..cf931fc05afa1825aa9737a4e6259ec0da678d3a
 100644
--- a/include/uapi/linux/elf-r.h
+++ b/include/uapi/linux/elf-r.h
@@ -61,4 +61,56 @@
 #define R_ARM_THM_MOVW_PREL_NC 49
 #define R_ARM_THM_MOVT_PREL    50
 
+/* AArch64 static relocation types */
+
+/* Miscellaneous. */
+#define R_AARCH64_NONE                 256
+
+/* Data. */
+#define R_AARCH64_ABS64                        257
+#define R_AARCH64_ABS32                        258
+#define R_AARCH64_ABS16                        259
+#define R_AARCH64_PREL64               260
+#define R_AARCH64_PREL32               261
+#define R_AARCH64_PREL16               262
+
+/* Instructions. */
+#define R_AARCH64_MOVW_UABS_G0         263
+#define R_AARCH64_MOVW_UABS_G0_NC      264
+#define R_AARCH64_MOVW_UABS_G1         265
+#define R_AARCH64_MOVW_UABS_G1_NC      266
+#define R_AARCH64_MOVW_UABS_G2         267
+#define R_AARCH64_MOVW_UABS_G2_NC      268
+#define R_AARCH64_MOVW_UABS_G3         269
+
+#define R_AARCH64_MOVW_SABS_G0         270
+#define R_AARCH64_MOVW_SABS_G1         271
+#define R_AARCH64_MOVW_SABS_G2         272
+
+#define R_AARCH64_LD_PREL_LO19         273
+#define R_AARCH64_ADR_PREL_LO21                274
+#define R_AARCH64_ADR_PREL_PG_HI21     275
+#define R_AARCH64_ADR_PREL_PG_HI21_NC  276
+#define R_AARCH64_ADD_ABS_LO12_NC      277
+#define R_AARCH64_LDST8_ABS_LO12_NC    278
+
+#define R_AARCH64_TSTBR14              279
+#define R_AARCH64_CONDBR19             280
+#define R_AARCH64_JUMP26               282
+#define R_AARCH64_CALL26               283
+#define R_AARCH64_LDST16_ABS_LO12_NC   284
+#define R_AARCH64_LDST32_ABS_LO12_NC   285
+#define R_AARCH64_LDST64_ABS_LO12_NC   286
+#define R_AARCH64_LDST128_ABS_LO12_NC  299
+
+#define R_AARCH64_MOVW_PREL_G0         287
+#define R_AARCH64_MOVW_PREL_G0_NC      288
+#define R_AARCH64_MOVW_PREL_G1         289
+#define R_AARCH64_MOVW_PREL_G1_NC      290
+#define R_AARCH64_MOVW_PREL_G2         291
+#define R_AARCH64_MOVW_PREL_G2_NC      292
+#define R_AARCH64_MOVW_PREL_G3         293
+
+#define R_AARCH64_RELATIVE             1027
+
 #endif /* _UAPI_LINUX_ELF_R_H */

-- 
2.50.1


Reply via email to