1. 25 May, 2012 1 commit
    • Ben Cheng's avatar
      Print the corrupted address passed to free(). · c84ff11d
      Ben Cheng authored
      For example:
      
      @@@ ABORTING: INVALID HEAP ADDRESS IN dlfree addr=0x5c3bfbd0
      Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1), thread 2942
      
      The addr=0x5c3bfbd0 part is new.
      
      Change-Id: I8670144b2b0a3a6182384150d762c97dfee5452f
      c84ff11d
  2. 09 May, 2012 1 commit
    • Prajakta Gudadhe's avatar
      bionic: add support for non-NEON memcpy() on NEON SoCs · 08e72d01
      Prajakta Gudadhe authored
      Some SoCs that support NEON nevertheless perform better with a non-NEON than a
      NEON memcpy().  This patch adds build variable ARCH_ARM_USE_NON_NEON_MEMCPY,
      which can be set in BoardConfig.mk.  When ARCH_ARM_USE_NON_NEON_MEMCPY is
      defined, we compile in the non-NEON optimized memcpy() even if the SoC supports
      NEON.
      
      Change-Id: Ia0e5bee6bad5880ffc5ff8f34a1382d567546cf9
      08e72d01
  3. 08 May, 2012 1 commit
    • Ben Cheng's avatar
      Implement the "abort" stub in assembly for ARM. · 08b51e2c
      Ben Cheng authored
      So that we can always get the full stack trace regardless of gcc's handling
      of the "noreturn" attribute associated with abort().
      
      [cherry-picked from master]
      
      BUG:6455193
      Change-Id: I0102355f5bf20e636d3feab9d1424495f38e39e2
      08b51e2c
  4. 26 Apr, 2012 2 commits
    • Mike Lockwood's avatar
      efcf8893
    • Nick Kralevich's avatar
      libc: continue to use Android's custom linker script · b091dd9b
      Nick Kralevich authored
      By default, Android no longer compiles code using it's custom
      linker script /build/core/armelf.xsc. However, this causes
      problems for libc. Certain programs linked using older versions
      of GOLD expect libc.so to export __exidx_start and __exidx_end.
      Removing the custom linker script causes libc.so not to export
      those symbols.
      
      For now, continue using the old linker script, until we can
      figure out a better solution.
      
      Change-Id: Iaf002afd63a58b848818da24e5a4525620dc4d74
      b091dd9b
  5. 25 Apr, 2012 1 commit
  6. 23 Apr, 2012 1 commit
    • Nick Kralevich's avatar
      linker: remove STB_LOCAL hack · 94179a50
      Nick Kralevich authored
      The ARM static linker wasn't properly handling __exidx_start
      and __exidx_end symbols. Now that the static linker has been fixed,
      we don't need the dynamic linker to work around this problem.
      
      Change-Id: I041b94903609fafab33663a7d441a5e70b7ffcdd
      94179a50
  7. 18 Apr, 2012 3 commits
  8. 16 Apr, 2012 16 commits
  9. 14 Apr, 2012 2 commits
  10. 13 Apr, 2012 4 commits
  11. 12 Apr, 2012 4 commits
  12. 11 Apr, 2012 2 commits
    • Kenny Root's avatar
      Move end of __on_dlclose up · 470835b2
      Kenny Root authored
      The END macro was put too far down which made the linker complain about
      it. Move up to the end of the code.
      
      Change-Id: Ica71a9c6083b437d2213c7cefe34b0083c78f16b
      470835b2
    • Kenny Root's avatar
      __on_dlclose should be aligned · 03273f8f
      Kenny Root authored
      Marking segments read-only was pushing the alignment of __on_dlclose by
      2 bytes making it unaligned. This change makes sure the ARM code is
      aligned to the 4 byte boundary.
      
      Bug: 6313309
      Change-Id: Ic2bf475e120dd61225ec19e5d8a9a8b1d0b7f081
      03273f8f
  13. 10 Apr, 2012 2 commits
    • Nick Kralevich's avatar
      Revert "linker: remove STB_LOCAL hack" · 7f03d235
      Nick Kralevich authored
      This reverts commit 61ff8347.
      
      This code is harmless, and only applies to the linker, so
      there's no harm in keeping it in the tree a little bit longer.
      Let's roll this back while we try to figure out the root cause
      of bug 6314858.
      
      Bug: 6314858
      Change-Id: I9f5ed81d23a7abe273baf792aa8a0a2839ef094c
      7f03d235
    • Evgeniy Stepanov's avatar
      Fix segv when unwinding stack past __libc_init. · cd15bacf
      Evgeniy Stepanov authored
      This change fixes a segmentation fault in the libc unwinder when it goes
      past __libc_init.
      
      Unwind instructions for __libc_init direct it to grab the return address from
      the stack frame. Without this change, the unwinder gets a wild address and
      looks up further unwind instructions for the routine at that address. If it's
      unlucky enough to hit an existing function, it will try to unwind it. Bad
      things happen then.
      
      With this change, the return address always points to the _start function,
      which does not have unwind instructions associated with it. This stop the
      unwind process.
      
      __libc_init never returns, so this does not affect program execution, other
      than adding 4 bytes on the main thread stack.
      
      Change-Id: Id58612172e8825c8729cccd081541a13bff96bd0
      cd15bacf