From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 99940 invoked by alias); 10 Dec 2019 06:05:54 -0000 Mailing-List: contact systemtap-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: systemtap-owner@sourceware.org Received: (qmail 99875 invoked by uid 48); 10 Dec 2019 06:05:48 -0000 From: "craig.ringer at 2ndquadrant dot com" To: systemtap@sourceware.org Subject: [Bug runtime/25265] tapscripts using ustack, ubacktrace etc fail to compile on kernel 3.4 Date: Tue, 10 Dec 2019 06:05:00 -0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: systemtap X-Bugzilla-Component: runtime X-Bugzilla-Version: unspecified X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: craig.ringer at 2ndquadrant dot com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: systemtap at sourceware dot org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2019-q4/txt/msg00056.txt.bz2 https://sourceware.org/bugzilla/show_bug.cgi?id=3D25265 --- Comment #1 from Craig Ringer --- This probably relates to this kernel patch: https://patchwork.kernel.org/patch/10916651/ or the series it's part of like https://patchwork.kernel.org/patch/10916613/=20 I wonder if this is a redhat-ism (some local patch). The runtime looks like it already understands that "struct stack_trace" went away in Linux 5.2, given runtime/linux/autoconf-stack-trace-save-regs.c and= the ifdef for STAPCONF_STACK_TRACE_SAVE_REGS in runtime/stack.c . I checked the generated module with stap -k. The generated header stapconf_458f21c1e2c146ca5cc99e95113a4f8b_799.h does not contain STAPCONF_STACK_TRACE_SAVE_REGS . Tweaking the Makefile so it doesn't swallow output of the configure tests (surely those should go to a log?) shows the following error: ``` make -f ./scripts/Makefile.build obj=3D/tmp/stapsiNon3=20 /tmp/stapsiNon3/stap_767845_src.i /usr/local/share/systemtap/runtime/linux/autoconf-stack-trace-save-regs.c:3= :14: error: function declaration isn=E2=80=99t a prototype [-Werror=3Dstrict-pro= totypes] 3 | unsigned int foo () | ^~~ cc1: all warnings being treated as errors ``` When I fix that by adding a prototype to /usr/local/share/systemtap/runtime/linux/autoconf-stack-trace-save-regs.c=20 ``` unsigned int foo(void); ``` and remove the generated header then re-make, the generated header now incl= udes STAPCONF_STACK_TRACE_SAVE_REGS: ``` /tmp/stapsiNon3# grep -r STAPCONF_STACK_TRACE_SAVE_REGS stapconf_458f21c1e2c146ca5cc99e95113a4f8b_799.h:#define STAPCONF_STACK_TRACE_SAVE_REGS 1 ``` ... and the build fails at a later step due to `-Werror`. So in short, the configure test fails due to `-Werror` and a missing protot= ype, causing the runtime to fail to detect the new stack API in the kernel. --=20 You are receiving this mail because: You are the assignee for the bug.