summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMark Wielaard <[email protected]>2014-12-26 16:20:39 +0100
committerMark Wielaard <[email protected]>2015-01-12 22:06:27 +0100
commit8fb260f7137a231caf250dbe4ba64fcebd33b68d (patch)
tree9b61edb657d41c9457fea1e67470f01561814b63 /src
parent0b799ad9822f4866aaf1eb34564681e83bdaf9f1 (diff)
nm: Handle/Skip /SYM64/ index entries.
Add a testcase to show eu-nm now handles archives with 64-bit symbol table. Signed-off-by: Mark Wielaard <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog4
-rw-r--r--src/nm.c3
2 files changed, 6 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 18a038d4..9da28532 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,9 @@
2014-12-26 Mark Wielaard <[email protected]>
+ * nm.c (handle_ar): Skip over /SYM64/ entries.
+
+2014-12-26 Mark Wielaard <[email protected]>
+
* nm.c (handle_ar): Break on arsym with invalid offset.
2014-12-20 Mark Wielaard <[email protected]>
diff --git a/src/nm.c b/src/nm.c
index 6a9f8e1f..be91459c 100644
--- a/src/nm.c
+++ b/src/nm.c
@@ -493,7 +493,8 @@ handle_ar (int fd, Elf *elf, const char *prefix, const char *fname,
/* Skip over the index entries. */
if (strcmp (arhdr->ar_name, "/") != 0
- && strcmp (arhdr->ar_name, "//") != 0)
+ && strcmp (arhdr->ar_name, "//") != 0
+ && strcmp (arhdr->ar_name, "/SYM64/") != 0)
{
if (elf_kind (subelf) == ELF_K_ELF)
result |= handle_elf (subelf, new_prefix, arhdr->ar_name,