mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-13 14:50:17 +00:00
Un-nest an include in dl-reloc-static-pie.c.
A corresponding adjustment in sysdeps/x86_64/dl-machine.h has also been made.
This commit is contained in:
parent
43afb70033
commit
0337af1396
@ -19,7 +19,13 @@
|
||||
#if ENABLE_STATIC_PIE
|
||||
#include <unistd.h>
|
||||
#include <ldsodefs.h>
|
||||
#include "dynamic-link.h"
|
||||
|
||||
#ifndef NESTING
|
||||
# define STATIC_PIE_BOOTSTRAP
|
||||
# define BOOTSTRAP_MAP (main_map)
|
||||
# define RESOLVE_MAP(sym, version, flags) BOOTSTRAP_MAP
|
||||
# include "dynamic-link.h"
|
||||
#endif /* n NESTING */
|
||||
|
||||
/* Relocate static executable with PIE. */
|
||||
|
||||
@ -28,10 +34,12 @@ _dl_relocate_static_pie (void)
|
||||
{
|
||||
struct link_map *main_map = _dl_get_dl_main_map ();
|
||||
|
||||
#ifdef NESTING
|
||||
# define STATIC_PIE_BOOTSTRAP
|
||||
# define BOOTSTRAP_MAP (main_map)
|
||||
# define RESOLVE_MAP(sym, version, flags) BOOTSTRAP_MAP
|
||||
# include "dynamic-link.h"
|
||||
#endif /* NESTING */
|
||||
|
||||
/* Figure out the run-time load address of static PIE. */
|
||||
main_map->l_addr = elf_machine_load_address ();
|
||||
@ -46,7 +54,11 @@ _dl_relocate_static_pie (void)
|
||||
|
||||
/* Relocate ourselves so we can do normal function calls and
|
||||
data access using the global offset table. */
|
||||
ELF_DYNAMIC_RELOCATE (main_map, 0, 0, 0);
|
||||
ELF_DYNAMIC_RELOCATE (main_map, 0, 0, 0
|
||||
#ifndef NESTING
|
||||
, main_map
|
||||
#endif
|
||||
);
|
||||
main_map->l_relocated = 1;
|
||||
}
|
||||
#endif
|
||||
|
@ -309,7 +309,7 @@ elf_machine_rela (struct link_map *map, const ElfW(Rela) *reloc,
|
||||
# ifndef RTLD_BOOTSTRAP
|
||||
const ElfW(Sym) *const refsym = sym;
|
||||
# endif
|
||||
#if !defined NESTING && defined RTLD_BOOTSTRAP
|
||||
#if !defined NESTING && (defined RTLD_BOOTSTRAP || defined STATIC_PIE_BOOTSTRAP)
|
||||
struct link_map *sym_map = boot_map;
|
||||
#else
|
||||
struct link_map *sym_map = RESOLVE_MAP (&sym, version, r_type);
|
||||
|
Loading…
Reference in New Issue
Block a user