Skip to content

Commit

Permalink
Update git submodules
Browse files Browse the repository at this point in the history
* Update external/libcxx from branch 'ndk-release-r19'
  to e3b997f05256a178bb87a33d9310a46dff9f2a1e
  - Adapt to layout changes again.
    
    Test: ndk/checkbuild.py
    Bug: android/ndk#780
    Change-Id: I514caab36879fdcd3fda8b3740f3cf8efce90710
    

* Update ndk from branch 'ndk-release-r19'
  to 91ca6df1f9942b77b31ceb3ce543379b22cace2b
  - Merge changes from topic "cp" into ndk-release-r19
    
    * changes:
      Remove ndk-depends.
      ndk-stack: switch back to toolchains/llvm.
      ndk-stack: switch to python.
      Move ndk-gdb out of HostTools.
      Put the new toolchain back in to toolchains/llvm.
    
  - Remove ndk-depends.
    
    Judging by the lack of interest on the web, it seems like this probably
    isn't much used. ReLinker (https://github.com/KeepSafe/ReLinker) seems
    like a better solution to native library loading problems anyway. Rather
    than rewrite ndk-depends in Python now, let's see if anyone actually
    still has a reasonable use for it.
    
    (Folks who just want readelf/llvm-readobj should probably just be using
    those already.)
    
    Bug: http://b/22085867
    Test: builds
    Change-Id: I938ddd55586c4ff8768bc7b5e0b356f1c31abed1
    
  - ndk-stack: switch back to toolchains/llvm.
    
    Also update the change log to admit that we've rewritten ndk-stack.
    
    Bug: http://b/22085867
    Test: manual
    Change-Id: Ideba39bb96bcd631231235b69e5476e524bae567
    
  - ndk-stack: switch to python.
    
    We've started to see cases (https://issuetracker.google.com/117306194)
    where addr2line chokes on DWARF information, so it's probably time to
    switch to llvm-symbolizer. While doing so, we may as well just switch
    to a small python script.
    
    This changes the output format, because the old format was significantly
    less useful. In addition to causing ridiculously long lines, it didn't
    handle inlining. This new script simply outputs whatever llvm-symbolizer
    has to say, on as many lines as llvm-symbolizer thinks are necessary
    to accurately represent the situation, rather than trying to parse and
    reformat it.
    
    This script also copies the `Abort message:` line, which is often the
    most useful line in the tombstone.
    
    Why not reuse the platform's `stack`? Because making that work and
    sharing the code seems like a lot of work for no immediate benefit:
    the NDK's needs seem a lot simpler, and the obvious improvements one
    could make to ndk-stack (automatically finding the symbols given an
    ndk-build/cmake project) aren't in the platform tool anyway.
    
    A python script as short as this hopefully encourages folks to roll
    their own better tools that fit in with however they keep track of their
    published builds.
    
    Example input:
    
      10-24 19:19:57.714  5340  5340 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
      10-24 19:19:57.714  5340  5340 F DEBUG   : Build fingerprint: 'Android/hikey960/hikey960:Q/PI/enh10051658:userdebug/test-keys'
      10-24 19:19:57.714  5340  5340 F DEBUG   : Revision: '0'
      10-24 19:19:57.714  5340  5340 F DEBUG   : ABI: 'arm'
      10-24 19:19:57.714  5340  5340 F DEBUG   : pid: 5336, tid: 5336, name: crasher  >>> crasher <<<
      10-24 19:19:57.714  5340  5340 F DEBUG   : signal 35 (<debuggerd signal>), code -1 (SI_QUEUE), fault addr --------
      10-24 19:19:57.715  5340  5340 F DEBUG   : Abort message: 'attempted to close file descriptor 3, expected to be unowned, actually owned by FILE* 0xe970400c'
      10-24 19:19:57.715  5340  5340 F DEBUG   :     r0  00000000  r1  000014d8  r2  00000023  r3  ffa73890
      10-24 19:19:57.715  5340  5340 F DEBUG   :     r4  000014d8  r5  ffa738a4  r6  e98efc70  r7  0000016b
      10-24 19:19:57.715  5340  5340 F DEBUG   :     r8  ffa73688  r9  00000014  r10 000014d8  r11 00000000
      10-24 19:19:57.715  5340  5340 F DEBUG   :     ip  ffa73890  sp  ffa73680  lr  e9874737  pc  e987474a
      10-24 19:19:57.719  5340  5340 F DEBUG   :
      10-24 19:19:57.719  5340  5340 F DEBUG   : backtrace:
      10-24 19:19:57.719  5340  5340 F DEBUG   :     #00 pc 0002e74a  /system/lib/libc.so (fdsan_error(char const*, ...)+266)
      10-24 19:19:57.719  5340  5340 F DEBUG   :     #1 pc 0002e553  /system/lib/libc.so (android_fdsan_close_with_tag+386)
      10-24 19:19:57.719  5340  5340 F DEBUG   :     #2 pc 0002ec37  /system/lib/libc.so (close+6)
      10-24 19:19:57.719  5340  5340 F DEBUG   :     #03 pc 00001c93  /system/bin/crasher (do_action+786)
      10-24 19:19:57.719  5340  5340 F DEBUG   :     #04 pc 00002a35  /system/bin/crasher (main+56)
      10-24 19:19:57.719  5340  5340 F DEBUG   :     #05 pc 0009695d  /system/lib/libc.so (__libc_init+60)
      10-24 19:19:57.719  5340  5340 F DEBUG   :     #06 pc 0000180f  /system/bin/crasher (_start_main+38)
      10-24 19:19:57.719  5340  5340 F DEBUG   :     #07 pc 00000306  <anonymous:e9c56000>
    
    Example output:
    
      ********** Crash dump: **********
      Build fingerprint: 'Android/hikey960/hikey960:Q/PI/enh10051658:userdebug/test-keys'
      Abort message: 'attempted to close file descriptor 3, expected to be unowned, actually owned by FILE* 0xe970400c'
      #00 0x0002e74a /system/lib/libc.so (fdsan_error(char const*, ...)+266)
                                          fdsan_error(char const*, ...)
                                          bionic/libc/private/bionic_inline_raise.h:0:3
      #1 0x0002e553 /system/lib/libc.so (android_fdsan_close_with_tag+386)
                                          android_fdsan_close_with_tag
                                          bionic/libc/bionic/fdsan.cpp:0:7
      #2 0x0002ec37 /system/lib/libc.so (close+6)
                                          close
                                          bionic/libc/bionic/fdsan.cpp:381:12
      #03 0x00001c93 /system/bin/crasher (do_action+786)
      #04 0x00002a35 /system/bin/crasher (main+56)
      #05 0x0009695d /system/lib/libc.so (__libc_init+60)
                                          __libc_init
                                          bionic/libc/bionic/libc_init_dynamic.cpp:136:8
      #06 0x0000180f /system/bin/crasher (_start_main+38)
      #07 0x00000306 <anonymous:e9c56000>
    
    Bug: http://b/22085867
    Test: ran manually
    Change-Id: I80b77f13c32a92adb972191b7b9548249e58b3ce
    
  - Move ndk-gdb out of HostTools.
    
    Test: ./checkbuild.py ndk-gdb
    Test: ./checkbuild.py
    Bug: None
    Change-Id: Ib4cfa782a27a551115e54204205f484e80990d7b
    
  - Put the new toolchain back in to toolchains/llvm.
    
    Moving this to an entirely separate directory will likely be too
    disruptive. While not very difficult to fix in any given build system,
    there's a significant number of third-party projects that do not even
    use standalone toolchains. Those few of them using Clang can be kept
    working for the time being (they'll still break when we remove
    $NDK/sysroot if they're using `--sysroot` like they should be rather
    than `-isystem`).
    
    This also saves us a small amount of space in the transition period.
    Although we still need to duplicate binutils, libc++, the sysroot,
    etc, we can at least dedup Clang.
    
    Test: ./checkbuild.py && ./run_tests.py
    Bug: android/ndk#780
    Change-Id: I5760e55240fc3ff0ed2fe5385b8dca9394327dd1
  • Loading branch information
DanAlbert authored and Gerrit Code Review committed Oct 29, 2018
1 parent f89520d commit 021797e
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 2 deletions.
2 changes: 1 addition & 1 deletion external/libcxx
Submodule libcxx updated from a89543 to e3b997
2 changes: 1 addition & 1 deletion ndk
Submodule ndk updated from f13658 to 91ca6d

0 comments on commit 021797e

Please sign in to comment.