Commit Graph

3324 Commits

Author SHA1 Message Date
Logan Chien
41eabe63e8 Support opt-in ABI checks
This commit allows a module to opt in for ABI checks even when it is
not an LLNDK/VNDK module.

Bug: 131421213
Test: Add `header_abi_checker { enabled: true, }` to some module
Change-Id: Ie09d262e651cbb44d7d0eba652f55dc1e1e52962
2019-04-27 01:55:50 +08:00
Colin Cross
3533a273fa Merge "Fix tests with cc_binary_host on mac" am: 588c1ee5f8
am: 34f52a3894

Change-Id: I868f475487e3b0b761ba2c1f7b160751365372d4
2019-04-22 21:26:51 -07:00
Colin Cross
34f52a3894 Merge "Fix tests with cc_binary_host on mac"
am: 588c1ee5f8

Change-Id: Ib708699fa03549edc180e038890b1262ca7476dc
2019-04-22 21:22:50 -07:00
Colin Cross
9c6241f768 Fix tests with cc_binary_host on mac
cc_binary_host on mac uses ctx.Config().HostSystemTool(), which needs
PATH in the test environment.  Copy it from the original environment.

Fixes: 129763458
Test: proto_test.go
Change-Id: I41c1acdceee7c35036148256adafb471871034df
2019-04-22 15:55:56 -07:00
Yi Kong
7a3161c25b Merge "Switch to clang-r353983c" am: db52ce88b0
am: bafbdf4239

Change-Id: I50cd88d304d9a16496d9500a2506f5e7200cf2a0
2019-04-19 17:14:03 -07:00
Yi Kong
bafbdf4239 Merge "Switch to clang-r353983c"
am: db52ce88b0

Change-Id: I80437802cdb52b22bad0e2c67f57b596cc75451a
2019-04-19 16:30:25 -07:00
Yi Kong
ac9e61536f Switch to clang-r353983c
Test: TreeHugger
Bug: 129712936
Change-Id: Ie1545f174017dbceab25a4e420c015230d74e97a
Merged-In: I15f1db69de86ad8b9f2a0ae086fa2df87835948a
(cherry picked from commit 09ecee7686)
2019-04-19 15:22:11 -07:00
Yi Kong
09ecee7686 Switch to clang-r353983c
Test: TreeHugger
Bug: 129712936
Change-Id: I15f1db69de86ad8b9f2a0ae086fa2df87835948a
2019-04-19 16:23:18 +00:00
Jiyong Park
a1bc838ce1 Fix: HideFromMake is not registered to llndk_* module types
llndk_* module types are not initialized via cc.Module.Init(). As a
consequence, mutated properties like HideFromMake, etc. were not
registered and this caused problem when the mutated properties are set
by one of the mutators like the sanitizerMutator. Specifically, both
asan and non-asan variant of an llndk_header were both exported to Make
although HideFromMake was set to true for the non-asan variant.

Fixing this bug by explicitly registering BaseProperties struct which
contains the mutated properties.

Bug: 130652996
Test: Following works:
$ lunch aosp_cf_x86_pasan-userdebug
$ mkdir frameworks/native/test && mkdir frameworks/native/test/include
$ cat > frameworks/native/test/Android.bp
llndk_headers {
    name: "test_headers",
    export_include_dirs: ["include"],
}
^D
$ SANITIZE_TARGET='address' make

Change-Id: I44e3668460448d79382617df61171b0ab5b4d98d
Merged-In: I44e3668460448d79382617df61171b0ab5b4d98d
2019-04-18 14:41:51 -07:00
Pirama Arumuga Nainar
6f8716cf42 Merge "Revert "Revert "Enable lld for windows""" am: cd9a1e2e73
am: 93b008e5b8

Change-Id: I7efda949709415f333db20b78eca6a358ebe30e6
2019-04-18 08:47:41 -07:00
Pirama Arumuga Nainar
93b008e5b8 Merge "Revert "Revert "Enable lld for windows"""
am: cd9a1e2e73

Change-Id: Ib112923a601eebe26a95a5f8a714b2d862c2c6d6
2019-04-18 08:43:12 -07:00
Pirama Arumuga Nainar
cd9a1e2e73 Merge "Revert "Revert "Enable lld for windows""" 2019-04-18 15:26:42 +00:00
Jiyong Park
55646a3ca3 Merge "Fix: HideFromMake is not registered to llndk_* module types" am: 587fb4de9a
am: 9e4d9a2ccd

