This is an archive of the discontinued LLVM Phabricator instance.

[lld] Implement --dynamic-list-data
AbandonedPublic

Authored by zatrazz on Apr 4 2016, 1:28 PM.

Details

Reviewers
ruiu
rafael
Summary

This patch implements the --dynamic-list-data option, which adds in
dynamic symbol table all the global data symbols.

This patch depends on http://reviews.llvm.org/D18771 and
http://reviews.llvm.org/D18772

Diff Detail

Event Timeline

zatrazz updated this revision to Diff 52615.Apr 4 2016, 1:28 PM
zatrazz retitled this revision from to [lld] Implement --dynamic-list-data.
zatrazz updated this object.
zatrazz added reviewers: ruiu, rafael.
zatrazz set the repository for this revision to rL LLVM.
zatrazz added a project: lld.
zatrazz added subscribers: llvm-commits, rengolin.
ruiu added inline comments.Apr 4 2016, 2:11 PM
ELF/Writer.cpp
848

You are not using ELFT in this function.

zatrazz added inline comments.Apr 4 2016, 2:35 PM
ELF/Writer.cpp
848

Indeed (this is an artifact from a previous version), I will remove it.

rafael edited edge metadata.Apr 4 2016, 4:12 PM

What is using this feature?

test/ELF/dynamic-list-data.s
3

not sure I can parse "is build in liked"

6

Why do you need the soname?

zatrazz added inline comments.Apr 5 2016, 4:38 AM
test/ELF/dynamic-list-data.s
3

Yeah the wording is fuzzy, I will change that.

6

Just to force test to be dynamically linked without the need to pass either the libc or another system library.

What is using this feature?

As for --dynamic-list-cpp-{new,typeinfo} it is an option that might be used with -Bsymbolic to speed up internal shared library all (to bind internally), however I could not find any project that actually uses it (it though libstdc++.so could be a candidate, but it is not). As for D18774 I can drop the patch is the usercase is not strong enough for inclusion.

zatrazz abandoned this revision.Apr 5 2016, 7:27 AM

This is not sufficient justification. See https://github.com/openucx/ucx/issues/4549#issuecomment-926167627
I don't think --dynamic-list-data is useful.