diff options
author | Roland McGrath <roland@gnu.org> | 1996-07-14 10:04:21 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 1996-07-14 10:04:21 +0000 |
commit | c928de790200bc7a81224377d35a91a6103387de (patch) | |
tree | 470cac87d54b6d7fe1d25f3a4b0864779de900fe /elf/dl-deps.c | |
parent | 2064087b5f1a0a3a189fcd6a3012376f5545be31 (diff) | |
download | glibc-c928de790200bc7a81224377d35a91a6103387de.tar.gz glibc-c928de790200bc7a81224377d35a91a6103387de.tar.xz glibc-c928de790200bc7a81224377d35a91a6103387de.zip |
* elf/dl-deps.c (_dl_map_object_deps): Start TAILP at last preload.
* elf/dl-open.c (_dl_open): Force an indirect call for _dl_relocate_object so there is no chance a PLT fixup will be done and clobber _dl_global_scope before our call happens. * sysdeps/i386/fpu/__math.h (tan): Correct output constraint from =u to =t; must operate on top of fp reg stack, not second from top. Correct input constraint to 0 from t; must be explicit when input and output are the same register. (floor): Use __volatile instead of volatile. (ceil): Likewise. * manual/Makefile ($(objpfx)stamp%-$(subdir)): Separate rule from other targets.
Diffstat (limited to 'elf/dl-deps.c')
-rw-r--r-- | elf/dl-deps.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/elf/dl-deps.c b/elf/dl-deps.c index 28733ab60d..8521c50d25 100644 --- a/elf/dl-deps.c +++ b/elf/dl-deps.c @@ -45,7 +45,10 @@ _dl_map_object_deps (struct link_map *map, } /* Terminate the list. */ - head[nlist++].next = NULL; + head[nlist].next = NULL; + + /* Start here for adding dependencies to the list. */ + tailp = &head[nlist++]; /* We use `l_reserved' as a mark bit to detect objects we have already put in the search list and avoid adding duplicate elements later in @@ -56,7 +59,7 @@ _dl_map_object_deps (struct link_map *map, dependencies and appending them to the list as we step through it. This produces a flat, ordered list that represents a breadth-first search of the dependency tree. */ - for (scanp = tailp = head; scanp; scanp = scanp->next) + for (scanp = head; scanp; scanp = scanp->next) { struct link_map *l = scanp->map; |