[Lldb-commits] [lldb] r212225 - lldb - problem with some PTRACE_* constants in NativeProcessLinux.cpp file

Todd Fiala tfiala at google.com
Wed Jul 2 14:59:38 PDT 2014


Whoops no his name is not "Paul Paul".  Sorry...  Cut and paste the full
last name spelling after writing Paul...

Should be:
Change by Paul Osmialowski


On Wed, Jul 2, 2014 at 2:34 PM, Todd Fiala <todd.fiala at gmail.com> wrote:

> 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
> lldb-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits
>



-- 
Todd Fiala | Software Engineer | tfiala at google.com | 650-943-3180
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20140702/f844e865/attachment.html>


More information about the lldb-commits mailing list