1. 15 Feb, 2018 1 commit
  2. 08 Feb, 2018 3 commits
  3. 02 Feb, 2018 1 commit
  4. 01 Feb, 2018 3 commits
    • A. Wilcox's avatar
      malloc: add __sbrk · c9f8eb16
      A. Wilcox authored
      c9f8eb16
    • A. Wilcox's avatar
    • A. Wilcox's avatar
      Merge branch 'patch-1' into 'master' · 88815225
      A. Wilcox authored
      Clean up everything and add lots of new functions
      
      I hope everything here is okay. I fixed some bugs in existing functions (mostly wrong prototypes or off-by-one errors) and formatted everything to a consistent style. If you'd like me to adjust the style, that's no problem. It wasn't very consistent to start with (within the code, and compared to the documentation).
      
      *I added specific notes you may want to comment on to some of the commit messages.*
      
      Major features:
      * Pass correct `argv[0]` in loader
      * Intercept `readlink("/proc/self/exe")` to allow re-exec
      * Add almost all reasonable-to-implement functions in LSB 5.0.0 core generic libc. Remaining functions are:
        - Impossible-to-implement: sigreturn
        - Not useful: reentrant random (`*rand48_r`, etc.), argz, envz, pmap, rpc (clnt_*, svc*, xdr*), bindresvport
        - Got tired of it: checked wchar
      * Add additional functions used by android and its NDK tools (clang, cmake, lldb, ninja, etc.).
      
      At this point, I am able to run Android Studio with the bundled prebuilt JDK, and compile, install, and run an android application (including one with native libraries) on a real device, with only a few minor issues:
      * must export `LD_LIBRARY_PATH=/opt/android-studio/jre/jre/lib/amd64/server` because musl and glibc interpret the variable differently with regards to `dlopen`. This is something that has to be patched in musl builds of openjdk, so it's not a gcompat issue.
      * ld.bfd fails to parse the argument `--sysroot=/path`, but can parse `--sysroot /path`. So there's some difference with `getopt_long_only` (or getopt in general). May be a bug, may be just an API difference. May be it can be patched up.
      * LLDB fails to connect to the android phone for native debugging -- I haven't tried it on glibc yet, so it may not be a gcompat issue at all (may be a phone or the app issue).
      
      I'd be happy to send some documentation later.
      
      See merge request !1
      88815225
  5. 15 Jan, 2018 29 commits
  6. 27 Oct, 2017 3 commits