svn commit: r339013 - head/contrib/llvm/tools/lld/ELF
Dimitry Andric
dim at FreeBSD.org
Sat Sep 29 14:12:05 UTC 2018
Author: dim
Date: Sat Sep 29 14:12:03 2018
New Revision: 339013
URL: https://svnweb.freebsd.org/changeset/base/339013
Log:
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
Modified:
head/contrib/llvm/tools/lld/ELF/Writer.cpp
Modified: head/contrib/llvm/tools/lld/ELF/Writer.cpp
==============================================================================
--- head/contrib/llvm/tools/lld/ELF/Writer.cpp Sat Sep 29 13:01:23 2018 (r339012)
+++ head/contrib/llvm/tools/lld/ELF/Writer.cpp Sat Sep 29 14:12:03 2018 (r339013)
@@ -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.
More information about the svn-src-all
mailing list