Commit Graph

3295 Commits

Author SHA1 Message Date
Patrice Arruda
628e320278 Merge "Soong: Add synopsis to ndk_prebuilt_* modules." am: e0dbdd87f0
am: 2a38d89734

Change-Id: Iebf89c24fc2786564e79223f3654d84f1714e90c
2019-05-06 11:49:58 -07:00
Patrice Arruda
2a38d89734 Merge "Soong: Add synopsis to ndk_prebuilt_* modules."
am: e0dbdd87f0

Change-Id: I757be447a4868755799c0cb40d21ed52989f9e7a
2019-05-06 11:37:08 -07:00
Treehugger Robot
e0dbdd87f0 Merge "Soong: Add synopsis to ndk_prebuilt_* modules." 2019-05-06 18:12:12 +00:00
Colin Cross
619cd098b6 Revert "Strip libgcc to only keep fallback symbols"
This reverts commit bd475367c3.

Reason for revert: b/130267141
Bug: 29275768
Bug: 130267141
Merged-In: I5b349fa6138e51663bf3b67109b880b4356da8e8
Change-Id: Ieab56390b27240ef7f2f52a48a673809da7bcf8e
2019-05-06 17:29:49 +00:00
dimitry
46becd866e Merge "Add native_bridge target to Android.bp" am: ec89e4c65c
am: 9da19e15ee

Change-Id: I49ecaa7fdb8bd283c9a8df00ddb6572bab9d140d
2019-05-03 16:47:46 -07:00
dimitry
9da19e15ee Merge "Add native_bridge target to Android.bp"
am: ec89e4c65c

Change-Id: I90803e4cac6fccdaaabc9d1ba3fb01491bb9bd65
2019-05-03 16:08:33 -07:00
Treehugger Robot
ec89e4c65c Merge "Add native_bridge target to Android.bp" 2019-05-03 22:23:00 +00:00
dimitry
1f33e40972 Add native_bridge target to Android.bp
This allows us to build guest libraries for the native bridge for
arm/arm64 architectures.

Bug: http://b/77159578
Test: make
Change-Id: I35520ca456105ddadd456c78a4eb1e6de39147c5
2019-05-03 15:33:28 +02:00
Yi Kong
bd475367c3 Strip libgcc to only keep fallback symbols
We use libgcc as fallback for symbols not present in libclang_rt
builtins, however we didn't know what exact symbols were being used,
some may not be intended to fallback.

Create libgcc_stripped, which only contains unwind symbols from libgcc.

Bug: 29275768
Test: bionic-unit-tests
Change-Id: I98df02ead7f6cca4e76ec92d4f880de4e03f5b5c
Merged-In: I5b349fa6138e51663bf3b67109b880b4356da8e8
(cherry picked from commit acee27cd72)
2019-05-03 08:24:10 +00:00
Yi Kong
b5624d7620 Merge "Strip libgcc to only keep fallback symbols" am: 940ef9bc89
am: 6e14640082

Change-Id: I7597fa6208f143555f04ddb300db1c3f26b4d853
2019-05-03 01:22:07 -07:00
Yi Kong
6e14640082 Merge "Strip libgcc to only keep fallback symbols"
am: 940ef9bc89

Change-Id: I98df02ead7f6cca4e76ec92d4f880de4e03f5b5c
2019-05-03 01:17:03 -07:00
Evgenii Stepanov
a3c3d65fdc Merge "Disable hwasan memory stats." into qt-dev
am: ead8b42a1d

Change-Id: I2ce1afff3c3ca8fdb0976943a905994053b4966a
2019-05-02 16:26:12 -07:00
Evgenii Stepanov
d98ccb44f2 Disable hwasan memory stats.
Disable a debugging feature in hwasan that seems to be causing flaky selinux
denials in the boot test:

05-02 12:11:11.360  1663  1663 I auditd  : type=1400 audit(0.0:8): avc: denied { read } for comm="iptables-wrappe" path="/proc/1015/statm" dev="proc" ino=30968 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netmgrd:s0 tclass=file permissive=0

I could not reproduce this locally, but this feature has no users and
I've verified that things keep working without it.

This does not affect any shipped product.

Bug: 131438232
Bug: 112438058
Bug: 131845076
Test: crosshatch_hwasan boot test
Change-Id: I08d46d19151e6d5221cdd56fd6864dae224fae25
2019-05-02 12:52:32 -07:00
Yi Kong
acee27cd72 Strip libgcc to only keep fallback symbols
We use libgcc as fallback for symbols not present in libclang_rt
builtins, however we didn't know what exact symbols were being used,
some may not be intended to fallback.

Create libgcc_stripped, which only contains unwind symbols from libgcc.

Bug: 29275768
Test: bionic-unit-tests
Change-Id: I5b349fa6138e51663bf3b67109b880b4356da8e8
2019-04-30 10:07:00 -07:00
Logan Chien
f7a6c944d4 Merge "Support opt-in ABI checks" am: 23803f9365
am: 5b70a03268

Change-Id: Id45f014546d9d85439350bf85d69e558149f82fc
2019-04-29 11:05:11 -07:00
Logan Chien
5b70a03268 Merge "Support opt-in ABI checks"
am: 23803f9365

Change-Id: I2ff8f34a79d8cd7ed6975ccf2cd5ee7a709c44ef
2019-04-29 10:59:30 -07:00
Logan Chien
23803f9365 Merge "Support opt-in ABI checks" 2019-04-29 17:40:06 +00:00
Patrice Arruda
65eb0a42e2 Merge "Soong: Add synopsis to kernel_headers module under cc package." am: f3c5e4816c
am: 58f381b714

Change-Id: I70e8b3a991f31be3358dbc4c89a75ad4b7c7e551
2019-04-26 22:34:29 -07:00
Patrice Arruda
58f381b714 Merge "Soong: Add synopsis to kernel_headers module under cc package."
am: f3c5e4816c

Change-Id: I8512002dde76af8f29d2d355079f375545a58d18
2019-04-26 22:29:30 -07:00
Patrice Arruda
8c8563746c Soong: Add synopsis to ndk_prebuilt_* modules.
Added synopsis to the following modules under cc package:
   * ndk_prebuilt_object
   * ndk_prebuilt_static_stl
   * ndk_prebuilt_shared_stl

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

Change-Id: Icca7418268a0328b622014da8a077b26800075fd
2019-04-26 18:36:57 -07:00
Patrice Arruda
cb5142c2d1 Soong: Add synopsis to kernel_headers module under cc package.
Added kernel_headers synopsis.

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

Change-Id: I3d23fa2408c387883e62dea0742e72a96868ecb4
2019-04-26 15:19:21 -07:00
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