Author: emaste
Date: Tue Oct  2 15:08:41 2018
New Revision: 339083
URL: https://svnweb.freebsd.org/changeset/base/339083

Log:
  libelf: correct mips64el test to use ELF header
  
  libelf maintains two views of endianness: e_byteorder, and
  e_ident[EI_DATA] in the ELF header itself.  e_byteorder is not always
  kept in sync, so use the ELF header endianness to test for mips64el.
  
  PR:           231790
  Bisected by:  sbruno
  Reviewed by:  jhb
  Approved by:  re (kib)
  MFC with:     r338478
  Sponsored by: The FreeBSD Foundation
  Differential Revision:        https://reviews.freebsd.org/D17380

Modified:
  head/contrib/elftoolchain/libelf/gelf_mips64el.c

Modified: head/contrib/elftoolchain/libelf/gelf_mips64el.c
==============================================================================
--- head/contrib/elftoolchain/libelf/gelf_mips64el.c    Tue Oct  2 13:45:25 
2018        (r339082)
+++ head/contrib/elftoolchain/libelf/gelf_mips64el.c    Tue Oct  2 15:08:41 
2018        (r339083)
@@ -34,8 +34,9 @@ int
 _libelf_is_mips64el(Elf *e)
 {
 
-       return (e->e_kind == ELF_K_ELF && e->e_byteorder == ELFDATA2LSB &&
-           e->e_u.e_elf.e_ehdr.e_ehdr64->e_machine == EM_MIPS);
+       return (e->e_kind == ELF_K_ELF &&
+           e->e_u.e_elf.e_ehdr.e_ehdr64->e_machine == EM_MIPS &&
+           e->e_u.e_elf.e_ehdr.e_ehdr64->e_ident[EI_DATA] == ELFDATA2LSB);
 }
 
 /*
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to