Message ID | cover.1621446837.git.fweimer@redhat.com |
---|---|
Headers | show |
Series | Move libdl into libc | expand |
* Florian Weimer via Libc-alpha: > This patch series removes all code from libdl.so.2. I have not removed > the shared object itself because I want to mirror what we are doing for > libpthread, and the discussion there is still ongoing. > > There is an oddity because for several targets, the baseline ABI version > for libdl is GLIBC_2.0 and not GLIBC_2.2. This cannot be expressed with > the existing Versions framework. Since the affected targets are more or > less on the way out anyway (hppa, ia64, sh, sparc64), I didn't > overdesign the solution and emitted the required version nodes directly > in scripts/versions.awk. > > This move also happens on Hurd because the implementation isn't > separate. > > This fixes a POSIX conformance issue with the c99 command because POSIX > requires that dlopen etc. are available without -ldl. > > Tested on i386-linux-gnu and x86_64-linux-gnu. Built with > build-many-glibcs.py (including most intermediate steps). I should have mentioned that I'm removing the strange double-build with those dlfcn/sdl*.c files. This is why the files have somewhat different layout after the move. I do not see any value in the dlfcn/sdl*.c construct. The new version relies on compiler inlining to remove redudant functions. Thanks, Florian
* Florian Weimer via Libc-alpha: > * Florian Weimer via Libc-alpha: > >> This patch series removes all code from libdl.so.2. I have not removed >> the shared object itself because I want to mirror what we are doing for >> libpthread, and the discussion there is still ongoing. >> >> There is an oddity because for several targets, the baseline ABI version >> for libdl is GLIBC_2.0 and not GLIBC_2.2. This cannot be expressed with >> the existing Versions framework. Since the affected targets are more or >> less on the way out anyway (hppa, ia64, sh, sparc64), I didn't >> overdesign the solution and emitted the required version nodes directly >> in scripts/versions.awk. >> >> This move also happens on Hurd because the implementation isn't >> separate. >> >> This fixes a POSIX conformance issue with the c99 command because POSIX >> requires that dlopen etc. are available without -ldl. >> >> Tested on i386-linux-gnu and x86_64-linux-gnu. Built with >> build-many-glibcs.py (including most intermediate steps). > > I should have mentioned that I'm removing the strange double-build with > those dlfcn/sdl*.c files. This is why the files have somewhat different > layout after the move. I do not see any value in the dlfcn/sdl*.c > construct. The new version relies on compiler inlining to remove > redudant functions. And I've pushed a rebase series to the fw/libdl branch. Florian