Lines Matching refs:tag

55 obj_attr_size (int tag, obj_attribute *attr)
62 size = uleb128_size (tag);
102 size += obj_attr_size (list->tag, &list->attr);
144 write_obj_attribute (bfd_byte *p, int tag, obj_attribute *attr)
150 p = write_uleb128 (p, tag);
194 p = write_obj_attribute (p, list->tag, &list->attr);
223 elf_new_obj_attr (bfd *abfd, int vendor, int tag)
231 if (tag < NUM_KNOWN_OBJ_ATTRIBUTES)
234 attr = &elf_known_obj_attributes (abfd)[vendor][tag];
238 /* Create a new tag. */
242 list->tag = tag;
243 /* Keep the tag list in order. */
247 if (tag < p->tag)
261 bfd_elf_get_obj_attr_int (bfd *abfd, int vendor, int tag)
265 if (tag < NUM_KNOWN_OBJ_ATTRIBUTES)
268 return elf_known_obj_attributes (abfd)[vendor][tag].i;
276 if (tag == p->tag)
278 if (tag < p->tag)
287 bfd_elf_add_obj_attr_int (bfd *abfd, int vendor, int tag, unsigned int i)
291 attr = elf_new_obj_attr (abfd, vendor, tag);
310 bfd_elf_add_obj_attr_string (bfd *abfd, int vendor, int tag, const char *s)
314 attr = elf_new_obj_attr (abfd, vendor, tag);
331 list->tag = Tag_compatibility;
340 if (p->tag != Tag_compatibility)
383 bfd_elf_add_obj_attr_int (obfd, vendor, list->tag, in_attr->i);
386 bfd_elf_add_obj_attr_string (obfd, vendor, list->tag,
400 /* Determine whether a GNU object attribute tag takes an integer, a
403 gnu_obj_attrs_arg_type (int tag)
407 and even-numbered tags take integers. In addition, tag & 2 is
410 if (tag == Tag_compatibility)
413 return (tag & 1) != 0 ? 2 : 1;
416 /* Determine what arguments an attribute tag takes. */
418 _bfd_elf_obj_attrs_arg_type (bfd *abfd, int vendor, int tag)
423 return get_elf_backend_data (abfd)->obj_attrs_arg_type (tag);
426 return gnu_obj_attrs_arg_type (tag);
483 int tag;
489 tag = read_unsigned_leb128 (abfd, p, &n);
498 switch (tag)
505 tag = read_unsigned_leb128 (abfd, p, &n);
507 type = _bfd_elf_obj_attrs_arg_type (abfd, vendor, tag);
518 bfd_elf_add_obj_attr_string (abfd, vendor, tag,
525 bfd_elf_add_obj_attr_int (abfd, vendor, tag, val);
573 while (in_list && in_list->tag == Tag_compatibility)
585 if (!out_list || out_list->tag != Tag_compatibility
588 /* Add this compatibility tag to the output. */
596 if (out_list->tag != Tag_compatibility
601 (_("ERROR: %B: Incompatible object tag '%s':%d"),
606 if (in_list->tag != Tag_compatibility
616 if (out_list && out_list->tag == Tag_compatibility
620 (_("ERROR: %B: Incompatible object tag '%s':%d"),