Skip to content
Snippets Groups Projects
  1. Mar 11, 2020
  2. Feb 29, 2020
  3. Feb 24, 2020
    • Ahmed Abd El Mawgood's avatar
    • Ahmed Abd El Mawgood's avatar
      Add support for invoking ld.so via execve() and friends · 7f8dc2f2
      Ahmed Abd El Mawgood authored
      Introduction:
      
      The original implementation of `relibc_ld_so_start` assumes that
      ld.so will always be invoked manually as in "/lib/ld64.so ./a.out"
      The problem is regarding this snippet.
          if sp.argc < 2 {
            eprintln!("ld.so [executable] [arguments...]");
            unistd::_exit(1);
            loop {}
          }
      
      As such, In linux when user types "./a.out" he will recieve the message
          ld.so [executable] [arguments...]
      
      This patch makes use of AUXV, specifically AT_ENTRY. When invoking ld.so
      manually, AT_ENTRY happens to be the entry point of ld.so. But when
      running `./a.out` directly, AT_ENTRY becomes the entry point of `a.out`
      this patch compares AT_ENTRY to the entry point of ld.so, if they are
      equal only then it will assume that argv[1] is the real program and
      adjust the stack, otherwise it will proceed with the stack unadjusted.
      7f8dc2f2
  4. Feb 18, 2020
  5. Feb 14, 2020
  6. Feb 07, 2020
  7. Feb 06, 2020
    • Tiago's avatar
      platform/redox: Support AF_UNIX in accept. · 76f07b16
      Tiago authored
      As with the previous commit, accept() was calling inner_get_name() and
      assuming only "tcp:" or "udp:" addresses would be received. Thus, in
      order to support AF_UNIX sockets, inner_get_name() was split into two,
      inner_af_inet() and inner_af_unix() - where the former keeps the
      previous logic, dealing with "tcp:" and "udp:" addresses, and the latter
      deals now with "chan:" addresses and filling in the sockaddr_un
      appropriately.
      76f07b16
    • Tiago's avatar
      platform/redox: Support AF_UNIX in bind / connect. · d36cd727
      Tiago authored
      Previously, domain AF_INET was assumed while processing bind() /
      connect(), which end up calling bind_or_connect!. Instead, match on the
      domain type and process the path for AF_UNIX domains.
      d36cd727
    • Tiago's avatar
      platform/redox: Support AF_UNIX in socket. · 12f6ffd1
      Tiago authored
      To add support for UNIX sockets (AF_UNIX), of SOCK_STREAM type, the
      "chan:" scheme is used, which will be supportedby the ipcd running in
      userspace.
      
      Later commits add similar AF_UNIX support for the rest of the methods in
      impl PalSocket.
      12f6ffd1
    • Tiago's avatar
      header/sys_un: Set sockaddr_un members to public. · 2bc667f7
      Tiago authored
      Future commits will make use of this, in order to support AF_UNIX
      sockets.
      2bc667f7
  8. Jan 29, 2020
  9. Jan 28, 2020
  10. Jan 22, 2020
  11. Jan 20, 2020
  12. Jan 13, 2020
  13. Jan 08, 2020
  14. Dec 19, 2019
  15. Dec 18, 2019
  16. Dec 17, 2019
  17. Dec 15, 2019
  18. Dec 07, 2019
  19. Dec 05, 2019
  20. Dec 02, 2019
  21. Dec 01, 2019
Loading