mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-30 22:43:12 +03:00
elf: Add initial flag argument to __libc_early_init
The rseq initialization should happen only for the libc in the base namespace (in the dynamic case) or the statically linked libc. The __libc_multiple_libcs flag does not quite cover this case at present, so this commit introduces a flag argument to __libc_early_init, indicating whether the libc being libc is the primary one (of the main program). Reviewed-by: Carlos O'Donell <carlos@redhat.com>
This commit is contained in:
@ -2373,8 +2373,10 @@ ERROR: '%s': cannot process note segment.\n", _dl_argv[0]);
|
||||
rtld_timer_accum (&relocate_time, start);
|
||||
}
|
||||
|
||||
/* Relocation is complete. Perform early libc initialization. */
|
||||
_dl_call_libc_early_init (GL(dl_ns)[LM_ID_BASE].libc_map);
|
||||
/* Relocation is complete. Perform early libc initialization. This
|
||||
is the initial libc, even if audit modules have been loaded with
|
||||
other libcs. */
|
||||
_dl_call_libc_early_init (GL(dl_ns)[LM_ID_BASE].libc_map, true);
|
||||
|
||||
/* Do any necessary cleanups for the startup OS interface code.
|
||||
We do these now so that no calls are made after rtld re-relocation
|
||||
|
Reference in New Issue
Block a user