1. 25 Mar, 2020 1 commit
  2. 19 Mar, 2020 1 commit
  3. 11 Mar, 2020 4 commits
  4. 08 Mar, 2020 1 commit
    • Ahmed Abd El Mawgood's avatar
      Resolve Both strong and weak symbols · 4860ab12
      Ahmed Abd El Mawgood authored
      This patch keep 2 lists, one for strong symbols and one for weak
      symbols. First it will check for the symbol to be resolved in the strong
      symbols' list, if it is not there it will then check in the weak symbol
  5. 07 Mar, 2020 2 commits
    • Ahmed Abd El Mawgood's avatar
      Running ./fmt.sh · c2488b50
      Ahmed Abd El Mawgood authored
      These files needs formating by the auto formatter and It keeps popping
      up every time I format my own code.
    • Ahmed Abd El Mawgood's avatar
      Refactor Linker::Link · 04ea2f93
      Ahmed Abd El Mawgood authored
      This patch does basically two things:
      - First make `global` variable not public, And make it accessable via a
      function `get_sym`.
      - Isolate the procedure that collect global symbols into single function
      that does that and call it `collect_syms`.
      The motivation of this patch is the second one where this procedure is
      extended, thus it needs a seamless way to access those symbols
  6. 06 Mar, 2020 1 commit
  7. 01 Mar, 2020 2 commits
  8. 29 Feb, 2020 2 commits
  9. 24 Feb, 2020 2 commits
    • 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
      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...]");
            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.
  10. 18 Feb, 2020 1 commit
  11. 14 Feb, 2020 1 commit
  12. 07 Feb, 2020 1 commit
  13. 06 Feb, 2020 4 commits
    • 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
    • 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.
    • 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
      Later commits add similar AF_UNIX support for the rest of the methods in
      impl PalSocket.
    • 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
  14. 29 Jan, 2020 1 commit
  15. 28 Jan, 2020 1 commit
  16. 22 Jan, 2020 1 commit
  17. 20 Jan, 2020 8 commits
  18. 13 Jan, 2020 1 commit
  19. 08 Jan, 2020 1 commit
  20. 19 Dec, 2019 3 commits
  21. 18 Dec, 2019 1 commit