Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 21 Feb 2016 14:59:24 +0000 (UTC)
From:      Ian Lepore <ian@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r295857 - head/contrib/binutils/bfd
Message-ID:  <201602211459.u1LExO7h070005@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ian
Date: Sun Feb 21 14:59:24 2016
New Revision: 295857
URL: https://svnweb.freebsd.org/changeset/base/295857

Log:
  Unconditionally set e_ident[OSABI]=ELFOSABI_FREEBSD in arm binary headers.
  
  When the armv6 support was imported from a project branch, this complex
  conditional logic and related #define'd values came along, but it's really
  not clear what the intent of it all was.  The effect, however, was that
  OSABI was always set to zero, which is "UNIX System V ABI".  Having the wrong
  value there causes pkg(8) to avoid looking inside arm elf binaries to
  determine shared-lib required/provides info for packaging.

Modified:
  head/contrib/binutils/bfd/elf32-arm.c

Modified: head/contrib/binutils/bfd/elf32-arm.c
==============================================================================
--- head/contrib/binutils/bfd/elf32-arm.c	Sun Feb 21 14:56:05 2016	(r295856)
+++ head/contrib/binutils/bfd/elf32-arm.c	Sun Feb 21 14:59:24 2016	(r295857)
@@ -59,13 +59,6 @@
 #define elf_info_to_howto               0
 #define elf_info_to_howto_rel           elf32_arm_info_to_howto
 
-#define ARM_ELF_ABI_VERSION		0
-#ifdef __FreeBSD__
-#define ARM_ELF_OS_ABI_VERSION		ELFOSABI_FREEBSD
-#else
-#define ARM_ELF_OS_ABI_VERSION		ELFOSABI_ARM
-#endif
-
 static struct elf_backend_data elf32_arm_vxworks_bed;
 
 /* Note: code such as elf32_arm_reloc_type_lookup expect to use e.g.
@@ -9377,11 +9370,8 @@ elf32_arm_post_process_headers (bfd * ab
 
   i_ehdrp = elf_elfheader (abfd);
 
-  if (EF_ARM_EABI_VERSION (i_ehdrp->e_flags) == EF_ARM_EABI_UNKNOWN)
-    i_ehdrp->e_ident[EI_OSABI] = ARM_ELF_OS_ABI_VERSION;
-  else
-    i_ehdrp->e_ident[EI_OSABI] = 0;
-  i_ehdrp->e_ident[EI_ABIVERSION] = ARM_ELF_ABI_VERSION;
+  i_ehdrp->e_ident[EI_OSABI] = ELFOSABI_FREEBSD;
+  i_ehdrp->e_ident[EI_ABIVERSION] = 0;
 
   if (link_info)
     {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201602211459.u1LExO7h070005>