aboutsummaryrefslogtreecommitdiff
path: root/elfcpp
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2012-10-30 12:44:58 +0000
committerNick Clifton <nickc@redhat.com>2012-10-30 12:44:58 +0000
commit3bfcb6528e6fb6a324b2e119f50f72a0674a1402 (patch)
treed9395ca1bd3a2389a2833f97550a714da9b1d59d /elfcpp
parentb1bd052dee559a2b5f09a0e8b1e4d4e45d38f39f (diff)
downloadfsf-binutils-gdb-3bfcb6528e6fb6a324b2e119f50f72a0674a1402.zip
fsf-binutils-gdb-3bfcb6528e6fb6a324b2e119f50f72a0674a1402.tar.gz
fsf-binutils-gdb-3bfcb6528e6fb6a324b2e119f50f72a0674a1402.tar.bz2
bfd:
* elf32-arm.c (elf32_arm_print_private_bfd_data): Recognise and display the new ARM hard-float/soft-float ABI flags for EABI_VER5 (elf32_arm_post_process_headers): Add the hard-float/soft-float ABI flag as appropriate for ET_DYN/ET_EXEC in EABI_VER5. binutils: * readelf.c (decode_ARM_machine_flags): Recognise and display the new ARM hard-float/soft-float ABI flags for EABI_VER5. Split out the code for EABI_VER4 and EABI_VER5 to allow this. elfcpp: * arm.h: New enum for EABI soft- and hard-float flags. gold: * gold.cc (Target_arm::do_adjust_elf_header): Add the hard-float/soft-float ABI flag as appropriate for ET_DYN/ET_EXEC in EABI_VER5. include: * elf/arm.h (EF_ARM_ABI_FLOAT_SOFT): New define. (EF_ARM_ABI_FLOAT_HARD): Likewise. ld/testsuite: * ld-arm/eabi-hard-float.s: New test source. * ld-arm/eabi-soft-float.s: New test source. * ld-arm/eabi-hard-float.d: New test. * ld-arm/eabi-soft-float.d: New test. * ld-arm/eabi-soft-float-ABI4.d: New test. * ld-arm/eabi-soft-float-r.d: New test. * ld-arm/arm-elf.xp: Use the new tests. binutils: PR binutils/14779 * configure.in: Add checks for wchar.h and mbstate_t. * config.in: Regenerate. * configure: Regenerate. * readelf.c: Conditionally include wchar.h. (print_symbol): Conditionally use mbstate_t.
Diffstat (limited to 'elfcpp')
-rw-r--r--elfcpp/ChangeLog4
-rw-r--r--elfcpp/arm.h10
2 files changed, 13 insertions, 1 deletions
diff --git a/elfcpp/ChangeLog b/elfcpp/ChangeLog
index 853fa83..a6d6589 100644
--- a/elfcpp/ChangeLog
+++ b/elfcpp/ChangeLog
@@ -1,3 +1,7 @@
+2012-10-30 Steve McIntyre <steve.mcintyre@linaro.org>
+
+ * arm.h: New enum for EABI soft- and hard-float flags.
+
2012-09-15 Jiong Wang <jiwang@tilera.com>
* tilegx.h: New file.
diff --git a/elfcpp/arm.h b/elfcpp/arm.h
index cb85eeb..ab0618a 100644
--- a/elfcpp/arm.h
+++ b/elfcpp/arm.h
@@ -1,6 +1,6 @@
// arm.h -- ELF definitions specific to EM_ARM -*- C++ -*-
-// Copyright 2009, Free Software Foundation, Inc.
+// Copyright 2009, 2012 Free Software Foundation, Inc.
// Written by Doug Kwan <dougkwan@google.com>.
// This file is part of elfcpp.
@@ -222,6 +222,14 @@ inline Elf_Word
arm_eabi_version(Elf_Word flags)
{ return flags & EF_ARM_EABIMASK; }
+// EABI_VER5 e_flags values for identifying soft- and hard-float ABI
+// choice.
+enum
+{
+ EF_ARM_ABI_FLOAT_SOFT = 0x200,
+ EF_ARM_ABI_FLOAT_HARD = 0x400,
+};
+
// Values for the Tag_CPU_arch EABI attribute.
enum
{