This is an archive of the discontinued LLVM Phabricator instance.

[lld] Implement --dynamic-list-cpp-{new,typeinfo}
AbandonedPublic

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

Details

Reviewers
ruiu
rafael
Summary

This patch implements both the --dynamic-list-cpp-new and
--dynamic-list-cpp-typeinfo options. Former add all the
C++ operator new and delete symbols on the dynamic list
while latter add all the runtime type identification.

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

Diff Detail

Event Timeline

zatrazz updated this revision to Diff 52616.Apr 4 2016, 1:29 PM
zatrazz retitled this revision from to [lld] Implement --dynamic-list-cpp-{new,typeinfo}.
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 edited edge metadata.Apr 4 2016, 2:07 PM

Do you need this feature? This feature seems to be designed for a very specific purpose, so I think you want to first explain why we must support these options.

In D18774#391687, @ruiu wrote:

Do you need this feature? This feature seems to be designed for a very specific purpose, so I think you want to first explain why we must support these options.

This is mainly used when building shared libraries with some -Bsymbolic or -Bsymbol-function while still allowing the programs to override new/delete if it this case. Indeed this is a very narrow cara and have added it only add parity check with ld/gold. I can drop the patch if the usercase is not strong enough.

ruiu added a comment.Apr 4 2016, 2:49 PM

I'd drop this because this is probably a bit too much to be added to LLD if the reason is just for the sake of compatibility with gnu ld/gold. We can discuss that later if someone comes to us and why they need this option.

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