Home | History | Annotate | Download | only in libelf

Lines Matching defs:ar_hdr

658   struct ar_hdr hdrm;
659 struct ar_hdr *hdr;
667 if (offset + sizeof (struct ar_hdr) > elf->maximum_size)
671 hdr = (struct ar_hdr *) (elf->map_address + offset);
689 offset += sizeof (struct ar_hdr) + ((len + 1) & ~1l);
704 + sizeof (struct ar_hdr),
710 + sizeof (struct ar_hdr))
755 struct ar_hdr *ar_hdr;
761 if (unlikely (elf->state.ar.offset + sizeof (struct ar_hdr)
768 ar_hdr = (struct ar_hdr *) (elf->map_address + elf->state.ar.offset);
772 ar_hdr = &elf->state.ar.ar_hdr;
774 if (unlikely (pread_retry (elf->fildes, ar_hdr, sizeof (struct ar_hdr),
776 != sizeof (struct ar_hdr)))
785 if (unlikely (memcmp (ar_hdr->ar_fmag, ARFMAG, 2) != 0))
793 *((char *) __mempcpy (elf->state.ar.raw_name, ar_hdr->ar_name, 16)) = '\0';
797 /* Now convert the `struct ar_hdr' into `Elf_Arhdr'.
799 if (ar_hdr->ar_name[0] == '/')
801 if (ar_hdr->ar_name[1] == ' '
802 && memcmp (ar_hdr->ar_name, "/ ", 16) == 0)
805 else if (ar_hdr->ar_name[1] == '/'
806 && memcmp (ar_hdr->ar_name, "// ", 16) == 0)
809 else if (likely (isdigit (ar_hdr->ar_name[1])))
824 offset = atol (ar_hdr->ar_name + 1);
845 endp = (char *) memccpy (elf->state.ar.ar_name, ar_hdr->ar_name,
862 if (unlikely (ar_hdr->ar_size[0] == ' '))
874 for the case where the whole field in the `struct ar_hdr' is
881 char buf[sizeof (ar_hdr->FIELD) + 1]; \
882 const char *string = ar_hdr->FIELD; \
883 if (ar_hdr->FIELD[sizeof (ar_hdr->FIELD) - 1] != ' ') \
885 *((char *) __mempcpy (buf, ar_hdr->FIELD, sizeof (ar_hdr->FIELD))) \
957 result = read_file (fildes, ref->state.ar.offset + sizeof (struct ar_hdr),