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: [PATCH] systemtap: Fix parsing of literals in SDT_V3 operand for s390x and ia64


On 10/09/2012 09:04 PM, Frank Ch. Eigler wrote:

atrajeev wrote:


systemtap fails to parse literal arguments of the format 'N' ( for
example in s390x and ia64 ) The regular expression to match literals
is defined in function "visit_target_symbol_arg" as below:

^[i\\$#][-]?[0-9][0-9]*$
[...]
This fails in s390x where literal is of the form 'N' which doesnt
have leading $ or i.

Can the s390 do the same hack done for powerpc and add the 'i' prefix in sys/sdt.h?

#if defined __powerpc__ || defined __powerpc64__
# define _SDT_ARGTMPL(id)       %I[id]%[id]
#else
# define _SDT_ARGTMPL(id)       %[id]
#endif

Frank,


We will try this and let you know the results. I guess we could do this
for ia64 as well.


[...]
-      rc = regexp_match (asmarg, "^[i\\$#][-]?[0-9][0-9]*$", matches);
+      rc = regexp_match (asmarg, "^[i\\$#]?[-]?[0-9][0-9]*$", matches);

I would be worried about this change because of possible conflicts with the other operand addressing-mode combinations. (Recall that 'i' is added for ppc in order to separate register-number and literal-number cases.)

OK.


Thanks
Suzuki

- FChE




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