From: Davide Italiano Date: Sun, 7 Jun 2015 02:45:19 +0000 (+0000) Subject: [Object/ELF] Don't confuse isDefined() and isCommon. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=14c78fb9b1993ba9108d59ca93eb0912d3f2855d;p=oota-llvm.git [Object/ELF] Don't confuse isDefined() and isCommon. Reported by Rafael Espindola. Pointy-hat to me. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@239241 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/Object/ELFTypes.h b/include/llvm/Object/ELFTypes.h index 09a6fea53ef..3f323b5b820 100644 --- a/include/llvm/Object/ELFTypes.h +++ b/include/llvm/Object/ELFTypes.h @@ -180,14 +180,11 @@ struct Elf_Sym_Impl : Elf_Sym_Base { bool isAbsolute() const { return st_shndx == ELF::SHN_ABS; } bool isCommon() const { - return !isUndefined() && - !(st_shndx >= ELF::SHN_LORESERVE && st_shndx < ELF::SHN_ABS); + return getType() == ELF::STT_COMMON || st_shndx == ELF::SHN_COMMON; } bool isDefined() const { return !isUndefined() && - (!(st_shndx >= ELF::SHN_LORESERVE && - st_shndx <= ELF::SHN_HIRESERVE) || - st_shndx == ELF::SHN_XINDEX); + !(st_shndx >= ELF::SHN_LORESERVE && st_shndx < ELF::SHN_ABS); } bool isProcessorSpecific() const { return st_shndx >= ELF::SHN_LOPROC && st_shndx <= ELF::SHN_HIPROC;