From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 00D7F3861C5E; Fri, 16 Jul 2021 18:39:00 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 00D7F3861C5E From: "wcohen at redhat dot com" To: systemtap@sourceware.org Subject: [Bug translator/27984] stap skipping partially-inlined instance, but it is not inline function actually Date: Fri, 16 Jul 2021 18:39:00 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: systemtap X-Bugzilla-Component: translator X-Bugzilla-Version: unspecified X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: wcohen at redhat dot com X-Bugzilla-Status: NEW 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-BeenThere: systemtap@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Systemtap mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 16 Jul 2021 18:39:01 -0000 https://sourceware.org/bugzilla/show_bug.cgi?id=3D27984 --- Comment #9 from William Cohen --- Frank suggested dw.mod_info->bias as a possible place to get the information about the bias. However, the value doesn't appear to be set to the correct value. It was 0. Ironically, if one manually adds the expected bias (0x100= 00) needed for the reproducer and provide a variable to store the returned bias= in the last arg of dwfl_module_addrinfo() like the patche below, the function returns the expected bias: diff --git a/tapsets.cxx b/tapsets.cxx index 20e0cb68f..4f8d31c5f 100644 --- a/tapsets.cxx +++ b/tapsets.cxx @@ -2280,9 +2280,17 @@ query_dwarf_func (Dwarf_Die * func, dwarf_query * q) // up the ELF symbol name and rely on a heuristic. GElf_Sym sym; GElf_Off off =3D 0; - const char *name =3D dwfl_module_addrinfo (q->dw.module, ent= rypc, - &off, &sym, NULL, N= ULL, NULL); + // The following seems to be 0 + // Dwarf_Addr bias =3D q->dw.mod_info->bias; + Dwarf_Addr bias =3D 0x10000; + Dwarf_Addr ret_bias =3D 0; + const char *name =3D dwfl_module_addrinfo (q->dw.module, entr= ypc + bias, + &off, &sym, NULL, N= ULL, &ret_bias); + + if (q->sess.verbose>2) + clog << _F("%s =3D dwfl_module_addrinfo(entrypc=3D%p = + %p, off=3D%p, ret_bias=3D%p)\n", + name, (void*)entrypc, (void *)bias, (void*) off, (void*) ret_bias); if (name !=3D NULL && strstr(name, ".part.") !=3D NULL) { if (q->sess.verbose>2) selected function BIO_new_ssl BIO_new_ssl =3D dwfl_module_addrinfo(entrypc=3D0x1f760 + 0x10000, off=3D(ni= l), ret_bias=3D0x10000) selected function BIO_new_ssl_connect BIO_new_ssl_connect =3D dwfl_module_addrinfo(entrypc=3D0x1f7e0 + 0x10000, off=3D(nil), ret_bias=3D0x10000) selected function ssl_puts ssl_puts =3D dwfl_module_addrinfo(entrypc=3D0x1ed10 + 0x10000, off=3D(nil), ret_bias=3D0x10000) --=20 You are receiving this mail because: You are the assignee for the bug.=