This is an archive of the discontinued LLVM Phabricator instance.

[ELF] Fix bugzilla #38748 for option no-rosegment
AbandonedPublic

Authored by NickHung on Sep 3 2018, 6:39 PM.

Details

Reviewers
espindola
ruiu
Group Reviewers
lld
Summary
Fix option no-rosegment for bugzilla #38784

* Prior to this revision, lld always groups read-only sections into
executable segments. This decision might cause a huge executable size as
described in the bugzilla.
* This revision tries to group the following sections with the current
segment if no-rosegment is on.

* add a new test case: no-rosegment.s
* modify 4 test cases accordingly.

Diff Detail

Repository
rLLD LLVM Linker

Event Timeline

NickHung created this revision.Sep 3 2018, 6:39 PM
NickHung updated this revision to Diff 164123.Sep 5 2018, 4:20 PM
smeenai added a reviewer: ruiu.Sep 5 2018, 4:32 PM
smeenai added a subscriber: smeenai.

You'll wanna upload the patch with full context (http://llvm.org/docs/Phabricator.html).

I made a comment in https://bugs.llvm.org/show_bug.cgi?id=38784

For your example, it is ld.bfd which creates a 2.1M executable, not lld

NickHung abandoned this revision.Oct 20 2020, 7:32 PM