Change-Id: I094794d9e54002e1c3e6309f8609193d8c25daad
2019-04-17 08:03:40 -07:00
Jiyong Park
9e4d9a2ccd Merge "Fix: HideFromMake is not registered to llndk_* module types"
am: 587fb4de9a

Change-Id: If0bcd3d4a523a5867b28f787578dd192c8bfd68b
2019-04-17 07:58:32 -07:00
Jiyong Park
5e676fe9f0 Fix: HideFromMake is not registered to llndk_* module types
llndk_* module types are not initialized via cc.Module.Init(). As a
consequence, mutated properties like HideFromMake, etc. were not
registered and this caused problem when the mutated properties are set
by one of the mutators like the sanitizerMutator. Specifically, both
asan and non-asan variant of an llndk_header were both exported to Make
although HideFromMake was set to true for the non-asan variant.

Fixing this bug by explicitly registering BaseProperties struct which
contains the mutated properties.

Bug: 130652996
Test: Following works:
$ lunch aosp_cf_x86_pasan-userdebug
$ mkdir frameworks/native/test && mkdir frameworks/native/test/include
$ cat > frameworks/native/test/Android.bp
llndk_headers {
    name: "test_headers",
    export_include_dirs: ["include"],
}
^D
$ SANITIZE_TARGET='address' make

Change-Id: I44e3668460448d79382617df61171b0ab5b4d98d
2019-04-17 13:17:47 +09:00
Pirama Arumuga Nainar
6d8c0a50bc Revert "Revert "Enable lld for windows""
This reverts commit 61166dc047.

One difference from the earlier change is that import libraries are now
using the '.lib' extension instead of '.a' to prevent clash with
AdbWinApi.a.

Bug: http://b/110800681

The following flags that the binutils linkers support are not
available in lld for Windows:
  -soname
  --no-undefined
  -rpath

Windows also uses "import libraries", which are stub libraries used only
for linking.  The binutils linkers accepted a DLL and treated them as an
import library.  But lld issues the following error:

  lld-link: error: ...DLL: bad file type. Did you specify a DLL instead
  of an import library?

To resolve this, pass '-out-implib=libFoo.lib' to lld when linking
libFoo.dll to get lld to generate an import library.  Add libFoo.lib as
an implicit output to the 'ld' build rule.

Rewrite the shared libraries when building a library/binary to use the
import library instead of the DLL.  As a side-effect, this also uses the
newly-created AdbWinApi.lib that's alongside
development/host/windows/prebuilt/usb/AdbWinApi.dll

Test: Run Windows tests (go/android-llvm-windows-testing) and check
absence of regressions.  Also check that the following commands pass:
      $ adb.exe devices
      $ fastboot.exe devices

Change-Id: I34e07d345e0207086ac8e8ea12525d8c322b20fd
2019-04-16 16:22:03 -07:00
Patrice Arruda
9761b49928 Merge "Soong: Add synopsis to ndk_* modules." am: 8196356248
am: 500f586c53

Change-Id: Iccbbcf20c3ed0f9f29179e61527aada54ad057a7
2019-04-16 09:31:26 -07:00
Patrice Arruda
500f586c53 Merge "Soong: Add synopsis to ndk_* modules."
am: 8196356248

Change-Id: Ibc6feab13e7b3bc08983def893d15a770ab61451
2019-04-16 09:28:43 -07:00
Patrice Arruda
8196356248 Merge "Soong: Add synopsis to ndk_* modules." 2019-04-16 16:14:46 +00:00
Patrice Arruda
7e83210077 Merge "Soong: Add synopsis to several modules under the cc package." am: 3cbdeddaf0
am: 7ac9db2012

Change-Id: If1c72243e37ad40e938029777386800287e71e0c
2019-04-16 09:12:53 -07:00
Patrice Arruda
7ac9db2012 Merge "Soong: Add synopsis to several modules under the cc package."
am: 3cbdeddaf0

Change-Id: Ideab6818d25905e1484f4ce0b5253a98248ca562
2019-04-16 09:07:48 -07:00
Patrice Arruda
3cbdeddaf0 Merge "Soong: Add synopsis to several modules under the cc package." 2019-04-16 15:43:55 +00:00
Dan Willemsen
c74ce7d85f Convert yacc to a single RuleBuilder rule am: 4e0aa23dd3
am: e71c0691ad

