This is an archive of the discontinued LLVM Phabricator instance.

ELF: Implement support for .gnu.linkonce.t.*.
ClosedPublic

Authored by pcc on Jan 6 2017, 6:49 PM.

Details

Summary

The linkonce feature is a sort of proto-comdat. bfd and gold appear to
treat linkonce sections as if they were single-element comdat groups named
after the section name suffix (which means they can cause comdat groups to
be discarded), and this feature is necessary to link parts of the x86-32
CRT on Linux.

We only need support for .gnu.linkonce.t.* for the CRT (and I cannot find
any other uses of linkonce in the x86-32 prebuilt libraries on my system),
so this patch does only that.

Fixes PR31215.

Diff Detail

Repository
rL LLVM

Event Timeline

pcc updated this revision to Diff 83485.Jan 6 2017, 6:49 PM
pcc retitled this revision from to ELF: Implement support for .gnu.linkonce.t.*..
pcc updated this object.
pcc added reviewers: rafael, ruiu.
pcc added subscribers: llvm-commits, eugenis, grimar.
pcc updated this revision to Diff 83662.Jan 9 2017, 12:01 PM
  • Simpler fix
This revision was automatically updated to reflect the committed changes.
nickdesaulniers retitled this revision from ELF: Implement support for .gnu.linkonce.t.*. to ELF: don't discard .gnu.linkonce.this_module.Jan 26 2019, 1:46 PM
nickdesaulniers retitled this revision from ELF: don't discard .gnu.linkonce.this_module to ELF: Implement support for .gnu.linkonce.t.*..Jan 26 2019, 1:46 PM