mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-11 05:40:06 +00:00
921abe4729
_dl_var_init is used to patch the read-only data section after relocation. Several architectures use this to update GLRO(page_size) with the correct value for the static dlopen case, where _rtld_global_ro has not been initialized by the dynamic loader. RISC-V does not need this. The RISC-V Instruction Set Manual, Volume II: Privileged Architecture, Document Version 20190608-Priv-MSU-Ratified says this: After much deliberation, we have settled on a conventional page size of 4 KiB for both RV32 and RV64. We expect this decision to ease the porting of low-level runtime software and device drivers. The TLB reach problem is ameliorated by transparent superpage support in modern operating systems [2]. Additionally, multi-level TLB hierarchies are quite inexpensive relative to the multi-level cache hierarchies whose address space they map. [2] Juan Navarro, Sitaram Iyer, Peter Druschel, and Alan Cox. Practical, transparent operating system support for superpages. SIGOPS Oper. Syst. Rev., 36(SI):89–104, December 2002. This means that the initialization of _rtld_global_ro._dl_page_size in elf/rtld.c with EXEC_PAGESIZE is sufficient for RISC-V. |
||
---|---|---|
.. | ||
bits | ||
rv64 | ||
sys | ||
atomic-machine.h | ||
clone.S | ||
configure | ||
configure.ac | ||
dl-cache.h | ||
flush-icache.c | ||
getcontext.S | ||
Implies | ||
ipc_priv.h | ||
kernel-features.h | ||
ldconfig.h | ||
ldd-rewrite.sed | ||
localplt.data | ||
makecontext.c | ||
Makefile | ||
readelflib.c | ||
register-dump.h | ||
setcontext.S | ||
shlib-versions | ||
sigcontextinfo.h | ||
swapcontext.S | ||
syscall.c | ||
sysdep.h | ||
sysdep.S | ||
ucontext_i.sym | ||
ucontext-macros.h | ||
Versions | ||
vfork.S |