diff options
author | Andrew Stubbs <andrew.stubbs@st.com> | 2009-01-19 12:14:05 +0000 |
---|---|---|
committer | Andrew Stubbs <andrew.stubbs@st.com> | 2009-01-19 12:14:05 +0000 |
commit | 1695f2a1354cec9d5e489d7e7955a8144dbb2546 (patch) | |
tree | 932a72c889cfebadf5032d59a61fc3c1ac2daa52 /bfd/elf-attrs.c | |
parent | 4e4dd2517c1b3816f55b8e36cee1b25c5ae2cb50 (diff) | |
download | binutils-redhat-1695f2a1354cec9d5e489d7e7955a8144dbb2546.tar.gz |
2009-01-19 Andrew Stubbs <ams@codesourcery.com>
bfd/
* elf-attrs.c (vendor_set_obj_attr_contents): Support tag ordering.
* elf-bfd.h (elf_backend_data): Add obj_attrs_order.
* elf32-arm.c (elf32_arm_obj_attrs_order): New function.
(elf_backend_obj_attrs_order): New define.
* elfxx-target.h (elf_backend_obj_attrs_order): New define.
(elfNN_bed): Add elf_backend_obj_attrs_order.
gas/testsuite/
* gas/arm/attr-order.d: New file.
* gas/arm/attr-order.s: New file.
Diffstat (limited to 'bfd/elf-attrs.c')
-rw-r--r-- | bfd/elf-attrs.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/bfd/elf-attrs.c b/bfd/elf-attrs.c index 1e8076b743..e60053b872 100644 --- a/bfd/elf-attrs.c +++ b/bfd/elf-attrs.c @@ -189,7 +189,12 @@ vendor_set_obj_attr_contents (bfd *abfd, bfd_byte *contents, bfd_vma size, attr = elf_known_obj_attributes (abfd)[vendor]; for (i = 4; i < NUM_KNOWN_OBJ_ATTRIBUTES; i++) - p = write_obj_attribute (p, i, &attr[i]); + { + int tag = i; + if (get_elf_backend_data (abfd)->obj_attrs_order) + tag = get_elf_backend_data (abfd)->obj_attrs_order (i); + p = write_obj_attribute (p, tag, &attr[tag]); + } for (list = elf_other_obj_attributes (abfd)[vendor]; list; |