Change-Id: I8e5b153cfeb7887777065dc8ee33d04dda36e613
2019-04-15 17:51:03 -07:00
Dan Willemsen
e71c0691ad Convert yacc to a single RuleBuilder rule
am: 4e0aa23dd3

Change-Id: I5d629683fa99cbbc0b6f97517a1cb9c5e8c6bb89
2019-04-15 17:24:18 -07:00
Dan Willemsen
4e0aa23dd3 Convert yacc to a single RuleBuilder rule
So that <module>/gen/yacc/... is (re)created by a single rule, previous
files are removed, and location.hh is in the build graph when it is
produced.

Test: treehugger
Change-Id: I2f6e47ea07f315e10ae1cb8ad50697e7123d0285
2019-04-15 14:52:05 -07:00
TreeHugger Robot
353222b81d Merge "Fix package path of android/soong/android pctx" into qt-dev 2019-04-12 17:24:18 +00:00
Christopher Ferris
e0728ccb3a Merge "Do not re-export _Unwind_XXX symbols."
am: 41eed99dc7

Change-Id: I71ecd9be29895f799728d341e5407043e4af1812
2019-04-11 21:58:45 -07:00
Christopher Ferris
c3a1e22060 Do not re-export _Unwind_XXX symbols.
Bug: 130267141

Test: All system shared libraries do not contain global _Unwind_XXX symbols.
Change-Id: I79673753bb8197041bfe8ffb016d9f5fdf4cada5
Merged-In: I79673753bb8197041bfe8ffb016d9f5fdf4cada5
(cherry picked from commit cf78867417)
2019-04-11 17:54:48 -07:00
Christopher Ferris
06af038ad0 Merge "Do not re-export _Unwind_XXX symbols." into qt-dev
am: 8f8b1f1746

Change-Id: Ief4cd4264b80acb1c9b553aec2fda275cdd3dde5
2019-04-11 15:48:49 -07:00
Logan Chien
a85b0a12db Merge "Add --llndk for NDK libs as well" am: b10243dc4e
am: 09b2c81f09

Change-Id: Ide2c9829a1fc94ce68884b77005354cabbfaa08a
2019-04-11 11:11:08 -07:00
Logan Chien
09b2c81f09 Merge "Add --llndk for NDK libs as well"
am: b10243dc4e

Change-Id: I4756fb19c5ac88c1897f19f5217326c337a45c86
2019-04-11 09:51:48 -07:00
Logan Chien
62f1f9488e Add --llndk for NDK libs as well
This commit add `--llndk` to the command line option for
`create_reference_dumps.py` as well.

Bug: 124620774
Bug: 130324828
Test: lunch aosp_arm64-userdebug && make
Change-Id: I117864209b8cf8c934fd3aa1086b7691c1c449e3
2019-04-11 05:40:57 +00:00
Christopher Ferris
cf78867417 Do not re-export _Unwind_XXX symbols.
Bug: 130267141

Test: All system shared libraries do not contain global _Unwind_XXX symbols.
Change-Id: I79673753bb8197041bfe8ffb016d9f5fdf4cada5
2019-04-10 19:23:47 -07:00
Colin Cross
713ef2b424 Fix package path of android/soong/android pctx
android/soong/common was renamed to android/soong/android long
ago, but the pctx package path was still "android/soong/common".
This required all users of rules defined in android/soong/android
to import "android/soong/android" and then
pctx.Import("android/soong/common").

Bug: 130298888
Test: m checkbuild
Change-Id: I20d096522760538f7cfc2bec3d4bfeba99b275d4
2019-04-10 16:49:27 -07:00
Patrice Arruda
6ea42118f2 Soong: Add synopsis to ndk_* modules.
Added synopsis to the following modules under cc package:
    * ndk_headers
    * ndk_library
    * versioned_ndk_headers
    * preprocessed_ndk_headers

Bug: b/128337482
Test: Generated the documentation and verified that the synopsis was
added to each of the module.

Change-Id: I2146919528cf039ed9327b3358de5b1bdb28275a
2019-04-09 18:50:44 -07:00
George Burgess IV
5522cbdde4 Merge "Remove our clang-tidy wrapper" am: 45a5a287af
am: ea2835bb72

