1. 02 Sep, 2009 2 commits
  2. 31 Aug, 2009 1 commit
  3. 20 Aug, 2009 2 commits
  4. 13 Aug, 2009 1 commit
  5. 08 Aug, 2009 2 commits
  6. 07 Aug, 2009 1 commit
  7. 06 Aug, 2009 2 commits
  8. 04 Aug, 2009 3 commits
  9. 03 Aug, 2009 2 commits
  10. 30 Jul, 2009 1 commit
  11. 29 Jul, 2009 4 commits
    • Jean-Baptiste Queru's avatar
      merge from donut · 61e844f4
      Jean-Baptiste Queru authored
      61e844f4
    • Android (Google) Code Review's avatar
      am 22b5eb85: Merge change 8281 into donut · e5bcc9dc
      Android (Google) Code Review authored
      Merge commit '22b5eb85'
      
      * commit '22b5eb85':
        linker: remove newlines from DL_ERR so that dlerror works correctly
      e5bcc9dc
    • Erik Gilling's avatar
      bionic/linker: keep track of opened libraries by basename · fde8642f
      Erik Gilling authored
      
      Prior to this change, the dynamic loader kept track of opened libraries
      either by their base name (i.e., libfoo.so instead of /system/lib/libfoo.so)
      when the shared library was loaded through the DT_NEEDED tag in an ELF header,
      or by whatever name was passed to dlopen(). This created a number of problems,
      among which:
      
      1. dlopen("libfoo.so") and dlopen("/path/to/libfoo.so") would open the same
      library twice;
      2. dlopen("/path/to/libfoo.so") and then dlopen("libbar.so"), where libbar.so
      depends on libfoo.so, would open libfoo.so twice.
      
      This patch makes the dynamic loader keep track of each loaded library by
      basename, which resolves the above ambiguity. The patch also enforces
      library lookup by base name, which means that it will refuse to load another
      library that has the same name.
      
      Thanks for the inspiration Iliyan.
      Signed-off-by: default avatarErik Gilling <konkers@android.com>
      Cc: Iliyan Malchev <malchev@google.com>
      fde8642f
    • Android (Google) Code Review's avatar
      Merge change 8281 into donut · 22b5eb85
      Android (Google) Code Review authored
      * changes:
        linker: remove newlines from DL_ERR so that dlerror works correctly
      22b5eb85
  12. 28 Jul, 2009 1 commit
  13. 27 Jul, 2009 1 commit
  14. 26 Jul, 2009 2 commits
  15. 23 Jul, 2009 1 commit
  16. 21 Jul, 2009 2 commits
  17. 20 Jul, 2009 2 commits
  18. 17 Jul, 2009 4 commits
    • David 'Digit' Turner's avatar
      Fix the C library runtime initialization order. · b56b5659
      David 'Digit' Turner authored
      This allows libc.so to run the C runtime initializer as soon as the
      dynamic linker loads the shared library, i.e. before any other initializers
      (e.g. static C++ constructors in other shared libraries the executable depends
      on).
      
      This also removes the bug where the initializers from the executable itself
      were run twice: once by the dynamic linker, and another time by __libc_init
      as defined by libc_init_dynamic.c
      b56b5659
    • Android (Google) Code Review's avatar
      Merge change 7652 · a22c0450
      Android (Google) Code Review authored
      * changes:
        Updating v4l2 headers from kernel
      a22c0450
    • David 'Digit' Turner's avatar
      Pass the elfdata pointer in a slot of the temporary TLS area. · ef0bd185
      David 'Digit' Turner authored
      This is needed to properly initialize the C runtime when libc.so
      is loaded by the dynamic linker.
      
      Move the temporary TLS setup before the first system call, just
      in case something really horrible happens, we won't crash when
      trying to write an error code in 'errno'
      
      Remove the broken TLS_SLOT_THREAD_ID setup. First, this slot
      should normally receive the address of a pthread_internal_t,
      not a kernel thread identifier. Second, it is never used by
      the linker anyway.
      
      Also remove an obsolete comment.
      ef0bd185
    • Rebecca Schultz Zavin's avatar
      09131482
  19. 16 Jul, 2009 3 commits
  20. 14 Jul, 2009 2 commits
  21. 13 Jul, 2009 1 commit