From: Roland McGrath Date: Wed, 16 Jun 2010 03:42:41 +0000 (-0700) Subject: elf_clone vs ELF_K_AR X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fheads%2Froland%2Felf_clone;p=thirdparty%2Felfutils.git elf_clone vs ELF_K_AR --- diff --git a/libelf/ChangeLog b/libelf/ChangeLog index c1479ae4d..3aff0cf7f 100644 --- a/libelf/ChangeLog +++ b/libelf/ChangeLog @@ -1,3 +1,7 @@ +2009-08-05 Roland McGrath + + * elf_clone.c: Chain onto the ELF->parent->state.ar.children list. + 2010-06-14 Ulrich Drepper * gelf_update_shdr.c: Implicitly set ELF_F_DIRTY bit. diff --git a/libelf/elf_clone.c b/libelf/elf_clone.c index 8b699fa6c..8ed42a600 100644 --- a/libelf/elf_clone.c +++ b/libelf/elf_clone.c @@ -1,5 +1,5 @@ /* Create clone of a given descriptor. - Copyright (C) 2003, 2004 Red Hat, Inc. + Copyright (C) 2003, 2004, 2009 Red Hat, Inc. This file is part of Red Hat elfutils. Written by Ulrich Drepper , 2003. @@ -92,6 +92,14 @@ elf_clone (Elf *elf, Elf_Cmd cmd) retval->state.elf32.scns.max = elf->state.elf32.scns.max; retval->class = elf->class; + + if (retval->parent != NULL) + { + /* Enlist this new descriptor in the list of children. */ + assert (retval->parent->kind == ELF_K_AR); + retval->next = retval->parent->state.ar.children; + retval->parent->state.ar.children = retval; + } } /* Release the lock. */