forked from OSchip/llvm-project
[ELF][MIPS] Reorganize isMipsPIC routine. NFC
llvm-svn: 331555
This commit is contained in:
parent
86a1219d30
commit
b6211d9084
|
@ -658,18 +658,21 @@ template <class ELFT> bool MIPS<ELFT>::usesOnlyLowPageBits(RelType Type) const {
|
|||
|
||||
// Return true if the symbol is a PIC function.
|
||||
template <class ELFT> bool elf::isMipsPIC(const Defined *Sym) {
|
||||
typedef typename ELFT::Ehdr Elf_Ehdr;
|
||||
if (!Sym->Section || !Sym->isFunc())
|
||||
if (!Sym->isFunc())
|
||||
return false;
|
||||
|
||||
auto *Sec = cast<InputSectionBase>(Sym->Section);
|
||||
ObjFile<ELFT> *File = Sec->template getFile<ELFT>();
|
||||
if (Sym->StOther & STO_MIPS_PIC)
|
||||
return true;
|
||||
|
||||
if (!Sym->Section)
|
||||
return false;
|
||||
|
||||
ObjFile<ELFT> *File =
|
||||
cast<InputSectionBase>(Sym->Section)->template getFile<ELFT>();
|
||||
if (!File)
|
||||
return false;
|
||||
|
||||
const Elf_Ehdr *Hdr = File->getObj().getHeader();
|
||||
return (Sym->StOther & STO_MIPS_MIPS16) == STO_MIPS_PIC ||
|
||||
(Hdr->e_flags & EF_MIPS_PIC);
|
||||
return File->getObj().getHeader()->e_flags & EF_MIPS_PIC;
|
||||
}
|
||||
|
||||
template <class ELFT> TargetInfo *elf::getMipsTargetInfo() {
|
||||
|
|
Loading…
Reference in New Issue