plasma-umass / coz

Coz: Causal Profiling
Other
4.04k stars 160 forks source link

Add -ldl to benchmark build rules #167

Closed kramermt closed 3 years ago

kramermt commented 3 years ago

Fixes #166

Commit 1 Adds a check rule which builds and runs the kmeans benchmark and verifies its profile.coz contains the expected entry types.

Expected to fail CI for clang, due to missing -ldl. Also fails for earlier versions of g++ (not covered by CI).

It has been pushed as a separate commit to validate that CI does indeed fail.

Commit 2 Subsequent commit provides the fix, with CI passing.

Adds -ldl to benchmark build rules, with an explicit --no-as-needed to support older toolchains.

Notes Given that it appears the --no-as-needed option is only required for older toolchains (and even then, potentially only when combined with older loaders that don't satisfy the weak symbol at load-time), I opted against mentioning it in the README.

If there is an appropriate place to mention this potential surprise, please let me know.

kramermt commented 3 years ago

Apologies, I hadn't yet pushed the second commit, was waiting for the CI to complete on the first one. Will open a second PR with the fix for the CI failure.