Change-Id: Ibd66c5dd3850437948ba56682631338881468876
2019-04-05 18:27:39 -07:00
George Burgess IV
ea2835bb72 Merge "Remove our clang-tidy wrapper"
am: 45a5a287af

Change-Id: Ie120d7f322039f6b382769fb68fd1785b3902096
2019-04-05 17:17:25 -07:00
George Burgess IV
c4624c0189 Remove our clang-tidy wrapper
Looks like the reason for it existing has been fixed. It should probably
just be removed.

Bug: None
Test: WITH_TIDY=1 m

Change-Id: I770b2fec4ac44f265ff31731c9c0bd4da14d5b0f
2019-04-04 17:58:00 -07:00
Patrice Arruda
69f5263d51 Merge "Soong: Add synopsis to vndk_prebuilt_shared module under cc package." am: fc453c79f2
am: efd2678e8c

Change-Id: I0d1d31f8bcfb0de7a93118641b182c28068a844b
2019-04-04 17:43:08 -07:00
Patrice Arruda
efd2678e8c Merge "Soong: Add synopsis to vndk_prebuilt_shared module under cc package."
am: fc453c79f2

Change-Id: Ieffcdfeb0fe47af75b0344e0bb2428545ec120fe
2019-04-04 12:01:10 -07:00
Treehugger Robot
fc453c79f2 Merge "Soong: Add synopsis to vndk_prebuilt_shared module under cc package." 2019-04-04 18:51:11 +00:00
Vic Yang
8f68cbd21d Merge "Blacklist more libraries from no-vendor-variant VNDK" am: f3f1467051
am: fba522bd64

Change-Id: Iceb901408082e2a5b85bad18505f4a01c8abbaed
2019-04-04 08:58:20 -07:00
Vic Yang
fba522bd64 Merge "Blacklist more libraries from no-vendor-variant VNDK"
am: f3f1467051

Change-Id: Iba0a4248bfc4e72e470849e3878ca26d9d0906b0
2019-04-04 01:50:54 -07:00
Colin Cross
11fbb890c9 Fix package path of android/soong/android pctx am: cc0ce80ed5
am: a1c57b4664

Change-Id: Ifba10892f902e70bd0a52a82a20bd5f1b64a61de
2019-04-04 01:39:57 -07:00
Treehugger Robot
f3f1467051 Merge "Blacklist more libraries from no-vendor-variant VNDK" 2019-04-04 08:33:02 +00:00
Colin Cross
a1c57b4664 Fix package path of android/soong/android pctx
am: cc0ce80ed5

Change-Id: Ia266af299fe1a0c8b2f9467c845ceb61cb8236bc
2019-04-03 21:21:10 -07:00
Colin Cross
cc0ce80ed5 Fix package path of android/soong/android pctx
android/soong/common was renamed to android/soong/android long
ago, but the pctx package path was still "android/soong/common".
This required all users of rules defined in android/soong/android
to import "android/soong/android" and then
pctx.Import("android/soong/common").

Test: m checkbuild
Change-Id: I20d096522760538f7cfc2bec3d4bfeba99b275d4
2019-04-04 03:59:34 +00:00
Christopher Ferris
2000f21705 Make libc_scudo always go first.
am: 134f8f6f00

Change-Id: Ib7b568406b3822ece9cf0825957d7a8b8ff6aa01
2019-04-03 16:09:15 -07:00
Christopher Ferris
134f8f6f00 Make libc_scudo always go first.
In addition, add Shared_libs to malloc_not_svelte.

Bug: 123689570

Test: Verified that libc_scudo is first wherever it is added.
Change-Id: Ibdc5dbd019a382630a727c270f846aa4446f8d99
Merged-In: Ibdc5dbd019a382630a727c270f846aa4446f8d99
2019-04-03 14:54:12 -07:00
Patrice Arruda
ea3fcdffc2 Soong: Add synopsis to several modules under the cc package.
Added synopsis to the following modules under cc package:
    * llndk_headers
    * llndk_library
    * vendor_public_library
    * toolchain_library

Bug: b/128337482
Test: Generated the documentation and verified that the synopsis was
added to each of the module.

Change-Id: I0f6e3b01b478d46afeacbe6fc8e05f96d6217c7d
2019-04-03 14:43:03 -07:00