diff options
| author | Andrew Stubbs <andrew.stubbs@st.com> | 2009-01-19 11:50:31 +0000 |
|---|---|---|
| committer | Andrew Stubbs <andrew.stubbs@st.com> | 2009-01-19 11:50:31 +0000 |
| commit | 6ff38c5467c4350ee202215949c0fe0d637d433a (patch) | |
| tree | 03d299c77bd8654090f6e77d422fb286f1a69421 /bfd/elf32-arm.c | |
| parent | 1bff235d1b57572d6837f558001b35cf121747c4 (diff) | |
| download | binutils-redhat-6ff38c5467c4350ee202215949c0fe0d637d433a.tar.gz | |
2009-01-19 Andrew Stubbs <ams@codesourcery.com>
bfd/
* elf-attrs.c (is_default_attr): Support defaultless attributes.
(bfd_elf_add_obj_attr_int): Get type from _bfd_elf_obj_attrs_arg_type.
(bfd_elf_add_obj_attr_string): Likewise.
(bfd_elf_add_obj_attr_int_string): Likewise.
(_bfd_elf_parse_attributes): Allow for unknown flag bits in type.
* elf-bfd.h (struct obj_attribute): Document new flag bit.
* elf32-arm.c (elf32_arm_obj_attrs_arg_type): Specify that
Tag_nodefaults has no default value.
(elf32_arm_merge_eabi_attributes): Modify the Tag_nodefaults
comment to reflect the new state.
gas/
* read.c (s_vendor_attribute): Allow for unknown flag bits in type.
Diffstat (limited to 'bfd/elf32-arm.c')
| -rw-r--r-- | bfd/elf32-arm.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index ece1a56ccf..a047c5f18b 100644 --- a/bfd/elf32-arm.c +++ b/bfd/elf32-arm.c @@ -8139,6 +8139,8 @@ elf32_arm_obj_attrs_arg_type (int tag) { if (tag == Tag_compatibility) return 3; + else if (tag == Tag_nodefaults) + return 5; else if (tag == 4 || tag == 5) return 2; else if (tag < 32) @@ -8675,11 +8677,10 @@ elf32_arm_merge_eabi_attributes (bfd *ibfd, bfd *obfd) break; case Tag_nodefaults: - /* This tag is set if it exists, but the value is unused. - Unfortunately, we don't record whether each attribute is zero - initialized, or read from the file, so the information has been - lost. In any case, we don't write attributes with zero values. - Do nothing. */ + /* This tag is set if it exists, but the value is unused (and is + typically zero). We don't actually need to do anything here - + the merge happens automatically when the type flags are merged + below. */ break; case Tag_also_compatible_with: /* Already done in Tag_CPU_arch. */ |
