Skip to content
This repository has been archived by the owner on Apr 23, 2020. It is now read-only.

Commit

Permalink
Rename K_MIPS64 to K_GNU64
Browse files Browse the repository at this point in the history
This patch renames K_MIPS64 to K_GNU64 as part of a change to add
support for writing archives with 64-bit indexes in the symbol table.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313787 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
jakehehrlich committed Sep 20, 2017
1 parent ca18763 commit f45adc2
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 10 deletions.
2 changes: 1 addition & 1 deletion include/llvm/Object/Archive.h
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,7 @@ class Archive : public Binary {

enum Kind {
K_GNU,
K_MIPS64,
K_GNU64,
K_BSD,
K_DARWIN,
K_DARWIN64,
Expand Down
16 changes: 8 additions & 8 deletions lib/Object/Archive.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ Expected<StringRef> ArchiveMemberHeader::getName(uint64_t Size) const {

// GNU long file names end with a "/\n".
if (Parent->kind() == Archive::K_GNU ||
Parent->kind() == Archive::K_MIPS64) {
Parent->kind() == Archive::K_GNU64) {
StringRef::size_type End = StringRef(addr).find('\n');
return StringRef(addr, End - 1);
}
Expand Down Expand Up @@ -338,7 +338,7 @@ Archive::Child::Child(const Archive *Parent, const char *Start, Error *Err)

ErrorAsOutParameter ErrAsOutParam(Err);

// If there was an error in the construction of the Header
// If there was an error in the construction of the Header
// then just return with the error now set.
if (*Err)
return;
Expand Down Expand Up @@ -698,7 +698,7 @@ Archive::Archive(MemoryBufferRef Source, Error &Err)
}

if (Name == "//") {
Format = has64SymTable ? K_MIPS64 : K_GNU;
Format = has64SymTable ? K_GNU64 : K_GNU;
// The string table is never an external member, but we still
// must check any Expected<> return value.
Expected<StringRef> BufOrErr = C->getBuffer();
Expand All @@ -715,7 +715,7 @@ Archive::Archive(MemoryBufferRef Source, Error &Err)
}

if (Name[0] != '/') {
Format = has64SymTable ? K_MIPS64 : K_GNU;
Format = has64SymTable ? K_GNU64 : K_GNU;
setFirstRegular(*C);
Err = Error::success();
return;
Expand Down Expand Up @@ -797,14 +797,14 @@ StringRef Archive::Symbol::getName() const {
Expected<Archive::Child> Archive::Symbol::getMember() const {
const char *Buf = Parent->getSymbolTable().begin();
const char *Offsets = Buf;
if (Parent->kind() == K_MIPS64 || Parent->kind() == K_DARWIN64)
if (Parent->kind() == K_GNU64 || Parent->kind() == K_DARWIN64)
Offsets += sizeof(uint64_t);
else
Offsets += sizeof(uint32_t);
uint32_t Offset = 0;
if (Parent->kind() == K_GNU) {
Offset = read32be(Offsets + SymbolIndex * 4);
} else if (Parent->kind() == K_MIPS64) {
} else if (Parent->kind() == K_GNU64) {
Offset = read64be(Offsets + SymbolIndex * 8);
} else if (Parent->kind() == K_BSD) {
// The SymbolIndex is an index into the ranlib structs that start at
Expand Down Expand Up @@ -902,7 +902,7 @@ Archive::symbol_iterator Archive::symbol_begin() const {
uint32_t symbol_count = 0;
symbol_count = read32be(buf);
buf += sizeof(uint32_t) + (symbol_count * (sizeof(uint32_t)));
} else if (kind() == K_MIPS64) {
} else if (kind() == K_GNU64) {
uint64_t symbol_count = read64be(buf);
buf += sizeof(uint64_t) + (symbol_count * (sizeof(uint64_t)));
} else if (kind() == K_BSD) {
Expand Down Expand Up @@ -959,7 +959,7 @@ uint32_t Archive::getNumberOfSymbols() const {
const char *buf = getSymbolTable().begin();
if (kind() == K_GNU)
return read32be(buf);
if (kind() == K_MIPS64)
if (kind() == K_GNU64)
return read64be(buf);
if (kind() == K_BSD)
return read32le(buf) / 8;
Expand Down
2 changes: 1 addition & 1 deletion lib/Object/ArchiveWriter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ static bool isBSDLike(object::Archive::Kind Kind) {
case object::Archive::K_BSD:
case object::Archive::K_DARWIN:
return true;
case object::Archive::K_MIPS64:
case object::Archive::K_GNU64:
case object::Archive::K_DARWIN64:
case object::Archive::K_COFF:
break;
Expand Down

0 comments on commit f45adc2

Please sign in to comment.