Update AArch64 strace to also support tracing 32-bit ARM binaries
    Mike Frysinger 
    vapier at gentoo.org
       
    Sat Nov 10 05:20:34 UTC 2012
    
    
  
On Thursday 08 November 2012 12:36:05 Steve McIntyre wrote:
> The patch looks big due to renaming/moving
> linux/aarch64/syscallent.h to linux/aarch64/syscallent2.h.
you can use the -C -M flags so that the git patch shows the rename.  `git am` 
will apply it correctly (as will patch-2.6.1+).
> To reduce build-time complexity, I've copied in the arm_pt_regs def
> from the ARM system headers; I don't know if people are happy with
> that. Otherwise, building on AArch64 is likely to get harder. :-/
the defs.h logic looks pretty well self-contained.  usually bi-arch systems 
have a structure that magically works, but considering aarch64 is basically a 
new isa, i can see why that isn't happening here.  plus, as i'm sure you've 
already seen in defs.h, other arches have done similar (if not worse) things.
> --- a/syscall.c
> +++ b/syscall.c
>
> +	switch(io.iov_len)
> +	{
cuddle that brace up and add a space before the paren:
	switch (io.iov_len) {
> +		case sizeof(aarch64_regs):
> +			/* We are in 64-bit mode */
> +			memcpy(&aarch64_regs, buf, sizeof(aarch64_regs));
> +			scno = aarch64_regs.regs[8];
> +			update_personality(tcp, 2);
> +			break;
> +		case sizeof(regs):
> +			/* We are in 32-bit mode */
> +			memcpy(®s, buf, sizeof(regs));
> +			scno = regs.uregs[7];
> +			update_personality(tcp, 0);
> +			break;
> +		default:
> +			return -1;
i see personality 2 and 0 here, but unless i missed some merged code, i don't 
see any setup of personality 1 ...
> +	switch(io.iov_len)
> +	{
same style issue here
> +	if (ptrace(PTRACE_GETREGS, tcp->pid, NULL, (void *)®s) == -1)
> +	{
> +		return -1;
> +	}
drop the braces
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.strace.io/pipermail/strace-devel/attachments/20121110/48e7751f/attachment.bin>
    
    
More information about the Strace-devel
mailing list