diff options
author | Joseph Myers <joseph@codesourcery.com> | 2010-11-04 11:35:01 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2010-11-04 11:35:01 +0000 |
commit | e8b36cd1e57055ea2eb1e2ba2692f1ec520b34db (patch) | |
tree | 317666abafb1d4aa2ff281b3b31f9d8c59ecd8a8 /bfd/elf-bfd.h | |
parent | 608bcef2676e2019d046ff7a485c47fd0b8606bd (diff) | |
download | binutils-e8b36cd1e57055ea2eb1e2ba2692f1ec520b34db.zip binutils-e8b36cd1e57055ea2eb1e2ba2692f1ec520b34db.tar.gz binutils-e8b36cd1e57055ea2eb1e2ba2692f1ec520b34db.tar.bz2 |
* elf-attrs.c (_bfd_elf_merge_unknown_attribute_low,
_bfd_elf_merge_unknown_attribute_list): New.
* elf-bfd.h (struct elf_backend_data): Add
obj_attrs_handle_unknown.
(_bfd_elf_merge_unknown_attribute_low,
_bfd_elf_merge_unknown_attribute_list): Declare.
* elf32-arm.c (elf32_arm_obj_attrs_handle_unknown): New. Split
out from elf32_arm_merge_eabi_attributes.
(elf32_arm_merge_eabi_attributes): Use
_bfd_elf_merge_unknown_attribute_low and
_bfd_elf_merge_unknown_attribute_list.
(elf_backend_obj_attrs_handle_unknown): Define.
* elfxx-target.h (elf_backend_obj_attrs_handle_unknown): Define.
(elfNN_bed): Update initializer.
Diffstat (limited to 'bfd/elf-bfd.h')
-rw-r--r-- | bfd/elf-bfd.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h index e306f8d..2e607f8 100644 --- a/bfd/elf-bfd.h +++ b/bfd/elf-bfd.h @@ -1256,6 +1256,10 @@ struct elf_backend_data actual tag number to place in the input position. */ int (*obj_attrs_order) (int); + /* Handle merging unknown attributes; either warn and return TRUE, + or give an error and return FALSE. */ + bfd_boolean (*obj_attrs_handle_unknown) (bfd *, int); + /* This is non-zero if static TLS segments require a special alignment. */ unsigned static_tls_alignment; @@ -2235,6 +2239,8 @@ extern void _bfd_elf_copy_obj_attributes (bfd *, bfd *); extern int _bfd_elf_obj_attrs_arg_type (bfd *, int, int); extern void _bfd_elf_parse_attributes (bfd *, Elf_Internal_Shdr *); extern bfd_boolean _bfd_elf_merge_object_attributes (bfd *, bfd *); +extern bfd_boolean _bfd_elf_merge_unknown_attribute_low (bfd *, bfd *, int); +extern bfd_boolean _bfd_elf_merge_unknown_attribute_list (bfd *, bfd *); extern Elf_Internal_Shdr *_bfd_elf_single_rel_hdr (asection *sec); /* The linker may needs to keep track of the number of relocs that it |