Mark Wielaard 10270ba
From 817bd9376dd01039a30dfc4cf9dddd8cdd247446 Mon Sep 17 00:00:00 2001
Mark Wielaard 10270ba
From: Mark Wielaard <mark@klomp.org>
Mark Wielaard 10270ba
Date: Wed, 15 Feb 2017 14:30:27 +0100
Mark Wielaard 10270ba
Subject: [PATCH] backends: Add support for EM_PPC64 GNU_ATTRIBUTES.
Mark Wielaard 10270ba
Mark Wielaard 10270ba
ppc64 and ppc64le ELF files can also contain a power specific
Mark Wielaard 10270ba
.gnu.attributes section. Add support for those and recognize the new
Mark Wielaard 10270ba
GNU_Power_ABI_FP Single-precision hard float value.
Mark Wielaard 10270ba
Mark Wielaard 10270ba
Signed-off-by: Mark Wielaard <mark@klomp.org>
Mark Wielaard 10270ba
---
Mark Wielaard 10270ba
diff --git a/backends/ppc64_init.c b/backends/ppc64_init.c
Mark Wielaard 10270ba
index 2ba8232..11d3a77 100644
Mark Wielaard 10270ba
--- a/backends/ppc64_init.c
Mark Wielaard 10270ba
+++ b/backends/ppc64_init.c
Mark Wielaard 10270ba
@@ -67,6 +67,7 @@ ppc64_init (Elf *elf __attribute__ ((unused)),
Mark Wielaard 10270ba
   HOOK (eh, syscall_abi);
Mark Wielaard 10270ba
   HOOK (eh, core_note);
Mark Wielaard 10270ba
   HOOK (eh, auxv_info);
Mark Wielaard 10270ba
+  HOOK (eh, check_object_attribute);
Mark Wielaard 10270ba
   HOOK (eh, abi_cfi);
Mark Wielaard 10270ba
   /* gcc/config/ #define DWARF_FRAME_REGISTERS.  */
Mark Wielaard 10270ba
   eh->frame_nregs = (114 - 1) + 32;
Mark Wielaard 10270ba
diff --git a/backends/ppc_attrs.c b/backends/ppc_attrs.c
Mark Wielaard 10270ba
index 612c576..48d7129 100644
Mark Wielaard 10270ba
--- a/backends/ppc_attrs.c
Mark Wielaard 10270ba
+++ b/backends/ppc_attrs.c
Mark Wielaard 10270ba
@@ -51,6 +51,7 @@ ppc_check_object_attribute (Ebl *ebl __attribute__ ((unused)),
Mark Wielaard 10270ba
 	    "Hard or soft float",
Mark Wielaard 10270ba
 	    "Hard float",
Mark Wielaard 10270ba
 	    "Soft float",
Mark Wielaard 10270ba
+	    "Single-precision hard float",
Mark Wielaard 10270ba
 	  };
Mark Wielaard 10270ba
 	if (value < sizeof fp_kinds / sizeof fp_kinds[0])
Mark Wielaard 10270ba
 	  *value_name = fp_kinds[value];
Mark Wielaard 10270ba
Mark Wielaard 10270ba
-- 
Mark Wielaard 10270ba
1.8.3.1
Mark Wielaard 10270ba