Summary: | [patch] lang/spidermonkey* : add DTRACE option | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | Jan Beich <jbeich> | ||||||||||||||||||||||||
Component: | Individual Port(s) | Assignee: | Koop Mast <kwm> | ||||||||||||||||||||||||
Status: | Closed FIXED | ||||||||||||||||||||||||||
Severity: | Affects Only Me | CC: | koobs, kwm, w.schwarzenfeld | ||||||||||||||||||||||||
Priority: | --- | ||||||||||||||||||||||||||
Version: | Latest | ||||||||||||||||||||||||||
Hardware: | Any | ||||||||||||||||||||||||||
OS: | Any | ||||||||||||||||||||||||||
Attachments: |
|
Description
Jan Beich
2014-08-12 15:25:38 UTC
Created attachment 145714 [details]
esr24 patch
Hmm, this is 4 ports with 3 different maintainers. kwm@ wins, the other two are on copy. Created attachment 145715 [details]
esr24 build log (DTRACE=on)
False positives to ignore:
====> Running Q/A tests (stage-qa)
Warning: 'bin/js24' is not stripped consider using ${STRIP_CMD}
Warning: 'lib/libmozjs-24.so' is not stripped consider using ${STRIP_CMD}
Created attachment 145733 [details]
esr24 patch
Oops, --disable-dtrace is broken. Needs one more patch from upstream bugzilla.
Created attachment 145734 [details]
esr24 build log (DTRACE=off)
Created attachment 145735 [details]
esr17 patch
DTrace probes aren't included from static library (Mozilla bug 702179). Not to mention static libs are discouraged in general (security, waste of resources).
If you disagree I can put lib/libmozjs-17.0.a behind %%NO_DTRACE%% at the expense of moving files/patch-bug702179 to EXTRA_PATCHES.
Created attachment 145736 [details] esr17 build log (DTRACE=on) see comment 3 Created attachment 145737 [details]
esr17 build log (DTRACE=off)
Created attachment 145738 [details] js-1.8.x patch see comment 6 Created attachment 145739 [details]
js-1.8.x build log (DTRACE=on)
Created attachment 145740 [details]
js-1.8.x build log (DTRACE=off)
js-1.7.x is too old to have DTRACE probes. Profiling with ustack is generic and needs only non-debug symbols + -fno-omit-frame-pointer, similar to hwpmc/pmcstat. So, fixing PROFILE option should be global and belongs in bsd.port.mk (untangle STRIP et al. from WITH_DEBUG). Comment on attachment 145738 [details]
js-1.8.x patch
Great PR Jan.
Any reason we must lose the static library unconditionally?
See comment #6 why static is removed. I'm personaly don't care about the removal of the static library but I know it used in some places. I'd like to not limit (user) consumption choice and flexibility, even if other ports in the tree don't use the static library themselves. A commit references this bug: Author: kwm Date: Fri Jan 30 09:58:07 UTC 2015 New revision: 378144 URL: https://svnweb.freebsd.org/changeset/ports/378144 Log: Fix the build on ARM [1] Add DTRACE option (default off) [2] PR: 197058 [1] PR: 192614 [2] Submitted by: sbruno@ [1], jbeich@ [2] Changes: head/lang/spidermonkey24/Makefile head/lang/spidermonkey24/files/ head/lang/spidermonkey24/files/patch-assembler_jit_ExecutableAllocator.h head/lang/spidermonkey24/files/patch-bug1041795 head/lang/spidermonkey24/files/patch-bug1046224 head/lang/spidermonkey24/files/patch-bug702179 head/lang/spidermonkey24/files/patch-jit_AsmJSSignalHandlers.cpp head/lang/spidermonkey24/files/patch-jit_arm_Architecture-arm.cpp head/lang/spidermonkey24/pkg-plist A commit references this bug: Author: kwm Date: Fri Jan 30 10:04:29 UTC 2015 New revision: 378145 URL: https://svnweb.freebsd.org/changeset/ports/378145 Log: Add DTRACE option PR: 192614 Submitted by: jbeich@ Changes: head/lang/spidermonkey170/Makefile head/lang/spidermonkey170/files/patch-bug1041795 head/lang/spidermonkey170/files/patch-bug1046224 head/lang/spidermonkey170/files/patch-bug702179 head/lang/spidermonkey170/pkg-plist Over to koobs@ for last port Submitter is committer. Can we leave the static library in place Jan? Created attachment 152410 [details] js-1.8.x patch (keep static library) Hmm, DTRACE doesn't work for spidermonkey185. The probes aren't initialized as in comment 0. I've tested by launching js shell under WRKSRC and old lang/gjs. dtrace_dof* and __dtrace_javascript* symbols are there, though. $ readelf -a /usr/local/lib/libmozjs-24.so | fgrep dtrace 2237: 0000000000404920 152 FUNC LOCAL DEFAULT 11 dtrace_dof_fini 2238: 0000000000404440 951 FUNC LOCAL DEFAULT 11 dtrace_dof_init 2312: 0000000000000000 0 NOTYPE LOCAL HIDDEN ABS __dtraceenabled_javascrip 2649: 0000000000000000 0 NOTYPE LOCAL HIDDEN ABS __dtrace_javascript___obj 3164: 0000000000000000 0 NOTYPE LOCAL HIDDEN ABS __dtraceenabled_javascrip 3310: 0000000000203b40 476 FUNC LOCAL HIDDEN 11 $dtrace13930195._ZL9NewOb 3406: 0000000000000000 0 NOTYPE LOCAL HIDDEN ABS __dtraceenabled_javascrip 4216: 0000000000000000 0 NOTYPE LOCAL HIDDEN ABS __dtraceenabled_javascrip 5582: 0000000000000000 0 NOTYPE LOCAL HIDDEN ABS __dtrace_javascript___obj 5978: 0000000000000000 0 NOTYPE LOCAL HIDDEN ABS __dtrace_javascript___fun 7853: 0000000000000000 0 NOTYPE LOCAL HIDDEN ABS __dtrace_javascript___fun 9466: 0000000000000000 0 NOTYPE LOCAL HIDDEN ABS __dtrace_javascript___exe 11425: 0000000000000000 0 NOTYPE LOCAL HIDDEN ABS __dtraceenabled_javascrip 11814: 0000000000000000 0 NOTYPE LOCAL HIDDEN ABS __dtraceenabled_javascrip 12550: 0000000000000000 0 NOTYPE LOCAL HIDDEN ABS __dtrace_javascript___exe 12949: 00000000000d4710 39863 FUNC LOCAL HIDDEN 11 $dtrace13930059._ZL9Inter vs. $ readelf -a /usr/local/lib/libmozjs185.so | fgrep dtrace 143: 0000000000000000 0 NOTYPE GLOBAL DEFAULT ABS __dtrace_javascript___exe 190: 0000000000000000 0 NOTYPE GLOBAL DEFAULT ABS __dtrace_javascript___fun 271: 0000000000000000 0 NOTYPE GLOBAL DEFAULT ABS __dtrace_javascript___obj 357: 0000000000000000 0 NOTYPE GLOBAL DEFAULT ABS __dtraceenabled_javascrip 421: 0000000000000000 0 NOTYPE GLOBAL DEFAULT ABS __dtraceenabled_javascrip 430: 0000000000000000 0 NOTYPE GLOBAL DEFAULT ABS __dtraceenabled_javascrip 517: 0000000000000000 0 NOTYPE GLOBAL DEFAULT ABS __dtraceenabled_javascrip 536: 0000000000000000 0 NOTYPE GLOBAL DEFAULT ABS __dtrace_javascript___fun 727: 0000000000000000 0 NOTYPE GLOBAL DEFAULT ABS __dtraceenabled_javascrip 752: 0000000000000000 0 NOTYPE GLOBAL DEFAULT ABS __dtrace_javascript___exe 845: 0000000000000000 0 NOTYPE GLOBAL DEFAULT ABS __dtrace_javascript___obj 885: 0000000000000000 0 NOTYPE GLOBAL DEFAULT ABS __dtraceenabled_javascrip 1212: 0000000000296720 152 FUNC LOCAL DEFAULT 11 dtrace_dof_fini 1213: 0000000000296240 951 FUNC LOCAL DEFAULT 11 dtrace_dof_init 1378: 00000000000a88e0 1993 FUNC LOCAL HIDDEN 11 $dtrace13899205._ZL19Wrap 1614: 0000000000272040 373 FUNC LOCAL HIDDEN 11 $dtrace13899324._ZN2jsL14 1809: 00000000001a88d0 756 FUNC LOCAL HIDDEN 11 $dtrace13899270._ZL19NewX 2796: 00000000000dd050 373 FUNC LOCAL HIDDEN 11 $dtrace13899215._ZN2jsL14 3306: 00000000000fdf80 1959 FUNC LOCAL HIDDEN 11 $dtrace13899231._ZL10obj_ 4151: 00000000000aa660 3007 FUNC LOCAL HIDDEN 11 $dtrace13899205._ZL8Funct 4459: 00000000000dcf00 327 FUNC LOCAL HIDDEN 11 $dtrace13899215._ZL14Scri 4642: 0000000000000000 0 NOTYPE GLOBAL DEFAULT ABS __dtrace_javascript___exe 4743: 0000000000000000 0 NOTYPE GLOBAL DEFAULT ABS __dtrace_javascript___fun 4896: 0000000000000000 0 NOTYPE GLOBAL DEFAULT ABS __dtrace_javascript___exe 4927: 0000000000000000 0 NOTYPE GLOBAL DEFAULT ABS __dtraceenabled_javascrip 4998: 0000000000000000 0 NOTYPE GLOBAL DEFAULT ABS __dtrace_javascript___obj 5023: 0000000000000000 0 NOTYPE GLOBAL DEFAULT ABS __dtraceenabled_javascrip 5049: 0000000000000000 0 NOTYPE GLOBAL DEFAULT ABS __dtraceenabled_javascrip 5086: 0000000000000000 0 NOTYPE GLOBAL DEFAULT ABS __dtraceenabled_javascrip 5161: 0000000000000000 0 NOTYPE GLOBAL DEFAULT ABS __dtrace_javascript___fun 5358: 0000000000000000 0 NOTYPE GLOBAL DEFAULT ABS __dtraceenabled_javascrip 5474: 0000000000000000 0 NOTYPE GLOBAL DEFAULT ABS __dtrace_javascript___obj 5514: 0000000000000000 0 NOTYPE GLOBAL DEFAULT ABS __dtraceenabled_javascrip Is this still relevant? firefox-esr has 52.5.3. The changes are all in the spidermonkey ports. Overcome by events. ^Triage: - Assign to committer that resolved - Correct resolution, this issue was resolved by commit(s), therefore FIXED |