Home | History | Annotate | Download | only in m_initimg

Lines Matching defs:auxv

321 		  | auxv            |
340 The client's auxv is created by copying and modifying our own one.
341 As a side effect of scanning our own auxv, some important bits of
349 struct auxv
359 struct auxv *find_auxv(UWord* sp)
378 return (struct auxv *)sp;
400 struct auxv *auxv;
401 const struct auxv *orig_auxv;
402 const struct auxv *cauxv;
404 unsigned auxsize; /* total size of auxv in bytes */
415 /* use our own auxv as a prototype */
452 /* now, how big is the auxv? */
453 auxsize = sizeof(*auxv); /* there's always at least one entry: AT_NULL */
478 auxsize + /* auxv */
613 /* --- auxv --- */
614 auxv = (struct auxv *)ptr;
615 *client_auxv = (UInt *)auxv;
617 // ??? According to 'man proc', auxv is a array of unsigned long
624 auxv[0].a_type = AT_IGNOREPPC;
625 auxv[0].u.a_val = AT_IGNOREPPC;
626 auxv[1].a_type = AT_IGNOREPPC;
627 auxv[1].u.a_val = AT_IGNOREPPC;
628 auxv += 2;
631 for (; orig_auxv->a_type != AT_NULL; auxv++, orig_auxv++) {
634 *auxv = *orig_auxv;
637 switch(auxv->a_type) {
658 auxv->a_type = AT_IGNORE;
660 auxv->u.a_val = info->phdr;
665 auxv->a_type = AT_IGNORE;
667 auxv->u.a_val = info->phnum;
671 auxv->u.a_val = info->interp_offset;
677 auxv->u.a_ptr = copy_str(&strtab, orig_auxv->u.a_ptr);
681 auxv->u.a_val = info->entry;
686 { Bool has_neon = (auxv->u.a_val & VKI_HWCAP_NEON) > 0;
688 "ARM has-neon from-auxv: %s\n",
692 Bool has_tls = (auxv->u.a_val & VKI_HWCAP_TLS) > 0;
694 "ARM has-tls from-auxv: %s\n",
705 auxv->u.a_val &= VKI_HWCAP_S390_TE - 1;
736 auxv_2_07 = (auxv->u.a_val & 0x80000000ULL) == 0x80000000ULL;
754 if (auxv->u.a_val > 0) {
755 VG_(machine_ppc32_set_clszB)( auxv->u.a_val );
758 (UInt)auxv->u.a_val, (UInt)auxv->a_type );
762 if (auxv->u.a_val > 0) {
763 VG_(machine_ppc64_set_clszB)( auxv->u.a_val );
766 (UInt)auxv->u.a_val, (UInt)auxv->a_type );
784 auxv->u.a_val = 0;
789 auxv->a_type = AT_IGNORE;
796 const NSegment* ehdrseg = VG_(am_find_nsegment)((Addr)auxv->u.a_ptr);
799 auxv->a_type = AT_IGNORE;
808 auxv->u.a_ptr = strtab;
815 auxv->u.a_ptr = copy_str(&strtab, VG_(args_the_exename));
821 "stomping auxv entry %llu\n",
822 (ULong)auxv->a_type);
823 auxv->a_type = AT_IGNORE;
827 *auxv = *orig_auxv;
828 vg_assert(auxv->a_type == AT_NULL);