summaryrefslogtreecommitdiffstats
path: root/lld/ELF/Writer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lld/ELF/Writer.cpp')
-rw-r--r--lld/ELF/Writer.cpp32
1 files changed, 14 insertions, 18 deletions
diff --git a/lld/ELF/Writer.cpp b/lld/ELF/Writer.cpp
index c4f8ffc25c5..6bfe75dae8f 100644
--- a/lld/ELF/Writer.cpp
+++ b/lld/ELF/Writer.cpp
@@ -932,11 +932,10 @@ bool Writer<ELFT>::isDiscarded(InputSectionBase<ELFT> *S) const {
template <class ELFT>
static SymbolBody *
addOptionalSynthetic(SymbolTable<ELFT> &Table, StringRef Name,
- OutputSectionBase<ELFT> &Sec, typename ELFT::uint Val,
- uint8_t Visibility) {
+ OutputSectionBase<ELFT> &Sec, typename ELFT::uint Val) {
if (!Table.find(Name))
return nullptr;
- return Table.addSynthetic(Name, Sec, Val, Visibility);
+ return Table.addSynthetic(Name, Sec, Val);
}
// The beginning and the ending of .rel[a].plt section are marked
@@ -951,12 +950,11 @@ void Writer<ELFT>::addRelIpltSymbols() {
return;
StringRef S = Config->Rela ? "__rela_iplt_start" : "__rel_iplt_start";
ElfSym<ELFT>::RelaIpltStart =
- addOptionalSynthetic(Symtab, S, *Out<ELFT>::RelaPlt, 0, STV_HIDDEN);
+ addOptionalSynthetic(Symtab, S, *Out<ELFT>::RelaPlt, 0);
S = Config->Rela ? "__rela_iplt_end" : "__rel_iplt_end";
- ElfSym<ELFT>::RelaIpltEnd =
- addOptionalSynthetic(Symtab, S, *Out<ELFT>::RelaPlt,
- DefinedSynthetic<ELFT>::SectionEnd, STV_HIDDEN);
+ ElfSym<ELFT>::RelaIpltEnd = addOptionalSynthetic(
+ Symtab, S, *Out<ELFT>::RelaPlt, DefinedSynthetic<ELFT>::SectionEnd);
}
template <class ELFT> static bool includeInSymtab(const SymbolBody &B) {
@@ -1076,18 +1074,18 @@ template <class ELFT> void Writer<ELFT>::addReservedSymbols() {
// See "Global Data Symbols" in Chapter 6 in the following document:
// ftp://www.linux-mips.org/pub/linux/mips/doc/ABI/mipsabi.pdf
ElfSym<ELFT>::MipsGp =
- Symtab.addSynthetic("_gp", *Out<ELFT>::Got, MipsGPOffset, STV_DEFAULT);
+ Symtab.addSynthetic("_gp", *Out<ELFT>::Got, MipsGPOffset);
// On MIPS O32 ABI, _gp_disp is a magic symbol designates offset between
// start of function and 'gp' pointer into GOT.
- ElfSym<ELFT>::MipsGpDisp = addOptionalSynthetic(
- Symtab, "_gp_disp", *Out<ELFT>::Got, MipsGPOffset, STV_HIDDEN);
+ ElfSym<ELFT>::MipsGpDisp =
+ addOptionalSynthetic(Symtab, "_gp_disp", *Out<ELFT>::Got, MipsGPOffset);
// The __gnu_local_gp is a magic symbol equal to the current value of 'gp'
// pointer. This symbol is used in the code generated by .cpload pseudo-op
// in case of using -mno-shared option.
// https://sourceware.org/ml/binutils/2004-12/msg00094.html
ElfSym<ELFT>::MipsLocalGp = addOptionalSynthetic(
- Symtab, "__gnu_local_gp", *Out<ELFT>::Got, MipsGPOffset, STV_HIDDEN);
+ Symtab, "__gnu_local_gp", *Out<ELFT>::Got, MipsGPOffset);
}
// In the assembly for 32 bit x86 the _GLOBAL_OFFSET_TABLE_ symbol
@@ -1213,7 +1211,7 @@ template <class ELFT> void Writer<ELFT>::createSections() {
// Even the author of gold doesn't remember why gold behaves that way.
// https://sourceware.org/ml/binutils/2002-03/msg00360.html
if (isOutputDynamic())
- Symtab.addSynthetic("_DYNAMIC", *Out<ELFT>::Dynamic, 0, STV_HIDDEN);
+ Symtab.addSynthetic("_DYNAMIC", *Out<ELFT>::Dynamic, 0);
// Define __rel[a]_iplt_{start,end} symbols if needed.
addRelIpltSymbols();
@@ -1363,9 +1361,8 @@ template <class ELFT> void Writer<ELFT>::addStartEndSymbols() {
auto Define = [&](StringRef Start, StringRef End,
OutputSectionBase<ELFT> *OS) {
if (OS) {
- Symtab.addSynthetic(Start, *OS, 0, STV_HIDDEN);
- Symtab.addSynthetic(End, *OS, DefinedSynthetic<ELFT>::SectionEnd,
- STV_HIDDEN);
+ Symtab.addSynthetic(Start, *OS, 0);
+ Symtab.addSynthetic(End, *OS, DefinedSynthetic<ELFT>::SectionEnd);
} else {
Symtab.addIgnored(Start);
Symtab.addIgnored(End);
@@ -1395,11 +1392,10 @@ void Writer<ELFT>::addStartStopSymbols(OutputSectionBase<ELFT> *Sec) {
StringRef Stop = Saver.save("__stop_" + S);
if (SymbolBody *B = Symtab.find(Start))
if (B->isUndefined())
- Symtab.addSynthetic(Start, *Sec, 0, STV_HIDDEN);
+ Symtab.addSynthetic(Start, *Sec, 0);
if (SymbolBody *B = Symtab.find(Stop))
if (B->isUndefined())
- Symtab.addSynthetic(Stop, *Sec, DefinedSynthetic<ELFT>::SectionEnd,
- STV_HIDDEN);
+ Symtab.addSynthetic(Stop, *Sec, DefinedSynthetic<ELFT>::SectionEnd);
}
template <class ELFT> static bool needsPtLoad(OutputSectionBase<ELFT> *Sec) {
OpenPOWER on IntegriCloud