Date: Tue, 15 Oct 2019 08:13:16 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 241258] Error building 12.1-RC1 from 11.3, "jevents" program getting a sigsegv in /usr/src/lib/libpmc/pmu-events Message-ID: <bug-241258-227-noRFeH0ABy@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-241258-227@https.bugs.freebsd.org/bugzilla/> References: <bug-241258-227@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D241258 --- Comment #1 from sigsys@gmail.com --- Oops. I made a mistake. Comparing the file it was generating on another 12-STABLE system, I noticed that it was stripping the string wrong. Rewrote= the whole function, it was confusing. Index: lib/libpmc/pmu-events/jevents.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- lib/libpmc/pmu-events/jevents.c (revision 353500) +++ lib/libpmc/pmu-events/jevents.c (working copy) @@ -117,13 +117,14 @@ static void fixdesc(char *s) { char *e =3D s + strlen(s); - /* Remove trailing dots that look ugly in perf list */ - --e; - while (e >=3D s && isspace(*e)) - --e; - if (*e =3D=3D '.') - *e =3D 0; + while (e-- > s) { + if (isspace(*e)) + continue; + if ('.' =3D=3D *e) + *e =3D '\0'; + break; + } } /* Add escapes for '\' so they are proper C strings. */ Testing by doing this: cd /usr/src/lib/libpmc/pmu-events make cd /usr/obj/usr/src/amd64.amd64/lib/libpmc cp libpmc_events.c libpmc_events.c.saved ./pmu-events/jevents "x86" /usr/src/lib/libpmc/pmu-events/arch libpmc_event= s.c diff -u libpmc_events.c.saved libpmc_events.c --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-241258-227-noRFeH0ABy>