From 96c61be508fa8fdef79f2f3f3b9140dd75b05207 Mon Sep 17 00:00:00 2001
From: Nick Alcock <nick.alcock@oracle.com>
Date: Mon, 23 Nov 2020 21:30:24 +0000
Subject: [PATCH] binutils: readelf: support CTF dicts with non-native-endian
 symtabs

Now we have a way to tell libctf what the endianness of the symtab is,
get readelf to use it.  (objdump doesn't need to do so, nor does ld,
because they both use BFD-aware mechanisms to open CTF dicts, so libctf
can automatically figure the symtab endianness out.)

binutils/ChangeLog
2020-11-23  Nick Alcock  <nick.alcock@oracle.com>

	* readelf.c (dump_section_as_ctf): Call ctf_arc_symsect_endianness.
---
 binutils/ChangeLog | 4 ++++
 binutils/readelf.c | 3 +++
 2 files changed, 7 insertions(+)

diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index 84853986e67..e03c892b0ce 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,7 @@
+2020-11-23  Nick Alcock  <nick.alcock@oracle.com>
+
+	* readelf.c (dump_section_as_ctf): Call ctf_arc_symsect_endianness.
+
 2020-11-25  Alan Modra  <amodra@gmail.com>
 
 	* testsuite/binutils-all/nm.exp (ifunc): xfail more targets.
diff --git a/binutils/readelf.c b/binutils/readelf.c
index e4d96bb9b34..57e0f1de459 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -14758,6 +14758,9 @@ dump_section_as_ctf (Elf_Internal_Shdr * section, Filedata * filedata)
       goto fail;
     }
 
+  ctf_arc_symsect_endianness (ctfa, filedata->file_header.e_ident[EI_DATA]
+			      != ELFDATA2MSB);
+
   if (parentdata)
     {
       if ((parenta = ctf_arc_bufopen (&parentsect, symsectp, strsectp,