Changeset View
Changeset View
Standalone View
Standalone View
devel/llvm60/files/lld/patch-head-r339013.diff
- This file was added.
Property | Old Value | New Value |
---|---|---|
fbsd:nokeywords | null | yes \ No newline at end of property |
svn:eol-style | null | native \ No newline at end of property |
svn:mime-type | null | text/plain \ No newline at end of property |
r339013 | dim | 2018-09-29 16:12:03 +0200 (Sat, 29 Sep 2018) | 24 lines | |||||
Pull in r329557 from upstream lld trunk (by George Rimar): | |||||
[ELF] - Allow LLD to produce file symbols. | |||||
This is for PR36716 and | |||||
this enables emitting STT_FILE symbols. | |||||
Output size affect is minor: | |||||
lld binary size changes from 52,883,408 to 52,949,400 | |||||
clang binary size changes from 83,136,456 to 83,219,600 | |||||
Differential revision: https://reviews.llvm.org/D45261 | |||||
This fixes a regression in lld that made it stop emitting STT_FILE | |||||
symbols, which ctfmerge relies upon to uniquify function table entries | |||||
that reference STB_LOCAL symbols. Consequently, ctfmerge stopped | |||||
emitting entries for static functions into the function table, and | |||||
dtrace no longer gets type info for them. | |||||
Approved by: re (kib) | |||||
Reported by: markj | |||||
PR: 230444 | |||||
MFC after: 3 days | |||||
Index: tools/lld/ELF/Writer.cpp | |||||
=================================================================== | |||||
--- tools/lld/ELF/Writer.cpp (revision 339012) | |||||
+++ tools/lld/ELF/Writer.cpp (revision 339013) | |||||
@@ -487,7 +487,7 @@ template <class ELFT> void Writer<ELFT>::run() { | |||||
static bool shouldKeepInSymtab(SectionBase *Sec, StringRef SymName, | |||||
const Symbol &B) { | |||||
- if (B.isFile() || B.isSection()) | |||||
+ if (B.isSection()) | |||||
return false; | |||||
// If sym references a section in a discarded group, don't keep it. |