]>
Commit | Line | Data |
---|---|---|
bb330e25 AF |
1 | commit e23fe25b33324a9ea992276c1a4f04127bf9ba4b |
2 | Author: Andreas Schwab <schwab@redhat.com> | |
3 | Date: Sun Feb 20 07:24:56 2011 -0500 | |
4 | ||
5 | Move setting variable in relro data earlier in ld.so. | |
6 | ||
7 | diff --git a/elf/rtld.c b/elf/rtld.c | |
8 | index 8510380..174954b 100644 | |
9 | --- a/elf/rtld.c | |
10 | +++ b/elf/rtld.c | |
11 | @@ -2179,6 +2179,10 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n", | |
12 | we need it in the memory handling later. */ | |
13 | GLRO(dl_initial_searchlist) = *GL(dl_ns)[LM_ID_BASE]._ns_main_searchlist; | |
14 | ||
15 | + /* Remember the last search directory added at startup, now that | |
16 | + malloc will no longer be the one from dl-minimal.c. */ | |
17 | + GLRO(dl_init_all_dirs) = GL(dl_all_dirs); | |
18 | + | |
19 | if (prelinked) | |
20 | { | |
21 | if (main_map->l_info [ADDRIDX (DT_GNU_CONFLICT)] != NULL) | |
22 | @@ -2298,9 +2302,8 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n", | |
23 | lossage); | |
24 | } | |
25 | ||
26 | - /* Remember the last search directory added at startup, now that | |
27 | - malloc will no longer be the one from dl-minimal.c. */ | |
28 | - GLRO(dl_init_all_dirs) = GL(dl_all_dirs); | |
29 | + /* Make sure no new search directories have been added. */ | |
30 | + assert (GLRO(dl_init_all_dirs) == GL(dl_all_dirs)); | |
31 | ||
32 | if (! prelinked && rtld_multiple_ref) | |
33 | { |