[llvm] r368584 - [XCOFF] Use a single symbolic constant for the size of an embeded name. [NFC]
Sean Fertile via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 12 08:27:40 PDT 2019
Author: sfertile
Date: Mon Aug 12 08:27:40 2019
New Revision: 368584
URL: http://llvm.org/viewvc/llvm-project?rev=368584&view=rev
Log:
[XCOFF] Use a single symbolic constant for the size of an embeded name. [NFC]
Convert SymbolNameSize and SectionNameSize into just `NameSize`. The length of
a name embeded in a symbol table entry or section header table entry is length 8
for Sections, Symbols and Files. No need to have a distinct constant for each
one. Also removes the Size argument to 'generateStringRef' as the size is
always 'XCOFF::NameSize'.
Modified:
llvm/trunk/include/llvm/BinaryFormat/XCOFF.h
llvm/trunk/include/llvm/Object/XCOFFObjectFile.h
llvm/trunk/lib/Object/XCOFFObjectFile.cpp
Modified: llvm/trunk/include/llvm/BinaryFormat/XCOFF.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/BinaryFormat/XCOFF.h?rev=368584&r1=368583&r2=368584&view=diff
==============================================================================
--- llvm/trunk/include/llvm/BinaryFormat/XCOFF.h (original)
+++ llvm/trunk/include/llvm/BinaryFormat/XCOFF.h Mon Aug 12 08:27:40 2019
@@ -19,7 +19,7 @@ namespace llvm {
namespace XCOFF {
// Constants used in the XCOFF definition.
-enum { SectionNameSize = 8, SymbolNameSize = 8 };
+enum { NameSize = 8 };
enum ReservedSectionNum { N_DEBUG = -2, N_ABS = -1, N_UNDEF = 0 };
// x_smclas field of x_csect from system header: /usr/include/syms.h
Modified: llvm/trunk/include/llvm/Object/XCOFFObjectFile.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Object/XCOFFObjectFile.h?rev=368584&r1=368583&r2=368584&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Object/XCOFFObjectFile.h (original)
+++ llvm/trunk/include/llvm/Object/XCOFFObjectFile.h Mon Aug 12 08:27:40 2019
@@ -48,7 +48,7 @@ struct XCOFFFileHeader64 {
};
struct XCOFFSectionHeader32 {
- char Name[XCOFF::SectionNameSize];
+ char Name[XCOFF::NameSize];
support::ubig32_t PhysicalAddress;
support::ubig32_t VirtualAddress;
support::ubig32_t SectionSize;
@@ -63,7 +63,7 @@ struct XCOFFSectionHeader32 {
};
struct XCOFFSectionHeader64 {
- char Name[XCOFF::SectionNameSize];
+ char Name[XCOFF::NameSize];
support::ubig64_t PhysicalAddress;
support::ubig64_t VirtualAddress;
support::ubig64_t SectionSize;
@@ -91,7 +91,7 @@ struct XCOFFSymbolEntry {
} CFileLanguageIdAndTypeIdType;
union {
- char SymbolName[XCOFF::SymbolNameSize];
+ char SymbolName[XCOFF::NameSize];
NameInStrTblType NameInStrTbl;
};
Modified: llvm/trunk/lib/Object/XCOFFObjectFile.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Object/XCOFFObjectFile.cpp?rev=368584&r1=368583&r2=368584&view=diff
==============================================================================
--- llvm/trunk/lib/Object/XCOFFObjectFile.cpp (original)
+++ llvm/trunk/lib/Object/XCOFFObjectFile.cpp Mon Aug 12 08:27:40 2019
@@ -37,10 +37,11 @@ template <typename T> static const T *vi
return reinterpret_cast<const T *>(in);
}
-static StringRef generateStringRef(const char *Name, uint64_t Size) {
- auto NulCharPtr = static_cast<const char *>(memchr(Name, '\0', Size));
+static StringRef generateStringRef(const char *Name) {
+ auto NulCharPtr =
+ static_cast<const char *>(memchr(Name, '\0', XCOFF::NameSize));
return NulCharPtr ? StringRef(Name, NulCharPtr - Name)
- : StringRef(Name, Size);
+ : StringRef(Name, XCOFF::NameSize);
}
void XCOFFObjectFile::checkSectionAddress(uintptr_t Addr,
@@ -114,7 +115,7 @@ Expected<StringRef> XCOFFObjectFile::get
const XCOFFSymbolEntry *SymEntPtr = toSymbolEntry(Symb);
if (SymEntPtr->NameInStrTbl.Magic != XCOFFSymbolEntry::NAME_IN_STR_TBL_MAGIC)
- return generateStringRef(SymEntPtr->SymbolName, XCOFF::SymbolNameSize);
+ return generateStringRef(SymEntPtr->SymbolName);
// A storage class value with the high-order bit on indicates that the name is
// a symbolic debugger stabstring.
@@ -180,7 +181,7 @@ void XCOFFObjectFile::moveSectionNext(Da
}
Expected<StringRef> XCOFFObjectFile::getSectionName(DataRefImpl Sec) const {
- return generateStringRef(getSectionNameInternal(Sec), XCOFF::SectionNameSize);
+ return generateStringRef(getSectionNameInternal(Sec));
}
uint64_t XCOFFObjectFile::getSectionAddress(DataRefImpl Sec) const {
@@ -388,8 +389,7 @@ XCOFFObjectFile::getSymbolSectionName(co
default:
Expected<DataRefImpl> SecRef = getSectionByNum(SectionNum);
if (SecRef)
- return generateStringRef(getSectionNameInternal(SecRef.get()),
- XCOFF::SectionNameSize);
+ return generateStringRef(getSectionNameInternal(SecRef.get()));
return SecRef.takeError();
}
}
@@ -568,11 +568,11 @@ ObjectFile::createXCOFFObjectFile(Memory
}
StringRef XCOFFSectionHeader32::getName() const {
- return generateStringRef(Name, XCOFF::SectionNameSize);
+ return generateStringRef(Name);
}
StringRef XCOFFSectionHeader64::getName() const {
- return generateStringRef(Name, XCOFF::SectionNameSize);
+ return generateStringRef(Name);
}
} // namespace object
More information about the llvm-commits
mailing list