tree 0ce41174935b92772e04e48604519e0c33493363
parent f8effe3f410206c15481fd0512cebd73f2a25e38
author Yi Kong <yikong@google.com> 1550888166 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 1550888166 +0000

Update git submodules

* Update platform/bionic from branch 'master'
  to e65558a0a4ad1f4aee5d63d0661b02f910e0cbd8
  - Merge changes I070d3a26,Ie9176587
    
    * changes:
      Turn on XOM for libm
      Switch libm to libcrt.builtins
    
  - Turn on XOM for libm
    
    Test: bionic-unit-tests
    Bug: 122993571
    Bug: 123241361
    Change-Id: I070d3a2627ee64124ff415a646ddfbcc767b54d1
    
  - Switch libm to libcrt.builtins
    
    After switching libm from libgcc to libcrt.builtins, some of the symbols
    are no longer getting included in libm, causing the compiler to complain
    about missing symbols from the version script. Explicitly export them in
    libc (since libm depends on libc).
    
    Bug: 122993571
    Test: m checkbuild
    Test: bionic-unit-tests
    Change-Id: Ie91765874d20df605f557b1a8c4236619553c549
    

* Update platform/superproject from branch 'master'
  to 98798a08c36ade00eab95fa8e887271713809669
  - Update git submodules
    
    * Update bionic from branch 'master'
      to e65558a0a4ad1f4aee5d63d0661b02f910e0cbd8
      - Merge changes I070d3a26,Ie9176587
        
        * changes:
          Turn on XOM for libm
          Switch libm to libcrt.builtins
        
      - Turn on XOM for libm
        
        Test: bionic-unit-tests
        Bug: 122993571
        Bug: 123241361
        Change-Id: I070d3a2627ee64124ff415a646ddfbcc767b54d1
        
      - Switch libm to libcrt.builtins
        
        After switching libm from libgcc to libcrt.builtins, some of the symbols
        are no longer getting included in libm, causing the compiler to complain
        about missing symbols from the version script. Explicitly export them in
        libc (since libm depends on libc).
        
        Bug: 122993571
        Test: m checkbuild
        Test: bionic-unit-tests
        Change-Id: Ie91765874d20df605f557b1a8c4236619553c549
        