Lines Matching refs:ar_hdr
664 struct ar_hdr hdrm; in read_long_names()
665 struct ar_hdr *hdr; in read_long_names()
673 if (offset + sizeof (struct ar_hdr) > elf->maximum_size) in read_long_names()
677 hdr = (struct ar_hdr *) (elf->map_address + offset); in read_long_names()
695 offset += sizeof (struct ar_hdr) + ((len + 1) & ~1l); in read_long_names()
710 + sizeof (struct ar_hdr), in read_long_names()
716 + sizeof (struct ar_hdr)) in read_long_names()
761 struct ar_hdr *ar_hdr; local
767 if (unlikely (elf->state.ar.offset + sizeof (struct ar_hdr)
774 ar_hdr = (struct ar_hdr *) (elf->map_address + elf->state.ar.offset);
778 ar_hdr = &elf->state.ar.ar_hdr;
780 if (unlikely (pread_retry (elf->fildes, ar_hdr, sizeof (struct ar_hdr),
782 != sizeof (struct ar_hdr)))
791 if (unlikely (memcmp (ar_hdr->ar_fmag, ARFMAG, 2) != 0))
799 *((char *) __mempcpy (elf->state.ar.raw_name, ar_hdr->ar_name, 16)) = '\0';
805 if (ar_hdr->ar_name[0] == '/')
807 if (ar_hdr->ar_name[1] == ' '
808 && memcmp (ar_hdr->ar_name, "/ ", 16) == 0)
811 else if (ar_hdr->ar_name[1] == '/'
812 && memcmp (ar_hdr->ar_name, "// ", 16) == 0)
815 else if (likely (isdigit (ar_hdr->ar_name[1])))
830 offset = atol (ar_hdr->ar_name + 1);
851 endp = (char *) memccpy (elf->state.ar.ar_name, ar_hdr->ar_name,
868 if (unlikely (ar_hdr->ar_size[0] == ' '))
887 char buf[sizeof (ar_hdr->FIELD) + 1]; \
888 const char *string = ar_hdr->FIELD; \
889 if (ar_hdr->FIELD[sizeof (ar_hdr->FIELD) - 1] != ' ') \
891 *((char *) __mempcpy (buf, ar_hdr->FIELD, sizeof (ar_hdr->FIELD))) \
963 result = read_file (fildes, ref->state.ar.offset + sizeof (struct ar_hdr), in dup_elf()