From 0b01edd242c89bf970f4604894c09d7545372bc0 Mon Sep 17 00:00:00 2001
From: Andrew Hsieh <andrewhsieh@google.com>
Date: Fri, 1 Mar 2013 18:24:12 +0800
Subject: [PATCH] Ignore empty archive

Change-Id: If0f144cc847790fdc77e997fda455bcaa3ab0b7d
---
 lib/LD/GNUArchiveReader.cpp |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/lib/LD/GNUArchiveReader.cpp b/lib/LD/GNUArchiveReader.cpp
index 82e4fec..70a9289 100644
--- a/lib/LD/GNUArchiveReader.cpp
+++ b/lib/LD/GNUArchiveReader.cpp
@@ -237,6 +237,11 @@ Input* GNUArchiveReader::readMemberHeader(Archive& pArchiveRoot,
 bool GNUArchiveReader::readSymbolTable(Archive& pArchive)
 {
   assert(pArchive.getARFile().hasMemArea());
+  FileHandle *handler = pArchive.getARFile().memArea()->handler();
+  if (handler->size() == Archive::MAGIC_LEN) {
+    pArchive.setSymTabSize(0);
+    return true;
+  }
 
   MemoryRegion* header_region =
     pArchive.getARFile().memArea()->request((pArchive.getARFile().fileOffset() +
@@ -288,6 +293,13 @@ bool GNUArchiveReader::readSymbolTable(Archive& pArchive)
 /// readStringTable - read the strtab for long file name of the archive
 bool GNUArchiveReader::readStringTable(Archive& pArchive)
 {
+  assert(pArchive.getARFile().hasMemArea());
+
+  FileHandle *handler = pArchive.getARFile().memArea()->handler();
+  if (handler->size() == Archive::MAGIC_LEN) {
+    return true;
+  }
+
   size_t offset = Archive::MAGIC_LEN +
                   sizeof(Archive::MemberHeader) +
                   pArchive.getSymTabSize();
@@ -295,8 +307,6 @@ bool GNUArchiveReader::readStringTable(Archive& pArchive)
   if (0x0 != (offset & 1))
     ++offset;
 
-  assert(pArchive.getARFile().hasMemArea());
-
   MemoryRegion* header_region =
     pArchive.getARFile().memArea()->request((pArchive.getARFile().fileOffset() +
                                              offset),
-- 
1.7.7.3

