[OE-core] [PATCH 1/2] systemtap: upgrade to 1.6

Saul Wold sgw at linux.intel.com
Sun Sep 4 03:46:33 UTC 2011


On 09/02/2011 09:45 PM, Tom Zanussi wrote:
> Also enable for arm, since systemtap now works on arm and remove the
> gcc-4.6 compile fix patch since the problems it addresses have been
> fixed upstream.
>
> Signed-off-by: Tom Zanussi<tom.zanussi at intel.com>
> ---
>   .../fix_for_compilation_with_gcc-4.6.0.patch       |  119 --------------------
>   meta/recipes-kernel/systemtap/systemtap_git.bb     |   15 +--
>   2 files changed, 7 insertions(+), 127 deletions(-)
>   delete mode 100644 meta/recipes-kernel/systemtap/systemtap/fix_for_compilation_with_gcc-4.6.0.patch
>
> diff --git a/meta/recipes-kernel/systemtap/systemtap/fix_for_compilation_with_gcc-4.6.0.patch b/meta/recipes-kernel/systemtap/systemtap/fix_for_compilation_with_gcc-4.6.0.patch
> deleted file mode 100644
> index a322175..0000000
> --- a/meta/recipes-kernel/systemtap/systemtap/fix_for_compilation_with_gcc-4.6.0.patch
> +++ /dev/null
> @@ -1,119 +0,0 @@
> -Upstream-Status: Pending
> -
> -Fix following compiler errors with gcc 4.6.0:
> -Nitin A Kamble<nitin.a.kamble at intel.com>  2011/05/09
> -
> -| tapsets.cxx: In member function 'void sdt_query::handle_probe_entry()':
> -| tapsets.cxx:5295:8: error: variable 'kprobe_found' set but not used [-Werror=unused-but-set-variable]
> -| tapsets.cxx: In member function 'virtual void hwbkpt_builder::build(systemtap_session&, probe*, probe_point*, const literal_map_t&, std::vector<derived_probe*>&)':
> -| tapsets.cxx:7655:18: error: variable 'has_symbol_str' set but not used [-Werror=unused-but-set-variable]
> -| cc1plus: all warnings being treated as errors
> -|
> -| make[2]: *** [stap-tapsets.o] Error 1
> -| translate.cxx: In member function 'virtual void c_unparser::visit_print_format(print_format*)':
> -| translate.cxx:4431:6: error: variable 'width_ix' set but not used [-Werror=unused-but-set-variable]
> -| cc1plus: all warnings being treated as errors
> -|
> -| make[2]: *** [stap-translate.o] Error 1
> -| common.c: In function 'fatal_handler':
> -| common.c:397:13: error: variable 'rc' set but not used [-Werror=unused-but-set-variable]
> -| cc1: all warnings being treated as errors
> -|
> -| make[3]: *** [common.o] Error 1
> -| make[3]: *** Waiting for unfinished jobs....
> -| common.c: In function 'fatal_handler':
> -| common.c:397:13: error: variable 'rc' set but not used [-Werror=unused-but-set-variable]
> -| cc1: all warnings being treated as errors
> -|
> -| mainloop.c: In function 'chld_proc':
> -| mainloop.c:56:11: error: variable 'rc' set but not used [-Werror=unused-but-set-variable]
> -| mainloop.c: In function 'stp_main_loop':
> -| mainloop.c:623:17: error: variable 'rc' set but not used [-Werror=unused-but-set-variable]
> -| cc1: all warnings being treated as errors
> -|
> -
> -Index: git/tapsets.cxx
> -===================================================================
> ---- git.orig/tapsets.cxx
> -+++ git/tapsets.cxx
> -@@ -5292,7 +5292,6 @@ sdt_query::handle_probe_entry()
> -   probe *new_base = convert_location();
> -   probe_point *new_location = new_base->locations[0];
> -
> --  bool kprobe_found = false;
> -   bool need_debug_info = false;
> -
> -   Dwarf_Addr bias;
> -@@ -5302,7 +5301,6 @@ sdt_query::handle_probe_entry()
> -   if (have_kprobe())
> -     {
> -       convert_probe(new_base);
> --      kprobe_found = true;
> -       // Expand the local variables in the probe body
> -       sdt_kprobe_var_expanding_visitor svv (module_val,
> - 					    provider_name,
> -@@ -7652,7 +7650,7 @@ hwbkpt_builder::build(systemtap_session
> - {
> -   string symbol_str_val;
> -   int64_t hwbkpt_address, len;
> --  bool has_addr, has_symbol_str, has_write, has_rw, has_len;
> -+  bool has_addr, has_write, has_rw, has_len;
> -
> -   if (! (sess.kernel_config["CONFIG_PERF_EVENTS"] == string("y")))
> -       throw semantic_error ("CONFIG_PERF_EVENTS not available on this kernel",
> -@@ -7662,7 +7660,6 @@ hwbkpt_builder::build(systemtap_session
> -                             location->components[0]->tok);
> -
> -   has_addr = get_param (parameters, TOK_HWBKPT, hwbkpt_address);
> --  has_symbol_str = get_param (parameters, TOK_HWBKPT, symbol_str_val);
> -   has_len = get_param (parameters, TOK_LENGTH, len);
> -   has_write = (parameters.find(TOK_HWBKPT_WRITE) != parameters.end());
> -   has_rw = (parameters.find(TOK_HWBKPT_RW) != parameters.end());
> -Index: git/translate.cxx
> -===================================================================
> ---- git.orig/translate.cxx
> -+++ git/translate.cxx
> -@@ -4428,7 +4428,7 @@ c_unparser::visit_print_format (print_fo
> - 	  continue;
> -
> - 	/* Take note of the width and precision arguments, if any.  */
> --	int width_ix = -1, prec_ix= -1;
> -+	int __attribute((__unused__)) width_ix = -1, prec_ix= -1;
> - 	if (components[i].widthtype == print_format::width_dynamic)
> - 	  width_ix = arg_ix++;
> - 	if (components[i].prectype == print_format::prec_dynamic)
> -Index: git/runtime/staprun/common.c
> -===================================================================
> ---- git.orig/runtime/staprun/common.c
> -+++ git/runtime/staprun/common.c
> -@@ -394,7 +394,7 @@ void parse_modpath(const char *inpath)
> - #define ERR_MSG "\nUNEXPECTED FATAL ERROR in staprun. Please file a bug report.\n"
> - static void fatal_handler (int signum)
> - {
> --        int rc;
> -+        int __attribute__((__unused__)) rc;
> -         char *str = strsignal(signum);
> -         rc = write (STDERR_FILENO, ERR_MSG, sizeof(ERR_MSG));
> -         rc = write (STDERR_FILENO, str, strlen(str));
> -Index: git/runtime/staprun/mainloop.c
> -===================================================================
> ---- git.orig/runtime/staprun/mainloop.c
> -+++ git/runtime/staprun/mainloop.c
> -@@ -53,7 +53,7 @@ static void *signal_thread(void *arg)
> -
> - static void chld_proc(int signum)
> - {
> --  int32_t rc, btype = STP_EXIT;
> -+  int32_t __attribute__((__unused__)) rc, btype = STP_EXIT;
> -   dbug(2, "chld_proc %d (%s)\n", signum, strsignal(signum));
> -   pid_t pid = waitpid(-1, NULL, WNOHANG);
> -   if (pid != target_pid)
> -@@ -620,7 +620,7 @@ int stp_main_loop(void)
> -       {
> -         /* module asks us to start exiting, so send STP_EXIT */
> -         dbug(2, "got STP_REQUEST_EXIT\n");
> --        int32_t rc, btype = STP_EXIT;
> -+        int32_t __attribute__((__unused__))rc, btype = STP_EXIT;
> -         rc = write(control_channel,&btype, sizeof(btype));
> -         break;
> -       }
> diff --git a/meta/recipes-kernel/systemtap/systemtap_git.bb b/meta/recipes-kernel/systemtap/systemtap_git.bb
> index e8aa54f..86936f4 100644
> --- a/meta/recipes-kernel/systemtap/systemtap_git.bb
> +++ b/meta/recipes-kernel/systemtap/systemtap_git.bb
> @@ -1,15 +1,14 @@
>   DESCRIPTION = "SystemTap - script-directed dynamic tracing and performance analysis tool for Linux"
>   LICENSE = "GPLv2"
> -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
> +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
>
>   DEPENDS = "elfutils sqlite3"
>
> -SRCREV = "4ab3a1863bf4f472acae7a809bf2b38d91658aa8"
> -PR = "r4"
> -PV = "1.4+git${SRCPV}"
> +SRCREV = "820f2d22fc47fad6e09ba886efb9b91e1247cb39"
> +PR = "r5"
> +PV = "1.6+git${SRCPV}"
>
Tom, since you have updated PV to 1.6, you can reset PR to 0.

Sau!

>   SRC_URI = "git://sources.redhat.com/git/systemtap.git;protocol=git \
> -	file://fix_for_compilation_with_gcc-4.6.0.patch \
>             "
>
>   EXTRA_OECONF += "--with-libelf=${STAGING_DIR_TARGET} --without-rpm \
> @@ -23,11 +22,11 @@ EXTRA_OECONF += "--with-libelf=${STAGING_DIR_TARGET} --without-rpm \
>   SRC_URI[md5sum]    = "cb202866ed704c44a876d041f788bdee"
>   SRC_URI[sha256sum] = "8ffe35caec0d937bd23fd78a3a8d94b58907cc0de0330b35e38f9f764815c459"
>
> -# systemtap doesn't work on arm and doesn't support mips
> -COMPATIBLE_HOST = '(x86_64.*|i.86.*|powerpc.*)-linux'
> +# systemtap doesn't support mips
> +COMPATIBLE_HOST = '(x86_64.*|i.86.*|powerpc.*|arm.*)-linux'
>
>   S = "${WORKDIR}/git"
>
> -inherit autotools
> +inherit autotools gettext
>
>   FILES_${PN}-dbg += "${libexecdir}/systemtap/.debug"




More information about the Openembedded-core mailing list