Lines Matching refs:p
82 struct atexit *p = __atexit; in __cxa_atexit() local
87 if (pgsize < sizeof(*p)) in __cxa_atexit()
90 p = __atexit; in __cxa_atexit()
91 if (p != NULL) { in __cxa_atexit()
92 if (p->ind + 1 >= p->max) in __cxa_atexit()
93 p = NULL; in __cxa_atexit()
94 else if (mprotect(p, pgsize, PROT_READ | PROT_WRITE)) in __cxa_atexit()
97 if (p == NULL) { in __cxa_atexit()
98 p = mmap(NULL, pgsize, PROT_READ | PROT_WRITE, in __cxa_atexit()
100 if (p == MAP_FAILED) in __cxa_atexit()
103 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, p, pgsize, in __cxa_atexit()
107 memset(&p->fns[0], 0, sizeof(p->fns[0])); in __cxa_atexit()
108 p->ind = 1; in __cxa_atexit()
110 p->ind = 0; in __cxa_atexit()
111 p->max = (pgsize - ((char *)&p->fns[0] - (char *)p)) / in __cxa_atexit()
112 sizeof(p->fns[0]); in __cxa_atexit()
113 p->next = __atexit; in __cxa_atexit()
114 __atexit = p; in __cxa_atexit()
116 fnp = &p->fns[p->ind++]; in __cxa_atexit()
120 if (mprotect(p, pgsize, PROT_READ)) in __cxa_atexit()
137 struct atexit *p, *q; in __cxa_finalize() local
147 for (p = __atexit; p != NULL; p = p->next) { in __cxa_finalize()
148 for (n = p->ind; --n >= 0;) { in __cxa_finalize()
149 if (p->fns[n].fn_ptr == NULL) in __cxa_finalize()
151 if (dso != NULL && dso != p->fns[n].fn_dso) in __cxa_finalize()
158 fn = p->fns[n]; in __cxa_finalize()
159 if (mprotect(p, pgsize, PROT_READ | PROT_WRITE) == 0) { in __cxa_finalize()
160 p->fns[n].fn_ptr = NULL; in __cxa_finalize()
161 mprotect(p, pgsize, PROT_READ); in __cxa_finalize()
179 for (p = __atexit; p != NULL; ) { in __cxa_finalize()
180 q = p; in __cxa_finalize()
181 p = p->next; in __cxa_finalize()