[Lldb-commits] [lldb] 7ca9b58 - Remove Linux sysroot dependencies of SVE PT macros

Muhammad Omair Javaid via lldb-commits lldb-commits at lists.llvm.org
Mon Jul 20 02:55:24 PDT 2020


Author: Muhammad Omair Javaid
Date: 2020-07-20T14:54:51+05:00
New Revision: 7ca9b589c45302feb28c0b3b0e80088c0901bb40

URL: https://github.com/llvm/llvm-project/commit/7ca9b589c45302feb28c0b3b0e80088c0901bb40
DIFF: https://github.com/llvm/llvm-project/commit/7ca9b589c45302feb28c0b3b0e80088c0901bb40.diff

LOG: Remove Linux sysroot dependencies of SVE PT macros

Summary:
SVE elf note data requires SVE PT macros for reading writing data. Same macros are used by Linux ptrace SVE register access.
This patch makes necessary changes to lldb/source/Plugins/Process/Linux/LinuxPTraceDefines_arm64sve.h in order to make them sysroot independent.

Reviewers: labath, rengolin

Reviewed By: labath

Subscribers: tschuett, lldb-commits, kristof.beyls

Differential Revision: https://reviews.llvm.org/D83541

Added: 
    lldb/source/Plugins/Process/Utility/LinuxPTraceDefines_arm64sve.h

Modified: 
    

Removed: 
    lldb/source/Plugins/Process/Linux/LinuxPTraceDefines_arm64sve.h


################################################################################
diff  --git a/lldb/source/Plugins/Process/Linux/LinuxPTraceDefines_arm64sve.h b/lldb/source/Plugins/Process/Utility/LinuxPTraceDefines_arm64sve.h
similarity index 91%
rename from lldb/source/Plugins/Process/Linux/LinuxPTraceDefines_arm64sve.h
rename to lldb/source/Plugins/Process/Utility/LinuxPTraceDefines_arm64sve.h
index 18ba39d55b1b..bc0b773d1a53 100644
--- a/lldb/source/Plugins/Process/Linux/LinuxPTraceDefines_arm64sve.h
+++ b/lldb/source/Plugins/Process/Utility/LinuxPTraceDefines_arm64sve.h
@@ -6,15 +6,22 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef lldb_LinuxPTraceDefines_arm64sve_h
-#define lldb_LinuxPTraceDefines_arm64sve_h
+#ifndef LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_LINUXPTRACEDEFINES_ARM64SVE_H
+#define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_LINUXPTRACEDEFINES_ARM64SVE_H
+
+#include <stdint.h>
+
+struct _aarch64_context {
+  uint16_t magic;
+  uint16_t size;
+};
 
 #define SVE_MAGIC 0x53564501
 
 struct sve_context {
-  struct _aarch64_ctx head;
-  __u16 vl;
-  __u16 __reserved[3];
+  struct _aarch64_context head;
+  uint16_t vl;
+  uint16_t __reserved[3];
 };
 
 /*
@@ -92,8 +99,8 @@ struct sve_context {
  * Additional data might be appended in the future.
  */
 
-#define SVE_SIG_ZREG_SIZE(vq) ((__u32)(vq)*SVE_VQ_BYTES)
-#define SVE_SIG_PREG_SIZE(vq) ((__u32)(vq) * (SVE_VQ_BYTES / 8))
+#define SVE_SIG_ZREG_SIZE(vq) ((uint32_t)(vq)*SVE_VQ_BYTES)
+#define SVE_SIG_PREG_SIZE(vq) ((uint32_t)(vq) * (SVE_VQ_BYTES / 8))
 #define SVE_SIG_FFR_SIZE(vq) SVE_SIG_PREG_SIZE(vq)
 
 #define SVE_SIG_REGS_OFFSET                                                    \
@@ -123,12 +130,12 @@ struct sve_context {
 /* SVE/FP/SIMD state (NT_ARM_SVE) */
 
 struct user_sve_header {
-  __u32 size;     /* total meaningful regset content in bytes */
-  __u32 max_size; /* maxmium possible size for this thread */
-  __u16 vl;       /* current vector length */
-  __u16 max_vl;   /* maximum possible vector length */
-  __u16 flags;
-  __u16 __reserved;
+  uint32_t size;     /* total meaningful regset content in bytes */
+  uint32_t max_size; /* maxmium possible size for this thread */
+  uint16_t vl;       /* current vector length */
+  uint16_t max_vl;   /* maximum possible vector length */
+  uint16_t flags;
+  uint16_t __reserved;
 };
 
 /* Definitions for user_sve_header.flags: */
@@ -206,8 +213,8 @@ struct user_sve_header {
 #define SVE_PT_SVE_ZREG_SIZE(vq) SVE_SIG_ZREG_SIZE(vq)
 #define SVE_PT_SVE_PREG_SIZE(vq) SVE_SIG_PREG_SIZE(vq)
 #define SVE_PT_SVE_FFR_SIZE(vq) SVE_SIG_FFR_SIZE(vq)
-#define SVE_PT_SVE_FPSR_SIZE sizeof(__u32)
-#define SVE_PT_SVE_FPCR_SIZE sizeof(__u32)
+#define SVE_PT_SVE_FPSR_SIZE sizeof(uint32_t)
+#define SVE_PT_SVE_FPCR_SIZE sizeof(uint32_t)
 
 #define __SVE_SIG_TO_PT(offset)                                                \
   ((offset)-SVE_SIG_REGS_OFFSET + SVE_PT_REGS_OFFSET)
@@ -250,4 +257,4 @@ struct user_sve_header {
        ? SVE_PT_SVE_OFFSET + SVE_PT_SVE_SIZE(vq, flags)                        \
        : SVE_PT_FPSIMD_OFFSET + SVE_PT_FPSIMD_SIZE(vq, flags))
 
-#endif
+#endif // LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_LINUXPTRACEDEFINES_ARM64SVE_H


        


More information about the lldb-commits mailing list