malformed symbol
Hiroki Sato
hrs at FreeBSD.org
Mon Dec 19 19:39:39 UTC 2016
Mark Johnston <markj at FreeBSD.org> wrote
in <20161219005342.GA57753 at wkstn-mjohnston.west.isilon.com>:
ma> On Wed, Dec 14, 2016 at 02:56:12PM -0800, Robert Mustacchi wrote:
ma> > On 12/14/16 14:51 , Hiroki Sato wrote:
ma> > > This was reproducible on 11.x and 12.x, not on 10.x. Could anyone
ma> > > try this and let me know if this is reproducible on your 11.x or 12.x
ma> > > box? I guess this is a regression of symbol rewrite routine such as
ma> > > s/__/-/ in the dtrace utility while I have not investigated the
ma> > > details yet. Or am I missing something here?
ma> >
ma> > We've seen something similar on illumos that corresponds with newer
ma> > binutils versions (2.26). See https://www.illumos.org/issues/6653.
ma>
ma> I wrote a hacky patch[1] which modifies libdtrace such that it appends
ma> the modified symbol name to the strtab instead of modifying the original
ma> name, and updates the symbol to point to the new entry. It seems to
ma> address the issue.
ma>
ma> I then wondered why we update the strtab in the first place. The code
ma> uses the modified string to look up the probe corresponding to the
ma> relocation that designates the probe site. Why can't we copy the symbol
ma> name to a buffer, call strhyphenate() on that, and use it for the lookup
ma> instead? Once the probe sites are recorded in the DOF, we shouldn't care
ma> about the symbol name. I implemented this too[2] and haven't hit any
ma> problems with some quick testing.
ma>
ma> [1] https://people.freebsd.org/~markj/patches/libdtrace_symname_swizzle.diff
ma> [2] https://people.freebsd.org/~markj/patches/libdtrace_symname_swizzle2.diff
Thank you. I tried [2] and it worked well. If it has no regression
it looks better to me.
-- Hiroki
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-dtrace/attachments/20161220/7ab88209/attachment.sig>
More information about the freebsd-dtrace
mailing list