On Sun, Nov 11, 2018 at 1:25 AM Victor Porof <vpo...@mozilla.com> wrote: > 1. Built this simple trace.cpp: > https://gist.github.com/victorporof/e9809e33c4dc67ef388672791c4c80cd > - Used `clang++ trace.cpp -mmacosx-version-min=10.9 -c -o trace.o` > - I’m building this without `-finstrument-functions`, obviously. > > 2. Added the following to my mozconfig: > CFLAGS="-finstrument-functions" > CXXFLAGS="-finstrument-functions" > LDFLAGS="-L[path/to/object] -ltrace.o”
I'll note here that our clang-cl PGO uses -finstrument-functions-after-inlining instead and that comments around the tree suggest that bare -finstrument-functions needs some encouragement to not do bad things: https://searchfox.org/mozilla-central/source/build/gyp_includes/common.gypi#2616-2619 https://searchfox.org/mozilla-central/source/media/webrtc/trunk/webrtc/build/config/android/BUILD.gn#228-233 I'd try the after-inlining variant and see if that addresses any of your issues. A lot of the symbols that are missing look like things that are probably trivially inlinable. > 3. `./mach build` > Linker errors galore! > > Anything I’m doing wrong? Nothing obvious; it looks like you're failing to pick up a bunch of libc++ symbols, which seems a little peculiar. I'd suggest diffing: - config.status from a "clean" objdir and an objdir using your modified mozconfig, above; and - backend.mk from dom/media/fake-cdm/ from the same objdirs (note that you should only need to do `mach configure` to get these files; there's no need to do a full build) Those diffs should show if there's anything that might suggest C++ libraries suddenly not getting linked. -Nathan _______________________________________________ dev-builds mailing list dev-builds@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-builds