[libc-commits] [libc] [libc][WIP] try to make sysconf work (PR	#74166)
    Fangrui Song via libc-commits 
    libc-commits at lists.llvm.org
       
    Fri Dec  1 21:04:34 PST 2023
    
    
  
MaskRay wrote:
As said on Discord
> I have read rtld part of glibc, musl, and FreeBSD, but I am not familiar with llvmlibc. From a quick glance, startup/linux does not contain any relocation resolver code, so it is more like crt part for a -static executable, not for -static-pie or dynamically linked executables. The code doesn't handle features needed by ifunc. 
I think startup/linux properly needs a complete rewrite, since different architectures share lots of code. The current structure would encourage a lot of duplication.
I understand the value of incremental updates, but the loader probably needs a rewrite to be mostly arch-neutral to avoid (a) wasted engineering efforts on duplicating code for aarch64/x86_64/riscv (b) wasted engineering efforts on whether a `-static` feature would work for `-static-pie` and dynamically linked executables.
Before the rewrite, we could add incremental features, but if people get used to the behavior, it would probably be harder to rewrite the loader.
https://github.com/llvm/llvm-project/pull/74166
    
    
More information about the libc-commits
mailing list