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;
if (tag < NUM_KNOWN_OBJ_ATTRIBUTES)
{
- /* Knwon tags are preallocated. */
+ /* Known tags are preallocated. */
attr = &elf_known_obj_attributes (abfd)[vendor][tag];
}
else
if (tag < NUM_KNOWN_OBJ_ATTRIBUTES)
{
- /* Knwon tags are preallocated. */
+ /* Known tags are preallocated. */
return elf_known_obj_attributes (abfd)[vendor][tag].i;
}
else
if (in_attr->i > 0 && strcmp (in_attr->s, "gnu") != 0)
{
_bfd_error_handler
- (_("ERROR: %B: Must be processed by '%s' toolchain"),
+ (_("error: %B: Must be processed by '%s' toolchain"),
ibfd, in_attr->s);
return FALSE;
}
if (in_attr->i != out_attr->i
|| (in_attr->i != 0 && strcmp (in_attr->s, out_attr->s) != 0))
{
- _bfd_error_handler (_("ERROR: %B: Object tag '%d, %s' is "
+ _bfd_error_handler (_("error: %B: Object tag '%d, %s' is "
"incompatible with tag '%d, %s'"),
ibfd,
in_attr->i, in_attr->s ? in_attr->s : "",