Skip to content
Snippets Groups Projects
  1. Oct 01, 2020
    • 8tab's avatar
      Fix tls tests for dynamic linker · eee9a80b
      8tab authored
      * load TLS segment for executable - while we can skip PT_LOAD for executable,
        we still have to load TLS segment.
      * set TCB address based on if elf is position independent
      eee9a80b
  2. Sep 30, 2020
  3. Sep 29, 2020
  4. Sep 28, 2020
    • 8tab's avatar
      Add symlink from libc.so to libc.so.6 · c000373a
      8tab authored
      Typically it's the other way around, but we can't have shared library named libc.so.6 in target/release directory.
      cargo includes 'target/release' in LD_LIBRARY_PATH for build script, so even if clean build runs fine,
      every subsquent run will make build script link with relibc.
      c000373a
  5. Sep 17, 2020
  6. Sep 10, 2020
  7. Sep 08, 2020
  8. Sep 06, 2020
  9. Aug 27, 2020
  10. Aug 25, 2020
  11. Aug 23, 2020
  12. Aug 22, 2020
  13. Aug 20, 2020
  14. Aug 17, 2020
  15. Aug 15, 2020
  16. Aug 14, 2020
  17. Aug 12, 2020
    • Ahmed Abd El Mawgood's avatar
      make all ld printlns happen in case of verbose = true and apply cargo fmt · ab92ff9d
      Ahmed Abd El Mawgood authored
      It seams that stdout of ld.so is not that much of an issue but actually
      it unfortunately is. The major problem here is that sometimes programs
      generate header files in stdout (./getmy_custom_headers > header.h) and
      we need to keep that cleen. and this is very very popular in gcc.
      ab92ff9d
    • Ahmed Abd El Mawgood's avatar
      Avoid relinking already linked libs · 7b29f6eb
      Ahmed Abd El Mawgood authored
      This patch avoids collecting symbols, resolving relocs if they are
      already done (usually for example libc.so during a dlopen for another
      libfoo.so). This patch is purely for performance boost.
      7b29f6eb
    • Ahmed Abd El Mawgood's avatar
      Refer to libraries with soname if available and avoid loading libs twice · 61fcc018
      Ahmed Abd El Mawgood authored
      It is usually not optimal to load a library twice and for specifics,
      it is **terrible** idea to load libc twice it was enough trouble
      dealing with libc statically linked into ld.so. So What this patch does
      it check for soname and if a library is already loaded it won't get
      loaded again. Why soname ? because unfortunately some bins gets linked
      againt libc.so while of their dependencies gets linked against
      libc.so.6 while one is usually symbolic link for the other.
      61fcc018
    • Ahmed Abd El Mawgood's avatar
      Add SONAME for libc.so · 9826cea0
      Ahmed Abd El Mawgood authored
      Usually it is possible to refer to library either by the file name or by
      elf "soname" soname is very similar for specifying something like
      (LIB/API version) combination so if for example you have ./prog that
      loads libx.so which is version 5.1.1 and there is ./plugin.so that ./prog
      would load that requires libx.so version 5.1.2 both libx.so should have
      the same soname to hint that they offer the exact same functionality.
      And this patch specifies the soname for relibc libc.so.
      9826cea0
    • jD91mZM2's avatar
      Merge branch 'lD_PATH' into 'master' · 7b6ba2c7
      jD91mZM2 authored
      L d path
      
      See merge request !300
      7b6ba2c7
    • Ahmed Abd El Mawgood's avatar
      Modify ld_script so that it works on linux. · 40328a0d
      Ahmed Abd El Mawgood authored and jD91mZM2's avatar jD91mZM2 committed
      Honestly, I have no idea why are these modifications needed, but it
      seams they are needed
      40328a0d
Loading