aboutsummaryrefslogtreecommitdiff
path: root/gold
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2014-12-25 22:15:14 +1030
committerAlan Modra <amodra@gmail.com>2014-12-25 22:22:25 +1030
commitf12d1e8a660c34ce3098da788ac01d067d6ccbab (patch)
tree19fa95b46f1f7b54d6f806f7107c126e93cc4328 /gold
parent6fd9d738c04fd1dd1d73c08f8a384ea3c8a160ab (diff)
downloadfsf-binutils-gdb-f12d1e8a660c34ce3098da788ac01d067d6ccbab.zip
fsf-binutils-gdb-f12d1e8a660c34ce3098da788ac01d067d6ccbab.tar.gz
fsf-binutils-gdb-f12d1e8a660c34ce3098da788ac01d067d6ccbab.tar.bz2
ARM: Add support for value 3 of Tag_ABI_VFP_args attribute
Missing from 5c294fee elfcpp/ * arm.h: Add enums for Tag_ABI_FP_number_model and Tag_ABI_VFP_args. gold/ * arm.cc (Target_arm::do_adjust_elf_header): Provide namespace on new enums. (Target_arm::merge_object_attributes, ): Likewise.
Diffstat (limited to 'gold')
-rw-r--r--gold/ChangeLog6
-rw-r--r--gold/arm.cc12
2 files changed, 12 insertions, 6 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog
index f4983cb..11d9f5b 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,3 +1,9 @@
+2014-12-25 Alan Modra <amodra@gmail.com>
+
+ * arm.cc (Target_arm::do_adjust_elf_header): Provide namespace on
+ new enums.
+ (Target_arm::merge_object_attributes, ): Likewise.
+
2014-12-25 Thomas Preud'homme <thomas.preudhomme@arm.com>
* arm.cc (Target_arm::do_adjust_elf_header): Set e_flags in ELF header
diff --git a/gold/arm.cc b/gold/arm.cc
index 4186a2a..8485ab3 100644
--- a/gold/arm.cc
+++ b/gold/arm.cc
@@ -10056,7 +10056,7 @@ Target_arm<big_endian>::do_adjust_elf_header(
if (type == elfcpp::ET_EXEC || type == elfcpp::ET_DYN)
{
Object_attribute* attr = this->get_aeabi_object_attribute(elfcpp::Tag_ABI_VFP_args);
- if (attr->int_value() == AEABI_VFP_args_vfp)
+ if (attr->int_value() == elfcpp::AEABI_VFP_args_vfp)
flags |= elfcpp::EF_ARM_ABI_FLOAT_HARD;
else
flags |= elfcpp::EF_ARM_ABI_FLOAT_SOFT;
@@ -10494,17 +10494,17 @@ Target_arm<big_endian>::merge_object_attributes(
{
// Ignore mismatches if the object doesn't use floating point. */
if (out_attr[elfcpp::Tag_ABI_FP_number_model].int_value()
- == AEABI_FP_number_model_none
+ == elfcpp::AEABI_FP_number_model_none
|| (in_attr[elfcpp::Tag_ABI_FP_number_model].int_value()
- != AEABI_FP_number_model_none
+ != elfcpp::AEABI_FP_number_model_none
&& out_attr[elfcpp::Tag_ABI_VFP_args].int_value()
- == AEABI_VFP_args_compatible))
+ == elfcpp::AEABI_VFP_args_compatible))
out_attr[elfcpp::Tag_ABI_VFP_args].set_int_value(
in_attr[elfcpp::Tag_ABI_VFP_args].int_value());
else if (in_attr[elfcpp::Tag_ABI_FP_number_model].int_value()
- != AEABI_FP_number_model_none
+ != elfcpp::AEABI_FP_number_model_none
&& in_attr[elfcpp::Tag_ABI_VFP_args].int_value()
- != AEABI_VFP_args_compatible
+ != elfcpp::AEABI_VFP_args_compatible
&& parameters->options().warn_mismatch())
gold_error(_("%s uses VFP register arguments, output does not"),
name);