Lines Matching defs:scn
47 load_shdr_wrlock (Elf_Scn *scn)
52 Elf *elf = scn->elf;
56 result = scn->shdr.ELFW(e,LIBELFBITS);
213 /* Set the pointers in the `scn's. */
218 result = scn->shdr.ELFW(e,LIBELFBITS);
226 scn_valid (Elf_Scn *scn)
228 if (scn == NULL)
231 if (unlikely (scn->elf->state.elf.ehdr == NULL))
237 if (unlikely (scn->elf->class != ELFW(ELFCLASS,LIBELFBITS)))
248 __elfw2(LIBELFBITS,getshdr_rdlock) (Elf_Scn *scn)
252 if (!scn_valid (scn))
255 result = scn->shdr.ELFW(e,LIBELFBITS);
258 rwlock_unlock (scn->elf->lock);
259 rwlock_wrlock (scn->elf->lock);
260 result = scn->shdr.ELFW(e,LIBELFBITS);
262 result = load_shdr_wrlock (scn);
270 __elfw2(LIBELFBITS,getshdr_wrlock) (Elf_Scn *scn)
274 if (!scn_valid (scn))
277 result = scn->shdr.ELFW(e,LIBELFBITS);
279 result = load_shdr_wrlock (scn);
285 elfw2(LIBELFBITS,getshdr) (Elf_Scn *scn)
289 if (!scn_valid (scn))
292 rwlock_rdlock (scn->elf->lock);
293 result = __elfw2(LIBELFBITS,getshdr_rdlock) (scn);
294 rwlock_unlock (scn->elf->lock);