Author: tfiala
Date: Wed Jul  2 16:34:04 2014
New Revision: 212225

URL: http://llvm.org/viewvc/llvm-project?rev=212225&view=rev
Log:
lldb - problem with some PTRACE_* constants in NativeProcessLinux.cpp file

See http://reviews.llvm.org/D4366 for details.

Change by Paul Paul Osmialowski

Today this is the only problem that I'm facing trying to cross-compile lldb for 
AArch64 using Linaro's toolchain.

PTRACE_GETREGS, PTRACE_SETREGS, PTRACE_GETFPREGS, PTRACE_SETFPREGS are not 
defined for AArch64
These things can be defined different ways for other architectures, e.g. for 
x86_64 Linux, asm/ptrace-abi.h defines them as preprocessor constants while 
sys/ptrace.h defines them in enum along with corresponding PT_* preprocessor 
constants
NativeProcessLinux.cpp includes sys/ptrace.h
To avoid accidental redefinition of enums with preprocessor constants, I'm 
proposing this patch which first checks for PT_* preprocessor constants then 
checks for PTRACE_* constants then when it still can not find them, it defines 
preprocessor constants.
Similar approach was already used for PTRACE_GETREGSET and PTRACE_SETREGSET 
constants; in this case however it was easier, since enum values in 
sys/ptrace.h and preprocessor constants shared all exactly the same names (e.g. 
there's no additional PT_GETREGSET name defined).

Modified:
    lldb/trunk/source/Plugins/Process/Linux/NativeProcessLinux.cpp

Modified: lldb/trunk/source/Plugins/Process/Linux/NativeProcessLinux.cpp
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/Linux/NativeProcessLinux.cpp?rev=212225&r1=212224&r2=212225&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/Process/Linux/NativeProcessLinux.cpp (original)
+++ lldb/trunk/source/Plugins/Process/Linux/NativeProcessLinux.cpp Wed Jul  2 
16:34:04 2014
@@ -53,12 +53,26 @@
 #define DEBUG_PTRACE_MAXBYTES 20
 
 // Support ptrace extensions even when compiled without required kernel support
+#ifndef PT_GETREGS
 #ifndef PTRACE_GETREGS
-#define PTRACE_GETREGS 12
+  #define PTRACE_GETREGS 12
 #endif
+#endif
+#ifndef PT_SETREGS
 #ifndef PTRACE_SETREGS
   #define PTRACE_SETREGS 13
 #endif
+#endif
+#ifndef PT_GETFPREGS
+#ifndef PTRACE_GETFPREGS
+  #define PTRACE_GETFPREGS 14
+#endif
+#endif
+#ifndef PT_SETFPREGS
+#ifndef PTRACE_SETFPREGS
+  #define PTRACE_SETFPREGS 15
+#endif
+#endif
 #ifndef PTRACE_GETREGSET
   #define PTRACE_GETREGSET 0x4204
 #endif


_______________________________________________
lldb-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits

Reply via email to