This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: SystemTap for Android - patchset


On 07/07/2016 11:22 AM, Alexander Lochmann wrote:
> On 07.07.2016 18:06, David Smith wrote:
>> On 07/06/2016 07:29 AM, Alexander Lochmann wrote:
>>> So. Let me start.
>>> First of all, I extracted the patches properly, and attached the files.
>>> (Btw, I found a third bug. :) )
>>> FYI, I just fixed the bugs for the kernel versions I'm dealing with,
>>> because I don't know which other versions are affected as well.
>>
>> Looking at your 2nd patch, '[PATCH 2/3] The syscall defines were not
>> compatible with older kernels, namely 3.0.x', this bit doesn't seem
>> correct at all:
>>
>> ====
>> diff --git a/runtime/linux/autoconf-asm-syscall.c
>> b/runtime/linux/autoconf-asm-syscall.c
>> index bf7a273..6bfcd55 100644
>> --- a/runtime/linux/autoconf-asm-syscall.c
>> +++ b/runtime/linux/autoconf-asm-syscall.c
>> @@ -1,2 +1,8 @@
>> +#include <linux/version.h>
>> +#if LINUX_VERSION_CODE <= KERNEL_VERSION(3,0,200) && LINUX_VERSION_CODE
>>> = KERNEL_VERSION(3,0,0)
>> +#include <asm/unistd.h>
>> +#include <linux/sched.h>
>> +#include <asm-generic/syscall.h>
>> +#else
>>  #include <asm/syscall.h>
>> -
>> +#endif
>> ====
>>
>> Including <asm-generic/syscall.h> is highly suspicious. Did you try to
>> include <asm/syscall.h> and get errors? If so, we can work to fix those
>> errors. Not including your arch's real syscall.h file will cause errors
>> down the road.
>>
> An arch-specific syscall.h does not exist for arm. :(
> The kernel tree for both the Galaxy Nexus (maguro) and the Nexus 4 do
> not have a syscall.h (path: arch/arm/include/asm/syscall.h does not exist).

OK, I'll believe you. However, your fix above still isn't correct. The
whole point of autoconf-asm-syscall.c is to test if asm/syscall.h exists
and is usable. If so, STAPCONF_ASM_SYSCALL_H will get defined. If
autoconf-asm-syscall.c doesn't compile correctly, then
STAPCONF_ASM_SYSCALL_H won't be defined.

What needs to happen next here is for you to back out this change,
recompile systemtap, then try to compile a few systemtap scripts. We'll
need to see the errors to know what to fix. I'd guess we'll need to test
STAPCONF_ASM_SYSCALL_H in some more places.

-- 
David Smith
dsmith@redhat.com
Red Hat
http://www.redhat.com
256.217.0141 (direct)
256.837.0057 (fax)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]