tree 0ea437f86e7cd6c4c3e4a8f9c390ea6cef2593cc
parent 3395dbe0acd81646655898d2d2fc976d9da37c12
author Vic Yang <victoryang@google.com> 1553142646 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 1553142646 +0000

Update git submodules

* Update bionic from branch 'master'
  to 6b330ac55db03390b5ce48a3633fe0c636fa17ff
  - Merge "linker: Add support for "whitelisted" property in linker config files"
  - linker: Add support for "whitelisted" property in linker config files
    
    In order to enable no-vendor-variant VNDK, we need a way to restrict a
    namespace to only a list of whitelisted libraries.  We add a new
    "whitelisted" property for this.  If the property is not set, all
    libraries in the search paths are available in a namespace.  If the
    property is set, only the libraries named are available.
    
    Bug: 119423884
    Test: Boot with no-vendor-variant VNDK enabled using the new property.
    Change-Id: Id808c1733c8e2c2c3462b04c72461f9698403571
    

* Update build/make from branch 'master'
  to 30dda1da5e4f3ad32ea70afd4707d9ca8ac538da
  - Merge changes from topic "vndk-no-vendor-variant"
    
    * changes:
      Add support for no-vendor-variant VNDK
      Add module-target-built-files function
    
  - Add support for no-vendor-variant VNDK
    
    When TARGET_VNDK_USE_CORE_VARIANT is set to true, the vendor variant of
    VNDK libraries are by default not installed.  Instead, the core variant
    will be used by vendor binaries at runtime.
    
    To ensure the core variant of VNDK libraries are installed, we also add
    a flag LOCAL_VNDK_DEPEND_ON_CORE_VARIANT to indicate that the vendor
    variant module depends on the core variant module.  This flag should be
    set by Soong for all VNDK libraries without the vendor variant
    installed.  When the flag is set, the vendor variant binary is also
    compared against the core variant binary to ensure they are
    functionally identical.
    
    As we are merging the two variants for some libraries, we need a new
    link type to denote a module is usable as both native:vndk and
    native:platform.  We add native:platform_vndk for this.
    
    Bug: 119423884
    Test: With the corresponding Soong change, build with
          TARGET_VNDK_USE_CORE_VARIANT set to true.
    Test: Add a dummy VNDK library and a dummy vendor binary that depends
          on it.  Build with no-vendor-variant VNDK and check the core
          variant is installed.
    Test: Add conditional compilation based on __ANDROID_VNDK__ in the
          dummy VNDK library and check build fails.
    
    Change-Id: I40000f2728e8193212113c1ee950e9d697f2d40d
    
  - Add module-target-built-files function
    
    This is similar to module-built-files, except that it only returns
    files built for the target, not the host.
    
    Bug: 119423884
    Test: Build with the no-vendor-variant VNDK change that uses this
          function.
    
    Change-Id: I2a3d99003b05999eae01c0b90bb62b5263d65592
    

* Update build/soong from branch 'master'
  to efd249e62a873bbaab0ca367710f4bbc47220930
  - Add support for no-vendor-variant VNDK
    
    When no-vendor-variant VNDK is enabled, the vendor variant of VNDK
    libraries are not installed.  Since not all VNDK libraries will be
    ready for this, we keep a list of library names in cc/vndk.go to
    indicate which libraries must have their vendor variants always
    installed regardless of whether no-vendor-variant VNDK is enabled.
    
    Also add --remove-build-id option to the strip script to facilitate
    the check of functional identity of the two variants.
    
    Bug: 119423884
    Test: Add a dummy VNDK library and build with
          TARGET_VNDK_USE_CORE_VARIANT := true, with the corresponding
          build/make change.
    
    Change-Id: Ieb1589488690e1cef1e310669a8b47a8b8759dac
    

* Update system/core from branch 'master'
  to c3e96512c0e6243531f092e706ba002fd77997c6
  - Merge "Add support for no-vendor-variant VNDK"
  - Add support for no-vendor-variant VNDK
    
    When no-vendor-variant VNDK is enabled, the vendor variant of VNDK
    libraries are not installed.  In this case, the vendor binaries need to
    be able to link in the core variant.
    
    Update the linker config so that we export such VNDK libraries to the
    proper linker namespaces.
    
    Bug: 119423884
    Test: Enable no-vendor-variant VNDK for a dummy VNDK library.  Boot and
          check the vendor variant does not exist and only the core variant
          is used.
    
    Change-Id: I71274fdf61373663603a5fbc3497400420094fcf
    