Skip to content
Snippets Groups Projects
  1. May 23, 2020
  2. May 22, 2020
  3. May 21, 2020
  4. May 13, 2020
  5. May 08, 2020
  6. May 03, 2020
  7. May 02, 2020
  8. Apr 26, 2020
  9. Apr 24, 2020
  10. Apr 19, 2020
    • Jeremy Soller's avatar
      Merge branch 'init_fini_ld.so' into 'master' · 763bb248
      Jeremy Soller authored
      Init fini ld.so
      
      See merge request redox-os/relibc!265
      763bb248
    • Ahmed Abd El Mawgood's avatar
      Move IO Initialization to .init_array section · b717f6cf
      Ahmed Abd El Mawgood authored
      Most shared object in linux have their initialization in a separate
      .init_array section. but glibc does not have the same behavour. Instead
      the initialization is part of crt0. which (as it seams to me) run after
      .init_array section. As such, this patch move IO initialization to
      separate function that is marked as .init_array member and then the crt0
      call this function only if init_array was never invoked (as in
      statically linked binaries).
      b717f6cf
    • Ahmed Abd El Mawgood's avatar
      Implement code that use .init_array and .fini_array · 6aeb2d6f
      Ahmed Abd El Mawgood authored
      This patch implements ld.so code that makes use of both .init_array and
      .fini_array. .init_array is fully utilized and is used in the correct
      manner. However .fini_array is not used yet although the function that
      runs .fini_array exists
      6aeb2d6f
    • Ahmed Abd El Mawgood's avatar
      Catch circular dependency when resolving loading shared libraries · cc7ff54d
      Ahmed Abd El Mawgood authored
      This patch implements tree-based data-structure for catching circular
      dependency where libA.so will depen on arbitrarily long chain (including
      zero length) of libNs.so one of which will depend on libA.so again. The
      main intention of this patch was merely capturing the dependency tree to
      prioterize which Elf's .init_array and which .fini_array should run
      first, but as a side effect it can capture circular dependencies as well.
      cc7ff54d
  11. Apr 15, 2020
  12. Apr 14, 2020
  13. Apr 13, 2020
  14. Apr 10, 2020
  15. Apr 07, 2020
    • Jeremy Soller's avatar
      Merge branch 'use_kernel_loaded_elf' into 'master' · 69fc6227
      Jeremy Soller authored
      Use Kernel mapped binaries when available.
      
      See merge request redox-os/relibc!262
      69fc6227
    • Ahmed Abd El Mawgood's avatar
      Use Kernel mapped binaries when available. · cc305fc5
      Ahmed Abd El Mawgood authored
      At least in linux kernel, assuming that a.out is an elf that is linked
      against relibc's own ld.so. When a user attempts `./a.out`, Linux kernel
      will map `./a.out`, then map `ld.so` and jump into ld.so entry point.
      In relibc ld.so will simply ignore the kernel mapped a.out and create
      its own mapping. This patch forces relic ld.so to use the already mapped
      `a.out` when ever possible. This would normally have slight performance
      improvement (especially that currently relibc doesn't map a.out but
      instead copy the data into empty mmaped memory).
      
      The real motivation behind this patch is while impelemnting Runtime
      linker debugging protocol for relibc. part of the protocol is ld.so
      inseting address of some ld.so managed data structure into .dynamic
      seciton of a.out then the debugger would check it there. The thing is
      that debuggers have information about the kernel loaded ./a.out and they
      check that one specifically which is in our case totally ignored by
      relibc.
      cc305fc5
  16. Mar 30, 2020
  17. Mar 25, 2020
  18. Mar 19, 2020
  19. Mar 11, 2020
Loading