This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
[PATCH] loc2c-runtime: fix compilation failure
- From: "d dot hatayama at fujitsu dot com" <d dot hatayama at fujitsu dot com>
- To: "'systemtap at sourceware dot org'" <systemtap at sourceware dot org>
- Date: Fri, 7 Feb 2020 04:07:21 +0000
- Subject: [PATCH] loc2c-runtime: fix compilation failure
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=fujitsu.com; dmarc=pass action=none header.from=fujitsu.com; dkim=pass header.d=fujitsu.com; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=M7cpjjIewjm5ptFB8ay8FJ/9ys+osZ6DY3dP/CcxPB0=; b=Py+py5RnZPWI72iFSFwFh9XqJvI8dyawFUSiZeNGfKYb5gpRxVyADwAKf51lWBnme7gmTYOnVmXlawxBvSnWXeJ82jYi9ZjEx7UHI80NZM5ghtRghYzOwr2Ao5uYAEtWFuMcLsjlavsHxa6eQ7Yy5Q5Mdu44qwGadWBsIbXvE96NyI9tvWvkv3+/CfFmfQWSnDJG3e3V8Z/fmHcmm30qqmvEDETsM0HQNUb4UC0CktobP6JFESxejT7vSM+v/YV6NhIeUzzUlbDYoq9wkdeem9peuNA3AOFyzwyqNcFAR+vRoVDj6YHqNDNCfnBNX6zdz2pGWTOa3/TnzgDGbsX48g==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HQT4oKHry3ScNwVHubm4YaSt5nTCG2hoIw9pjGNYrHL6vX50cvrZ4xP2IVNiBHNcjM/bgsNTnots3EXo++VedzIdQ0LwK5ddSMV2cNwu2Kaw2HbWEAQ78yHNHgauNN7kWFFYmXYjNA/XD4IG3zftlmq7GQ8YK55WmvJ6u1LbHndMnGpcXl2BeKe1h+UU5/3W5NcKEWtr6HsUDiz+a4OeUDqhQdggoH3NWMaSzwxJKDB6bqLcyyVETNoMGdTfvx4wy4AClYAx37C8AGWEWbit/k8Meh+vOazeUqSMQxc1sb5t2z5m3C6A9n2wIAFlRCQ2bF0C3ZdM7SScEyme5md4Lg==
- Ironport-sdr: UjI6eBdwN0UuJaFbVnNb9BWIlUry3FLWIpWrHtieNytq12Djz5m04T0nNxusjkMVUWETI7hEOi smR94qpuRQKbN6Z9tDqjFRxo7PoafyExXpCRRk1RcO2FNeGWfJNIicFKsXLAoN3PIwMNNh/DJH /T7sjpqJXYRTRL+oTYb/KcvXbBUxHmHVB4kz4OqGFDeNsQMMMUqcn/yyOUotRcicWmknblS5bP 3l0m1cd/sUIeoShsmPHiPJhddQ2S0NbPeeDMQN4dswXJjqHkDph8ujdVmXo9yQQgIrgMi9lv2P k+8=
I ran into the following compilation failure when I tried to change
$return in a return probe for some user-space process:
# ./runstap.sh
Pass 1: parsed user script and 478 library scripts using 238944virt/81096res/12424shr/68276data kb, in 790usr/230sys/1187real ms.
Pass 2: analyzed script: 3 probes, 6 functions, 1 embed, 2 globals using 255944virt/99036res/13544shr/85276data kb, in 300usr/70sys/449real ms.
Pass 3: translated to C into "/tmp/stapnWDsqi/stap_ea515d442eab2d1921c7105860f0337f_3673_src.c" using 255944virt/99364res/13872shr/85276data kb, in 270usr/430sys/716real ms.
In file included from /usr/share/systemtap/runtime/linux/runtime.h:217,
from /usr/share/systemtap/runtime/runtime.h:26,
from /tmp/stapnWDsqi/stap_ea515d442eab2d1921c7105860f0337f_3673_src.c:27:
/tmp/stapnWDsqi/stap_ea515d442eab2d1921c7105860f0337f_3673_src.c: In function ‘function___private___foobar_stp__dwarf_tvar_set_return_1’:
/usr/share/systemtap/runtime/linux/loc2c-runtime.h:297:69: error: ‘regnoo’ undeclared (first use in this function); did you mean ‘reg_info’?
#define u_store_register(regno,value) check_store_register(c->uregs,regnoo,_stp_is_compat_task()?ARRAY_SIZE(url_i386):ARRAY_SIZE(url_x86_64),value,uu_store_register)
^~~~~~
/usr/share/systemtap/runtime/linux/loc2c-runtime.h:44:23: note: in definition of macro ‘check_store_register’
if ((regs) == 0 || (regno) < 0 || (regno) > (maxregno)) { \
^~~~~
/tmp/stapnWDsqi/stap_ea515d442eab2d1921c7105860f0337f_3673_src.c:725:3: note: in expansion of macro ‘u_store_register’
u_store_register(0, l->__tmp0);
^~~~~~~~~~~~~~~~
/usr/share/systemtap/runtime/linux/loc2c-runtime.h:297:69: note: each undeclared identifier is reported only once for each function it appears in
#define u_store_register(regno,value) check_store_register(c->uregs,regnoo,_stp_is_compat_task()?ARRAY_SIZE(url_i386):ARRAY_SIZE(url_x86_64),value,uu_store_register)
^~~~~~
/usr/share/systemtap/runtime/linux/loc2c-runtime.h:44:23: note: in definition of macro ‘check_store_register’
if ((regs) == 0 || (regno) < 0 || (regno) > (maxregno)) { \
^~~~~
/tmp/stapnWDsqi/stap_ea515d442eab2d1921c7105860f0337f_3673_src.c:725:3: note: in expansion of macro ‘u_store_register’
u_store_register(0, l->__tmp0);
^~~~~~~~~~~~~~~~
make[1]: *** [scripts/Makefile.build:312: /tmp/stapnWDsqi/stap_ea515d442eab2d1921c7105860f0337f_3673_src.o] Error 1
make: *** [Makefile:1544: _module_/tmp/stapnWDsqi] Error 2
WARNING: kbuild exited with status: 2
Pass 4: compiled C into "stap_ea515d442eab2d1921c7105860f0337f_3673.ko" in 46720usr/15990sys/64098real ms.
Pass 4: compilation failed. [man error::pass4]
This failure is caused by a typo of the name of an argument variable
of macro u_store_register introduced at the commit
a03b455bc656216a4829dbad08e630949d944c75.
---
runtime/linux/loc2c-runtime.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/runtime/linux/loc2c-runtime.h b/runtime/linux/loc2c-runtime.h
index b4a329b..0270fa1 100644
--- a/runtime/linux/loc2c-runtime.h
+++ b/runtime/linux/loc2c-runtime.h
@@ -294,7 +294,7 @@ static void ursl_store64 (const struct usr_regset_lut* lut,unsigned lutsize, in
#define uu_store_register(_regs,regno,value) (_stp_is_compat_task() ? ursl_store32(url_i386, ARRAY_SIZE(url_i386), EM_386, regno, value) : ursl_store64(url_x86_64, ARRAY_SIZE(url_x86_64), EM_X86_64, regno, value))
#define u_fetch_register(regno) check_fetch_register(c->uregs,regno,_stp_is_compat_task()?ARRAY_SIZE(url_i386):ARRAY_SIZE(url_x86_64),uu_fetch_register)
-#define u_store_register(regno,value) check_store_register(c->uregs,regnoo,_stp_is_compat_task()?ARRAY_SIZE(url_i386):ARRAY_SIZE(url_x86_64),value,uu_store_register)
+#define u_store_register(regno,value) check_store_register(c->uregs,regno,_stp_is_compat_task()?ARRAY_SIZE(url_i386):ARRAY_SIZE(url_x86_64),value,uu_store_register)
#endif
--
1.8.3.1