Commit Graph

761 Commits

Author SHA1 Message Date
Stephen Hines 053e24087b Merge "Switch to clang-r346389c."
am: db89aa2c1d

Change-Id: I93384b066fc2a6aafd89e46ad7c20b80f2e7010d
2019-01-14 14:04:15 -08:00
Stephen Hines db89aa2c1d Merge "Switch to clang-r346389c." 2019-01-14 21:47:17 +00:00
Yi Kong 61bf801cee Merge "Move -Wno-null-dereference to external only" am: 98975c301e am: 52e8b1e270
am: 92071899bd

Change-Id: I625b6d560ed0c8c49c1064a3bedb2d3c7b6858bd
2019-01-13 17:58:29 -08:00
Yi Kong 92071899bd Merge "Move -Wno-null-dereference to external only" am: 98975c301e
am: 52e8b1e270

Change-Id: I39e74436a541b308c88cc09995a7887e5f3680a5
2019-01-13 17:53:37 -08:00
Yi Kong 52e8b1e270 Merge "Move -Wno-null-dereference to external only"
am: 98975c301e

Change-Id: Iaeb4dfe5dd99f8b368b4aaeea94868e434653d75
2019-01-13 17:49:15 -08:00
Stephen Hines c0042a2c77 Switch to clang-r346389c.
This cherry-pick update picks up a few patches to improve hwasan, ELF
tls, and LLD for kernel builds.

Bug: http://b/122549771
Test: make checkbuild, boot
Change-Id: I8a90282af41ad4c74df819484ba2c3507e20100f
2019-01-11 09:21:46 -08:00
Yi Kong fae5dac8fd Move -Wno-null-dereference to external only
Test: m checkbuild
Bug: 29823425
Change-Id: Icd675e451b2a2a8e3f489706e533f92d991de9c0
2018-12-21 14:51:41 -08:00
Yi Kong 393bbbfe66 Merge "Move -Wno-null-pointer-arithmetic to external only" am: df76efe524
am: 3b47a3bd02

Change-Id: Id9623315759a50ee0480c10aebfa560cee47a7a1
2018-12-14 16:57:06 -08:00
Yi Kong 3b47a3bd02 Merge "Move -Wno-null-pointer-arithmetic to external only"
am: df76efe524

Change-Id: I71ba1b6dbd242eaf7614750076b565419ca8dae6
2018-12-14 16:44:58 -08:00
Yi Kong c9f6db50d3 Move -Wno-null-pointer-arithmetic to external only
Test: m checkbuild
Bug: 72331524
Change-Id: I9c49a8cef547f6c840001fd203a0abecaeef44d5
Merged-In: I9c49a8cef547f6c840001fd203a0abecaeef44d5
(cherry picked from commit 3e88cb0399)
2018-12-13 18:36:19 -08:00
Yi Kong 3e88cb0399 Move -Wno-null-pointer-arithmetic to external only
Test: m checkbuild
Bug: 72331524
Change-Id: I9c49a8cef547f6c840001fd203a0abecaeef44d5
2018-12-13 03:55:29 -08:00
Jerome Gaillard d2cf2bf5af Merge "Upgrade Windows default build version from Vista to 7" am: ff42f04af8 am: 475b7d7fb7
am: b49619f48c

Change-Id: I9ab059679cad1e9986441be1c7c65bb3a218800d
2018-12-12 06:22:47 -08:00
Jerome Gaillard b49619f48c Merge "Upgrade Windows default build version from Vista to 7" am: ff42f04af8
am: 475b7d7fb7

Change-Id: Ibde618c5677e708944eae7b72f76c2db647582c7
2018-12-12 06:16:42 -08:00
Jerome Gaillard 475b7d7fb7 Merge "Upgrade Windows default build version from Vista to 7"
am: ff42f04af8

Change-Id: I5bbcb61e74a847918867a7b26f9fc295c387b99d
2018-12-12 06:11:39 -08:00
Jerome Gaillard ff42f04af8 Merge "Upgrade Windows default build version from Vista to 7" 2018-12-12 13:59:56 +00:00
Yi Kong f22c336bcf Merge "Remove unneeded -Wno-expansion-to-defined flag" am: e2025abe96 am: 353bdb292f
am: 127d96dd4f

Change-Id: I6412a9832fced1bd8517b26ebc83f3fbcf1e0788
2018-12-11 19:03:09 -08:00
Yi Kong 127d96dd4f Merge "Remove unneeded -Wno-expansion-to-defined flag" am: e2025abe96
am: 353bdb292f

Change-Id: I80c01c4875530e7b93bc51b4af5b527f040f9ed0
2018-12-11 18:57:01 -08:00
Yi Kong 353bdb292f Merge "Remove unneeded -Wno-expansion-to-defined flag"
am: e2025abe96

Change-Id: If7726e9e4b70134c9551dd36d54bdd14baefcc2d
2018-12-11 18:51:52 -08:00
Yi Kong 4603b9f411 Remove unneeded -Wno-expansion-to-defined flag
Test: m checkbuild
Bug: 29823425
Change-Id: I8c9c7cc92757af20d3a3bbcebeb6360d1df91530
2018-12-10 04:55:51 -08:00
Yi Kong 10c9528557 Remove unneeded -Wno-deprecated-register flag am: 02c0ad48ba am: b8506d246e
am: a62c5ac2f1

Change-Id: I132fcfa5b629531df91e5d19334f904b724ec76e
2018-12-08 20:58:40 -08:00
Yi Kong a62c5ac2f1 Remove unneeded -Wno-deprecated-register flag am: 02c0ad48ba
am: b8506d246e

Change-Id: I29f8ee1d895b078d2640fb7fb1603b301f8c0342
2018-12-08 20:54:36 -08:00
Yi Kong b8506d246e Remove unneeded -Wno-deprecated-register flag
am: 02c0ad48ba

Change-Id: I129ebec38b7d8c99d72affb3ea0a97cfaaefd7e7
2018-12-08 20:50:34 -08:00
Yi Kong 02c0ad48ba Remove unneeded -Wno-deprecated-register flag
Test: m checkbuild
Change-Id: I030a66b8a484673caf3a96a844dc26954e08071a
2018-12-09 04:41:38 +00:00
Yi Kong b57fd16dbd Revert "Revert "Remove unneeded -Wno-constant-logical-operand flag"" am: 4a7400be79 am: 11c39a728a
am: e05613dd70

Change-Id: Ic296135ed6591571aedf6b31d9f3a7a2afe7632e
2018-12-07 15:20:44 -08:00
Yi Kong e05613dd70 Revert "Revert "Remove unneeded -Wno-constant-logical-operand flag"" am: 4a7400be79
am: 11c39a728a

Change-Id: I880489b16e51cb6e43ed94f54394ae403a0e4fea
2018-12-07 15:16:29 -08:00
Yi Kong 11c39a728a Revert "Revert "Remove unneeded -Wno-constant-logical-operand flag""
am: 4a7400be79

Change-Id: I5bce78df06270134ebf3f9ac00b176f1fd80304e
2018-12-07 15:12:26 -08:00
Yi Kong bca848a420 Merge "Remove unneeded -Wno-dangling-field flag" am: 3412046caf am: a9d3b3a947
am: a2eae4dfe7

Change-Id: I64c0f10bb4254291ce6ed49d9c8c1232faf79137
2018-12-07 14:29:15 -08:00
Yi Kong a2eae4dfe7 Merge "Remove unneeded -Wno-dangling-field flag" am: 3412046caf
am: a9d3b3a947

Change-Id: Ibbd5e1cff74266844feb3b3c4c02f51d00ad7d40
2018-12-07 14:25:10 -08:00
Yi Kong a9d3b3a947 Merge "Remove unneeded -Wno-dangling-field flag"
am: 3412046caf

Change-Id: If82dad79f357ba4c59a0e24f7b15b6285051a511
2018-12-07 14:21:07 -08:00
Yi Kong 4a7400be79 Revert "Revert "Remove unneeded -Wno-constant-logical-operand flag""
This reverts commit f993e7797d.

Build breakage fixed.

Test: m checkbuild
2018-12-07 22:00:57 +00:00
Yi Kong 3412046caf Merge "Remove unneeded -Wno-dangling-field flag" 2018-12-07 21:59:21 +00:00
Chih-hung Hsieh 2a5ec750cf Merge "Switch to clang-r346389b." am: 98f91d4f72 am: 7a43111d0f
am: 9a0bf162ab

Change-Id: Id0cb76bdf1ebcbd95e1a4ae35d63a280a9702dc4
2018-12-07 12:42:25 -08:00
Chih-hung Hsieh 9a0bf162ab Merge "Switch to clang-r346389b." am: 98f91d4f72
am: 7a43111d0f

Change-Id: I0b91738943b3b334bc095c58fcf3f08386850072
2018-12-07 12:36:24 -08:00
Chih-hung Hsieh 7a43111d0f Merge "Switch to clang-r346389b."
am: 98f91d4f72

Change-Id: Iefcb7128460c336642f22440e0de22111913c586
2018-12-07 12:31:18 -08:00
Chih-hung Hsieh 98f91d4f72 Merge "Switch to clang-r346389b." 2018-12-07 20:19:09 +00:00
Yi Kong d218df1b2f Remove unneeded -Wno-dangling-field flag
Test: m checkbuild
Change-Id: I4867fb80ffa901d4fef96b315cd114e6f9b82476
2018-12-06 16:43:55 -08:00
Chih-Hung Hsieh 50e09ac14f Undo workaround of flag filtering. am: 1017b37654 am: 058cd51ebb
am: 25a972280f

Change-Id: I61ced46a2177308f0830b0f5fbba82dae32b7ab0
2018-12-06 16:18:57 -08:00
Chih-Hung Hsieh 25a972280f Undo workaround of flag filtering. am: 1017b37654
am: 058cd51ebb

Change-Id: Ib5fed3a392a0e7e6f5bd25ed583ce2db1daf37ba
2018-12-06 16:11:42 -08:00
Chih-Hung Hsieh 058cd51ebb Undo workaround of flag filtering.
am: 1017b37654

Change-Id: I1645934dad7001555a2ac32e4fe17cd72aa540c4
2018-12-06 16:07:04 -08:00
Chih-Hung Hsieh 1017b37654 Undo workaround of flag filtering.
* Now header-abi-dumper does not complain about -fno-sanitize=implicit-integer-sign-change

Bug: 119558057
Test: make checkbuild
Change-Id: I80be08dd5aa184498bdbb83b42b877dbec152165
2018-12-06 12:12:41 -08:00
Chih-Hung Hsieh a910d83a41 Switch to clang-r346389b.
Bug: 120551946
Test: make checkbuild, boot, go/clang-r346389b-testing
Change-Id: I71e28ee97cb02b6be71847b53fbb05007c936e34
2018-12-06 11:18:28 -08:00
Martin Stjernholm 7dd9a4e841 Merge "Revert "Remove unneeded -Wno-constant-logical-operand flag"" am: 53afe27ef9 am: ae0f414646
am: 9c1fb0502d

Change-Id: I0aa94da6b150d8efc7afe43757152efd89c306df
2018-12-06 05:02:48 -08:00
Martin Stjernholm 9c1fb0502d Merge "Revert "Remove unneeded -Wno-constant-logical-operand flag"" am: 53afe27ef9
am: ae0f414646

Change-Id: Ib4fca3dc896396ff4e5af6e0894913bdcf9d0db0
2018-12-06 04:54:48 -08:00
Martin Stjernholm ae0f414646 Merge "Revert "Remove unneeded -Wno-constant-logical-operand flag""
am: 53afe27ef9

Change-Id: Id9e853048df0ead63df11f5460289dd96aac622b
2018-12-06 04:51:37 -08:00
Jerome Gaillard 82bb8b1359 Upgrade Windows default build version from Vista to 7
This is needed to build libicui18n on Windows, as it depends on APIs
created in Windows 7 (ResolveLocaleName).

Test: sdk build
Change-Id: If64510a262f7f1d4d356b1a9960ceea114cfa78a
2018-12-06 12:39:12 +00:00
Martin Stjernholm f993e7797d Revert "Remove unneeded -Wno-constant-logical-operand flag"
This reverts commit 4f0ce757aa.

Reason for revert: Breaks several targets in internal git_master, e.g. http://ab/5165971.

Test: Build failing library
Change-Id: I02a5ade05a76b24020586c55a4e8f441ca7708a9
2018-12-06 12:17:40 +00:00
Yi Kong 85ab538ef3 Merge "Remove unneeded -Wno-constant-logical-operand flag" am: a7a432fb82 am: 3c861d1b33
am: 608217f1e0

Change-Id: I611dc689333bb1a1383c920600463fc31a5393aa
2018-12-05 20:47:54 -08:00
Yi Kong 608217f1e0 Merge "Remove unneeded -Wno-constant-logical-operand flag" am: a7a432fb82
am: 3c861d1b33

Change-Id: I5a5a77ff4f3e68f34dccfe95097b9980a1954b70
2018-12-05 20:42:22 -08:00
Yi Kong 3c861d1b33 Merge "Remove unneeded -Wno-constant-logical-operand flag"
am: a7a432fb82

Change-Id: I5dcc954fc139d9ab43a1f399fefe61ce7ceef2f1
2018-12-05 20:38:17 -08:00
Yi Kong 4f0ce757aa Remove unneeded -Wno-constant-logical-operand flag
Test: m checkbuild
Change-Id: If1ec62b6d88b8260c9ec39e0d63a379e7ae573e9
2018-12-06 00:18:05 +00:00
Chih-hung Hsieh dc19885cf3 Merge "Switch to clang-r346389." am: 89dbee61ff am: 644df40b33
am: 022595785e

Change-Id: I6a3dacb6ea2ef4758bb1c16e64c4869135240a51
2018-12-05 11:11:44 -08:00
Chih-hung Hsieh 022595785e Merge "Switch to clang-r346389." am: 89dbee61ff
am: 644df40b33

Change-Id: I929e08b8da5863abe41a814f06fb3c4400635438
2018-12-05 11:07:26 -08:00
Chih-hung Hsieh 644df40b33 Merge "Switch to clang-r346389."
am: 89dbee61ff

Change-Id: I18befe8152bb455cee18852a5b494256c0c175be
2018-12-05 10:53:03 -08:00
Chih-hung Hsieh 89dbee61ff Merge "Switch to clang-r346389." 2018-12-05 18:24:12 +00:00
Haibo Huang 854339fa3c Remove denver from soong am: 47c9d4c8a3 am: 9223081372
am: 9ae1005f63

Change-Id: I52b984e4d27bd960da9ceb06656d5caa41b99fa1
2018-12-04 23:41:47 -08:00
Haibo Huang 9ae1005f63 Remove denver from soong am: 47c9d4c8a3
am: 9223081372

Change-Id: I9a6f28e148340cc0700fda13bfc065fe32682fa4
2018-12-04 23:37:39 -08:00
Haibo Huang 9223081372 Remove denver from soong
am: 47c9d4c8a3

Change-Id: Ie63b19efa16354b8e6003bca7e4330cd03c2981c
2018-12-04 23:29:36 -08:00
Haibo Huang 47c9d4c8a3 Remove denver from soong
Test: build
Change-Id: If740c2aaa321dee01f5d99c37171390e15f62c62
2018-12-04 19:39:48 -08:00
Haibo Huang c1cebc9772 Remove denver64 from soong am: f46b1cb06e am: 238f6c330d
am: 7ae1eb16f1

Change-Id: I39d74f1813ea8d6a9297ccfbb999523e245b52c9
2018-12-04 17:01:25 -08:00
Haibo Huang 7ae1eb16f1 Remove denver64 from soong am: f46b1cb06e
am: 238f6c330d

Change-Id: I640a9e965b47ae5269818a2076ca1389e0a748ff
2018-12-04 16:44:14 -08:00
Haibo Huang 238f6c330d Remove denver64 from soong
am: f46b1cb06e

Change-Id: I400a0bcabbb3ebd63136a28e6cf58314f4b499e8
2018-12-04 16:35:13 -08:00
Haibo Huang f46b1cb06e Remove denver64 from soong
Test: build
Bug: 73545680
Change-Id: I6b213a1d83275c566fd6142a07550094240528c4
2018-12-04 21:01:50 +00:00
Chih-Hung Hsieh 3567e62f97 Switch to clang-r346389.
* Add -fno-sanitize=implicit-integer-sign-change when
  there is any integer related sanitizer, and this check
  is not explicitly specified.
  Android core does not boot with this new sanitizer yet.
* Filter out -fno-sanitize=implicit-integer-sign-change
  from tooling flags.

Bug: 119329758
Bug: 119557795
Test: make checkbuild, boot, go/clang-r346389-testing
Change-Id: I709de569cb73d070fc4958e2b4387f4041bc5438
2018-12-04 19:50:45 +00:00
Yi Kong 26a8e315f0 Merge "Revert "Revert "Remove unnecessary warning suppression""" am: 3a33fe535e am: 9d256a5aa1
am: b910379c91

Change-Id: I55f4a983fe7783a43c8b7fc1b2ada3e6e24f7fba
2018-12-04 01:57:17 -08:00
Yi Kong b910379c91 Merge "Revert "Revert "Remove unnecessary warning suppression""" am: 3a33fe535e
am: 9d256a5aa1

Change-Id: I76bdf7af21564068168fa3cad9b3934f7d6f2bf4
2018-12-04 01:52:57 -08:00
Yi Kong 9d256a5aa1 Merge "Revert "Revert "Remove unnecessary warning suppression"""
am: 3a33fe535e

Change-Id: I81421f5340798c181c7f9b72faea5bc433bc0ed5
2018-12-04 01:47:51 -08:00
Yi Kong 3a33fe535e Merge "Revert "Revert "Remove unnecessary warning suppression""" 2018-12-04 09:30:54 +00:00
Yi Kong 734a07c66d Revert "Revert "Remove unnecessary warning suppression""
This reverts commit afedf3bdc9.

Build failure fixed.

Change-Id: I46e7e222c2b5bfa5b1846f3fe87444afb70f1b31
2018-12-04 00:42:27 +00:00
Zhizhou Yang 14f162a3e7 Merge "Do not generate SHT_RELR relocations before API 28" am: 89df00c216 am: e74941431e
am: 9759e5e76a

Change-Id: I86833768d148bb1afbf0dc9135cb5d5665cfb058
2018-12-03 13:10:35 -08:00
Zhizhou Yang 9759e5e76a Merge "Do not generate SHT_RELR relocations before API 28" am: 89df00c216
am: e74941431e

Change-Id: Ib4b63e48374e239dc71318e1d39c76087ae5d75b
2018-12-03 12:20:17 -08:00
Zhizhou Yang e74941431e Merge "Do not generate SHT_RELR relocations before API 28"
am: 89df00c216

Change-Id: I76f45bbea868f137906074dfda233ecad02d9caa
2018-12-03 11:27:53 -08:00
Treehugger Robot 89df00c216 Merge "Do not generate SHT_RELR relocations before API 28" 2018-12-03 18:40:59 +00:00
Yi Kong a7a71847d7 Merge "Revert "Remove unnecessary warning suppression"" am: cf492adb34 am: 1e8681d22f
am: ec10bb5d51

Change-Id: Ief86ddc75dbe998596f2ec8db23cb048fe0ba4c2
2018-11-30 15:52:51 -08:00
Yi Kong ec10bb5d51 Merge "Revert "Remove unnecessary warning suppression"" am: cf492adb34
am: 1e8681d22f

Change-Id: I2debeb50164d6c5f8d516fe66a6870d34f9dd3eb
2018-11-30 15:47:19 -08:00
Yi Kong 1e8681d22f Merge "Revert "Remove unnecessary warning suppression""
am: cf492adb34

Change-Id: If2941e0eb1a19194bce00af67e5e81aab6368286
2018-11-30 15:42:10 -08:00
Yi Kong cf492adb34 Merge "Revert "Remove unnecessary warning suppression"" 2018-11-30 23:20:11 +00:00
Elliott Hughes 24cc4be24a Merge "C++17: switch the default." am: 3633e8641e am: 0d64de3c0f
am: de93ddd67e

Change-Id: I80b1dcde72c53792c04d59426efc37e2307b1594
2018-11-30 14:22:09 -08:00
Elliott Hughes de93ddd67e Merge "C++17: switch the default." am: 3633e8641e
am: 0d64de3c0f

Change-Id: Ib6c1c6ba366276da72523acdd111c20a4f7a8b38
2018-11-30 14:14:58 -08:00
Elliott Hughes 0d64de3c0f Merge "C++17: switch the default."
am: 3633e8641e

Change-Id: I45e98afc8f6fce72ca98ec40c251ffee1f860dea
2018-11-30 14:09:50 -08:00
Zhizhou Yang 9100b1d83d Do not generate SHT_RELR relocations before API 28
This patch fixes an issue that SHR_RELR relocation is not supported by
SDK version earlier than API 28. We only turn it on when SDK is not
used, or SDK version is newer than or equal to API 28.

Test: m -j48 for aosp_taimen-userdebug
Bug: http://b/119086751
Change-Id: I33124ae4f35fb8c00ae9103e8c04e2d4ccd5fec3
2018-11-30 22:07:35 +00:00
Elliott Hughes 3633e8641e Merge "C++17: switch the default." 2018-11-30 22:03:45 +00:00
Vishnu Nair afedf3bdc9 Revert "Remove unnecessary warning suppression"
This reverts commit ee53a98e31.

Reason for revert: build break

Change-Id: I065b702d6eaa2e72d47a2b7a404fdd7fe51661c3
2018-11-30 21:01:30 +00:00
Yi Kong f288215589 Merge "Remove unnecessary warning suppression" am: da5cf6a7f3 am: 779ec3a2dc
am: a9c6ec0c95

Change-Id: I5c3e1a83753f1c36a69d3a7895d812c44966532e
2018-11-30 12:36:32 -08:00
Yi Kong a9c6ec0c95 Merge "Remove unnecessary warning suppression" am: da5cf6a7f3
am: 779ec3a2dc

Change-Id: I581200aa4df67c8ab7076bfbfa9b110b8c15e5ec
2018-11-30 12:05:28 -08:00
Yi Kong 779ec3a2dc Merge "Remove unnecessary warning suppression"
am: da5cf6a7f3

Change-Id: I84ae0cb712c26ff4941aaea583bfa467378292a5
2018-11-30 11:51:03 -08:00
Yi Kong da5cf6a7f3 Merge "Remove unnecessary warning suppression" 2018-11-30 19:24:35 +00:00
Nikita Iashchenko 16d78a078d Merge "Revert "C++17: switch the default."" am: a9e5a40bb8 am: 1ba2e34897
am: 3d043a6ebb

Change-Id: Ica42b86395968488dee0ac66f3194ceb15d18139
2018-11-30 08:30:12 -08:00
Nikita Iashchenko 3d043a6ebb Merge "Revert "C++17: switch the default."" am: a9e5a40bb8
am: 1ba2e34897

Change-Id: I853197b418817bd09e99b43f5b875a1260619907
2018-11-30 08:26:50 -08:00
Nikita Iashchenko 1ba2e34897 Merge "Revert "C++17: switch the default.""
am: a9e5a40bb8

Change-Id: I29aa03b1dbb6b149fd3c393070d89461a1815d73
2018-11-30 08:22:29 -08:00
Elliott Hughes 34e4e416e7 C++17: switch the default.
Bug: http://b/111067277
Change-Id: I07af7cd9e65a6e238d7d256c65927fe128a0f052
Test: builds
2018-11-30 16:03:06 +00:00
Nikita Iashchenko a9e5a40bb8 Merge "Revert "C++17: switch the default."" 2018-11-30 14:27:16 +00:00
Jerome Gaillard c1963c7158 Merge "Add flags for Windows assembly builds" am: ba0653cdb4 am: dacb269342
am: 80e1b1250c

Change-Id: Ic19ef11080a72796b9ad66ce71657ba8006248b7
2018-11-30 04:51:43 -08:00
Jerome Gaillard 80e1b1250c Merge "Add flags for Windows assembly builds" am: ba0653cdb4
am: dacb269342

Change-Id: Iea9ad5904ffb2eef10354faf1989e8239fd0c552
2018-11-30 04:47:39 -08:00
Jerome Gaillard dacb269342 Merge "Add flags for Windows assembly builds"
am: ba0653cdb4

Change-Id: I7e60185582a0a55e81529d353fbd633873b7a408
2018-11-30 04:43:31 -08:00
Jerome Gaillard ba0653cdb4 Merge "Add flags for Windows assembly builds" 2018-11-30 12:30:06 +00:00
Nikita Iashchenko 7a782203b9 Revert "C++17: switch the default."
This reverts commit c35fc0e130.

Reason for revert: fix broken targets in the internal master.

Change-Id: I70447a05ae5b2afa7efc7ab21c0432e651cab1ba
2018-11-30 11:15:16 +00:00
Elliott Hughes 54c3640c94 Merge "C++17: switch the default." am: b44bdb2be3 am: 92fbd0699e
am: 60bc94c195

Change-Id: I1240ba84ff7344e0cf319492c2834ac43cd90ab6
2018-11-30 01:01:16 -08:00
Elliott Hughes 60bc94c195 Merge "C++17: switch the default." am: b44bdb2be3
am: 92fbd0699e

Change-Id: Ibd90ee82cb36c3e3884d42e016414e09ab60a39f
2018-11-30 00:47:34 -08:00
Elliott Hughes 92fbd0699e Merge "C++17: switch the default."
am: b44bdb2be3

Change-Id: Ib4fd903bd957d3114e9c7e87712497ea65eb9a17
2018-11-30 00:32:12 -08:00
Treehugger Robot b44bdb2be3 Merge "C++17: switch the default." 2018-11-30 08:06:02 +00:00
Jerome Gaillard 80fec097b1 Add flags for Windows assembly builds
This is necessary to build libjpeg for Windows.

Test: lunch sdk, make libjpeg
Change-Id: I6ace0e524d1d710b5ce78320e7a06777511d1634
2018-11-29 15:47:31 +00:00
Stephen Hines a4a080eb84 Merge "Support Qualcomm Kryo 385 CPU variant." am: c027b309f1 am: 8284a728de
am: cafef7bd53

Change-Id: Id670cdb14af358a11a9f5ac4a87bc787a780efad
2018-11-29 00:25:27 -08:00
Stephen Hines cafef7bd53 Merge "Support Qualcomm Kryo 385 CPU variant." am: c027b309f1
am: 8284a728de

Change-Id: I6d4166c54bf7d274db52c9fbbdbd65d25c232ddd
2018-11-29 00:13:28 -08:00
Stephen Hines 8284a728de Merge "Support Qualcomm Kryo 385 CPU variant."
am: c027b309f1

Change-Id: I69def413ca375096f37620398a44462e2779b753
2018-11-29 00:06:55 -08:00
Stephen Hines c027b309f1 Merge "Support Qualcomm Kryo 385 CPU variant." 2018-11-29 07:23:40 +00:00
Elliott Hughes c35fc0e130 C++17: switch the default.
Bug: http://b/111067277
Test: builds
Change-Id: I5065b03218772bf8cf8173f3d9808b3f0a484dc5
2018-11-28 21:45:23 -08:00
Elliott Hughes 86c7bfa9f2 Merge "Bump "experimental" C++ to C++2a." am: 4afedfadb2 am: d1ad118bbe
am: f4346985f2

Change-Id: I5da798c5eb644fa1a432db57f322c6503725b366
2018-11-28 18:16:23 -08:00
Elliott Hughes f4346985f2 Merge "Bump "experimental" C++ to C++2a." am: 4afedfadb2
am: d1ad118bbe

Change-Id: I11636172901425896137ef45834af95886580087
2018-11-28 18:12:16 -08:00
Elliott Hughes d1ad118bbe Merge "Bump "experimental" C++ to C++2a."
am: 4afedfadb2

Change-Id: Ia9a4ad9a8f479ad9c6169a96c7b8bdc03a7b6b3b
2018-11-28 18:03:15 -08:00
Elliott Hughes 37976122aa Bump "experimental" C++ to C++2a.
C++17 is so last year.

Test: treehugger
Change-Id: Ifd5e6d4a4837fe037837c49c31ee2fe1499e2d79
2018-11-28 14:16:39 -08:00
Artem Serov d3072b0c7c Support Qualcomm Kryo 385 CPU variant.
Support Kryo 385 cpu variant which should be used for
Qualcomm Snapdragon 845.

Motivation:
  kryo385 CPU *IS NOT* an Arm Cortex-A75.

Particular problem:
  Cortex-A75 CPU must support optional ARMv8.2 dot product
  feature; kryo385 CPU (Qualcomm Snapdragon 845) doesn't
  support it.

Test: Builds when kryo385 is used as cpu variant.
Test: Pixel 3 boots to GUI with kryo385 as CPU variant
      with this patch on AOSP 9.0.0 r16.

Bug: 119564566

Change-Id: I62ffb46b1977b48446c6c1ca1400b1b39f7a8457
2018-11-21 10:15:07 +00:00
mtk15504 981965fda1 Merge "Add to support armv8-2a on 2nd arch. variant" am: 4855c4f460 am: 140673036a
am: 65abdb4ccf

Change-Id: I9bf1af5efa2db0d479d77e90e859aa99a309c3a1
2018-11-13 17:24:23 -08:00
mtk15504 65abdb4ccf Merge "Add to support armv8-2a on 2nd arch. variant" am: 4855c4f460
am: 140673036a

Change-Id: I66eac86090b8e2d2ceaf3214d91c56f1117f9a2b
2018-11-13 17:16:16 -08:00
mtk15504 140673036a Merge "Add to support armv8-2a on 2nd arch. variant"
am: 4855c4f460

Change-Id: I8f41d50bdf6e0a67a76e59e1bf559476422eb5fb
2018-11-13 17:09:11 -08:00
Treehugger Robot 4855c4f460 Merge "Add to support armv8-2a on 2nd arch. variant" 2018-11-14 00:51:53 +00:00
Pirama Arumuga Nainar b28413aa47 Merge "Switch to clang-r344140b" am: 07002e0101 am: 79423121f7
am: b93dcecf53

Change-Id: If2bc5bff6867b01420cc789baf0bbdd0e8d04d3b
2018-11-13 13:03:06 -08:00
Pirama Arumuga Nainar b93dcecf53 Merge "Switch to clang-r344140b" am: 07002e0101
am: 79423121f7

Change-Id: Ic59acefeefc494c0fc7916b5a1830c87e938ea13
2018-11-13 12:56:02 -08:00
Pirama Arumuga Nainar 79423121f7 Merge "Switch to clang-r344140b"
am: 07002e0101

Change-Id: Iaef6a26cf87b64d2aa702ef68c4203e9a8a5e308
2018-11-13 12:52:22 -08:00
Pirama Arumuga Nainar 538be1f81c Switch to clang-r344140b
Bug: http://b/119270185

This prebuilt has a cherry-pick to fix PGO instrumentation.

Test: m ANDROID_PGO_INSTRUMENT=all,
      Build and boot a few devices in internal branch.
Change-Id: I97ca17fbc039a17db57b2749a1adf2ef981c5918
2018-11-13 17:21:01 +00:00
mtk15504 270ba75991 Add to support armv8-2a on 2nd arch. variant
Add arch. variant option to support cores that implement armv8-2a ISAs.

Test: set TARGET_2ND_ARCH_VARIANT := armv8-2a, build successful and 32bit app launch ok

BUG: 118414869
Change-Id: I755b8858726bd887068923123bad106aed7b1ec8
2018-11-13 16:40:38 +08:00
Chih-Hung Hsieh 94b1fe2e4c Revert "Add lld --no-rosegment flag to work with unwinder." am: 2fcac47e9d am: c23b5b56d4
am: 7d07fa514e

Change-Id: I192b74f158d886a6b95b6e5c3e9d7aab3de7e998
2018-11-12 17:40:27 -08:00
Chih-Hung Hsieh 7d07fa514e Revert "Add lld --no-rosegment flag to work with unwinder." am: 2fcac47e9d
am: c23b5b56d4

Change-Id: I957d31d1d8869f6815d430a6b57baa43e387188e
2018-11-12 16:40:08 -08:00
Chih-Hung Hsieh c23b5b56d4 Revert "Add lld --no-rosegment flag to work with unwinder."
am: 2fcac47e9d

Change-Id: I3f623e6e6fafe9031dae5bf550311ce51b54af83
2018-11-12 16:06:42 -08:00
Chih-Hung Hsieh 2fcac47e9d Revert "Add lld --no-rosegment flag to work with unwinder."
This reverts commit b18814e7a4.

Reason for revert: The originating bug is now fixed.

Test: make checkbuild
Change-Id: Iabcfbeed5977336fc27fb1ccbad269c1fa81ef6e
2018-11-12 21:09:28 +00:00
Yi Kong ee53a98e31 Remove unnecessary warning suppression
All instances of no-self-assign-overloaded warning have been fixed,
remove the suppression flag.

Test: m checkbuild
Change-Id: I70d9d6f721b36ebb5c3974893f79a09e4b1d1f4d
2018-11-09 23:09:19 +00:00
Peter Collingbourne bbdd3e81f4 Stop passing the gold plugin path to llvm-ar. am: abde584fd1 am: e4d64808a3
am: fba1664069

Change-Id: I852c0769172c6ca034903b4defc4c5b0cbdc413f
2018-11-08 22:22:37 -08:00
Peter Collingbourne fba1664069 Stop passing the gold plugin path to llvm-ar. am: abde584fd1
am: e4d64808a3

Change-Id: I0e7b39f7f91eeda21ecafd44bc214d830a42c558
2018-11-08 22:16:19 -08:00
Peter Collingbourne e4d64808a3 Stop passing the gold plugin path to llvm-ar.
am: abde584fd1

Change-Id: I29bac88f000c1e0c430c8b8651ec99e9d14939e4
2018-11-08 22:11:46 -08:00
Peter Collingbourne abde584fd1 Stop passing the gold plugin path to llvm-ar.
llvm-ar takes a --plugin argument but it is ignored for compatibility,
so passing it has no effect.

Change-Id: I4fc51d226d66cf2a43462d3d4ccc12e6e5ebb226
2018-11-08 20:13:16 -08:00
Yi Kong 584e018337 Merge "Revert "Prevent clang from using the x18 register on arm64."" am: ec2f6cba80 am: 3d317f2b24
am: 0ea551a11e

Change-Id: I94f6761877746a3f8c365956cdde6f1f8e3734ef
2018-11-08 17:54:37 -08:00
Yi Kong 0ea551a11e Merge "Revert "Prevent clang from using the x18 register on arm64."" am: ec2f6cba80
am: 3d317f2b24

Change-Id: Ieb7d9c080e287366f307392108bc2e2b84c10ea8
2018-11-08 17:46:31 -08:00
Yi Kong 3d317f2b24 Merge "Revert "Prevent clang from using the x18 register on arm64.""
am: ec2f6cba80

Change-Id: Iac8612907d9bfd38fc67392483b76233e73317d7
2018-11-08 17:42:26 -08:00
Yi Kong ec2f6cba80 Merge "Revert "Prevent clang from using the x18 register on arm64."" 2018-11-09 01:32:34 +00:00
Yi Kong 8c3c0f50d0 Revert "Prevent clang from using the x18 register on arm64."
This reverts commit 98d8580c3a.

Change no longer needed with the new LLVM toolchain update.

Bug: 112907825
Bug: 111759196
Change-Id: Ife3ce47a602dd850ac84bb51abc70c0ca157776e
2018-11-08 21:07:08 +00:00
Yi Kong c7e433d933 Merge "Update clang to r344140" am: 8a89f21746 am: 0d607467ec
am: e9190f2218

Change-Id: I718de03bd9b37b3a151b792ff38a7776e5cfc40e
2018-11-06 17:58:12 -08:00
Yi Kong e9190f2218 Merge "Update clang to r344140" am: 8a89f21746
am: 0d607467ec

Change-Id: I4c39a764b677667881e301c262f6c5298990d756
2018-11-06 17:52:22 -08:00
Yi Kong 0d607467ec Merge "Update clang to r344140"
am: 8a89f21746

Change-Id: I33b83790907fb82e8cb73370dad587d51f1e504b
2018-11-06 17:48:20 -08:00
Yi Kong 53ed59ef35 Update clang to r344140
Bug: 111759196
Test: Test various targets in AOSP and internal branches.
      For Googlers, go/clang-r344140-testing
Change-Id: I70fc5a2824de698d78c95ce2acd42eff9c5ebe15
2018-11-01 23:13:25 +00:00
Chih-hung Hsieh c29e55d439 Merge "DO NOT MERGE, Make default -Wimplicit-fallthrough as error." 2018-11-01 17:51:41 +00:00
Alex Light 87b17fe905 Merge "Remove -fno-emulated-tls from linux_bionic" am: d6bb90dc0d am: 26559baeed
am: f3040a608e

Change-Id: If2d7db22e073d4f93da602a123c2bda98b3c0325
2018-11-01 09:30:42 -07:00
Alex Light f3040a608e Merge "Remove -fno-emulated-tls from linux_bionic" am: d6bb90dc0d
am: 26559baeed

Change-Id: I6e8469b0134aa95da1eceff247422d5d16264119
2018-11-01 09:26:02 -07:00
Alex Light 26559baeed Merge "Remove -fno-emulated-tls from linux_bionic"
am: d6bb90dc0d

Change-Id: I601f6aef28d2391149e6dabd8afd93956ce3566b
2018-11-01 09:21:21 -07:00
Alex Light d6bb90dc0d Merge "Remove -fno-emulated-tls from linux_bionic" 2018-11-01 16:15:35 +00:00
Alex Light a08ae8487c Remove -fno-emulated-tls from linux_bionic
This was preventing tools using 'thread_local' from compiling and is
not needed. Bionic fully implements TLS.

Test: cd tools/dexter/slicer; mma
Bug: 31559095
Change-Id: Ib362ad8bc950726080356b61ccae83f155ce040b
2018-10-31 11:18:22 -07:00
Chih-Hung Hsieh 53390f2557 DO NOT MERGE, Make default -Wimplicit-fallthrough as error.
Other branches might still have this warning for some build targets.

Bug: 112564944
Test: make checkbuild
Change-Id: I3db52b8a60bb28861fc9ba963a7d1cd1fe49e903
2018-10-31 18:04:22 +00:00
Chih-Hung Hsieh d6022447f1 DO NOT MERGE, Make default -Wimplicit-fallthrough as error.
Other branches might still have this warning for some build targets.

Bug: 112564944
Test: make checkbuild
Change-Id: Ic2474aa4e09904c046714182bd90409def0e826d
2018-10-31 17:59:54 +00:00
Chih-Hung Hsieh a07a9e0ba4 Enable global -Wimplicit-fallthrough as default error.
Bug: 112564944
Test: make checkbuild
Change-Id: Ic2474aa4e09904c046714182bd90409def0e826d
2018-10-30 09:39:42 -07:00
Peter Collingbourne caf7f87a65 Merge "Enable safe ICF with LLD." am: 63c6361f91 am: e77fe6ac08
am: 6cfa0e453a

Change-Id: I0a67788593daef55c323c85b2e778561473c4458
2018-10-26 18:23:11 -07:00
Peter Collingbourne 63c6361f91 Merge "Enable safe ICF with LLD." 2018-10-27 00:59:55 +00:00
Rahul Chaudhry cd389d1831 Merge "Enable SHT_RELR sections to encode relative relocations." am: 33195833de am: 54a2ea815b
am: 261ebad9f7

Change-Id: Idd8de5d0ea5f5e2f4e78636c2ca7740fc5ceb888
2018-10-25 14:27:14 -07:00
Treehugger Robot 33195833de Merge "Enable SHT_RELR sections to encode relative relocations." 2018-10-25 21:02:44 +00:00
Peter Collingbourne 486e42c353 Enable safe ICF with LLD.
Support for safe ICF was added to LLD in LLVM r337429. This reduces
the size of sailfish system.img by 7.6MB.

The address-significance tables created by Clang to support LLD's
implementation of safe ICF are incompatible with ld -r. Therefore we
need to pass -fno-addrsig to the compiler to prevent it from creating
an address-significance table when building a cc_object.

Change-Id: I83e28741e6b3cdf09566447d2658ce48594f2074
2018-10-25 13:40:28 -07:00
Peter Collingbourne dcaec6c6fd Prevent clang from using the x18 register on arm64. am: 98d8580c3a am: d90423e2a6
am: 29a8c9739d

Change-Id: Ie661bcf12e5c66631e5fb599d6c19ad64a8d207f
2018-10-24 20:33:40 -07:00
Peter Collingbourne 98d8580c3a Prevent clang from using the x18 register on arm64.
This is achieved via the compiler flag -ffixed-x18 for non-LTO builds
and the linker flag -plugin-opt -mattr=+reserve-x18 for LTO builds.

This change should be reverted once we upgrade past LLVM r340889
which does this by default on Android.

Bug: 112907825
Bug: 111759196
Change-Id: I05473ddbb98319d87d442425b4d715647eae3a38
2018-10-24 23:40:49 +00:00
Dan Willemsen 2f950e31d5 Update linux_bionic configuration am: 9ff34c0ca8 am: 51bf1e3abd
am: 564c6325be

Change-Id: I7c22cc2ed89f2025e66bd2e93fb125e55c140fc7
2018-10-22 17:47:29 -07:00
Dan Willemsen 9ff34c0ca8 Update linux_bionic configuration
Add a missing toolchain method, don't require modules to opt in to
linux_bionic.

Bug: 31559095
Test: attempt to build host bionic
Change-Id: Ia5c8e2f127b88f56191b7abc389d5329cfdb0720
2018-10-22 15:46:03 -07:00
Rahul Chaudhry 1ffac8e636 Enable SHT_RELR sections to encode relative relocations.
Proposal for adding SHT_RELR sections in the generic-abi is at
https://groups.google.com/forum/#!topic/generic-abi/bX460iggiKg

This CL requires clang-r328903.

The following test results are on clang-r339409.

Size comparison for "aosp_marlin-userdebug":
$ du -B1 -s {none,pack,relr,both}/out/target/product/marlin/system
1014616064      none/out/target/product/marlin/system
1001074688      pack/out/target/product/marlin/system
1004273664      relr/out/target/product/marlin/system
1000099840      both/out/target/product/marlin/system

none contains a build with no packing (--pack-dyn-relocs=none).
pack contains a build with current settings (--pack-dyn-relocs=android).
relr contains a build with relr packing only (--pack-dyn-relocs=relr).
both contains a build with both options enabled (--pack-dyn-relocs=android+relr).

With --pack-dyn-relocs=android+relr, lld will encode the relative
relocations in a SHT_ANDROID_RELR section, and pack the rest of
the dynamic relocations in a SHT_ANDROID_REL(A) section.

--pack-dyn-relocs=android was saving us 13,541,376 bytes (1.35%) (none - pack).
--pack-dyn-relocs=relr will save us 10,342,400 bytes (1.03%) (none - relr).
--pack-dyn-relocs=android+relr is saving us 14,516,224 bytes (1.45%) (none - both).

Size comparison for the "system/bin" directory:
$ du -B1 -s {none,pack,relr,both}/out/target/product/marlin/system/bin
29413376        none/out/target/product/marlin/system/bin
28319744        pack/out/target/product/marlin/system/bin
28258304        relr/out/target/product/marlin/system/bin
28180480        both/out/target/product/marlin/system/bin

--pack-dyn-relocs=android was saving us 1,093,632 bytes (3.72%) (none - pack).
--pack-dyn-relocs=relr will save us 1,155,072 bytes (3.93%) (none - relr).
--pack-dyn-relocs=android+relr is saving us 1,232,896 bytes (4.19%) (none - both).

Bug: None
Test: Built aosp_marlin-userdebug image, boots on device.
Test: Built aosp_x86_64-userdebug image, boots in emulator.
Change-Id: Ibb726c3b9d87688f387a7f2974fdae9bfc24efc9
2018-10-22 20:29:39 +00:00
Logan Chien 6e7d60ef8e Merge "Remove flags from ClangLibToolingUnknownCflags" am: 0b6bcd4014 am: aceb86e345
am: 99f21f683c

Change-Id: I4e8ef3471689c4f7183f9068a0a02ec9c1ecc622
2018-10-17 03:18:48 -07:00
Logan Chien aceb86e345 Merge "Remove flags from ClangLibToolingUnknownCflags"
am: 0b6bcd4014

Change-Id: I7f7e9e80052e748c1d92f46fee4552c1b4a45a2b
2018-10-17 03:08:54 -07:00
Logan Chien 0b6bcd4014 Merge "Remove flags from ClangLibToolingUnknownCflags" 2018-10-17 09:46:26 +00:00
Logan Chien 61f2d11e75 Remove flags from ClangLibToolingUnknownCflags
This commit removes flags from ClangLibToolingUnknownCflags.  These
flags were added to workaround an old version of clang in
`external/clang`.  Since we have updated to clang-r339409b, we don't
need these workaround anymore.

Bug: 117764794
Test: development/vndk/tools/header-checker/utils/create_reference_dumps.py
Change-Id: Ifbeebf05df5c08ee3bb7d489f39250d8fd5f5acf
2018-10-16 17:52:12 +08:00
Haibo Huang 566ff6d0da Merge "Add support for cortex-a76 in soong" am: 2bfa2c852c am: 3df2d5986a
am: c7c161750d

Change-Id: I1336295b609ec5fb0536ecb844e478539708c803
2018-10-15 14:38:58 -07:00
Haibo Huang 3df2d5986a Merge "Add support for cortex-a76 in soong"
am: 2bfa2c852c

Change-Id: Ieabcb61634e3e60f26589837b8c0d3c29d072371
2018-10-15 14:15:52 -07:00
Haibo Huang a31e2bda89 Add support for cortex-a76 in soong
Bug: 117125298
Test: Change a device to be A76 and build
Change-Id: Iae0773d54e57b247c818d44f8044180d5a3f95a8
2018-10-12 23:55:38 +00:00
Kostya Kortchinsky 934f156fac Merge "Scudo minimal runtime support for Soong" am: d054c225fb am: b03b69be6d
am: c0d2ca05a7

Change-Id: Idcc681379e1c7dd045137177ab60672ec37a0177
2018-10-12 10:13:25 -07:00
Kostya Kortchinsky b03b69be6d Merge "Scudo minimal runtime support for Soong"
am: d054c225fb

Change-Id: Ia506665582e4668d6ca29d1a1680c889844a95d1
2018-10-12 10:03:30 -07:00
Kostya Kortchinsky d054c225fb Merge "Scudo minimal runtime support for Soong" 2018-10-12 16:49:31 +00:00
Kostya Kortchinsky ad73b2e18a Scudo minimal runtime support for Soong
Scudo is now compatible with the -fsanitize-minimal-runtime, and offers a new
dynamic library that doesn't bundle UBSan.

This patch adds support for this new library in Soong, preferring it over the
full one, unless a UBSan or diagnostic dependency is found.

Test: aosp compiled with m -j
Test: local test enabling Scudo for tombstoned
Change-Id: I17794131db148b33f8a8710ac43302cadf1af314
2018-10-11 11:55:16 -07:00
Pirama Arumuga Nainar 5de98d2295 Merge changes from topic "windows-libcxx" am: f4ecf76b2d am: 2985a30e1e
am: 35e18e1daf

Change-Id: I71c86b830fbddd699f3cdbf9aa49a0f4d8816f79
2018-10-11 11:07:45 -07:00
Pirama Arumuga Nainar a84f58f1fc Change STL for Windows to libc++. am: a403cc7254 am: 5f193cb677
am: f0fbdb2741

Change-Id: I8dfba36aded6eb40217f7c3bb9cbcd01844429a5
2018-10-11 11:07:29 -07:00
Pirama Arumuga Nainar 1db6e92add Merge "Switch to clang-r339409b" am: 3558470d28 am: 6048e3c52d
am: a3acc7a84a

Change-Id: Ifd9dc9f843f9c579094c3bb1654678edc58bb458
2018-10-11 11:06:58 -07:00
Pirama Arumuga Nainar 2985a30e1e Merge changes from topic "windows-libcxx"
am: f4ecf76b2d

Change-Id: I9bc7c290899afe5aa6e15730ae812e23ed665c16
2018-10-11 10:22:26 -07:00
Pirama Arumuga Nainar 5f193cb677 Change STL for Windows to libc++.
am: a403cc7254

Change-Id: Ieb1487d7c6dcc200ca0cf1dafa10378803de6b05
2018-10-11 10:22:08 -07:00
Pirama Arumuga Nainar 6048e3c52d Merge "Switch to clang-r339409b"
am: 3558470d28

Change-Id: I75a339f7cc25227a8e709b6267dbeb8797353d22
2018-10-11 10:21:36 -07:00
Pirama Arumuga Nainar f4ecf76b2d Merge changes from topic "windows-libcxx"
* changes:
  Remove --allow-multiple-definitions for 32-bit Windows
  Change STL for Windows to libc++.
2018-10-11 17:00:53 +00:00
Dan Willemsen 6c471a5157 Remove GCC-specific toolchain methods am: bd4abf5dfc am: dc1b833df0
am: 3e16a493a4

Change-Id: Ib5459551f43b1a0ec591f12d955cf2624aa13d7e
2018-10-10 21:10:35 -07:00
Pirama Arumuga Nainar 8fd5a96959 Remove --allow-multiple-definitions for 32-bit Windows
Bug: http://b/109759970
Bug: http://b/91353691

There are no multiple-defintion errors after switching to clang-r339409
and libc++.

Test: m native-host-cross
Change-Id: I5576b3894ed1d88c9b2e5f4d92e1d3bfadfb029b
2018-10-10 20:10:15 +00:00
Pirama Arumuga Nainar a403cc7254 Change STL for Windows to libc++.
- Stop including libstdc++ headers.
- '-pthread' and 'static-libgcc' are unused when we pass -nodefaultlibs.
We didn't pass -nodefaultlibs for libstdc++.
- Use SjLj exceptions for 32-bit.  libgcc_eh implements SjLj exception
model for 32-bit.
- Disable visibility annotations for libcxx and libcxxabi since we are
only going to support these as static libraries.
- Use Win32 threads.  MinGW pthreads throws an error when building
libcxx since it's pthread_mutex_initializer is not constant (needs a
cast).
- Link libgcc_eh, which needs pthread, which in turn depends on
kernel32.  Wrap the libraries with --start-group and --end-group and
remove duplicates.

Test: Build and test Windows binaries under Wine.

Change-Id: I8be51b004585e11ef51b7d5012f2a51330d1260f
2018-10-10 20:09:37 +00:00
Pirama Arumuga Nainar 14b3cb0ab3 Switch to clang-r339409b
Bug: http://b/117499735

Test: clang-tools build, AOSP taimen build and TH
Change-Id: I9fada181e2cb85e65c66672f870b59e8da0be9ce
2018-10-10 18:38:11 +00:00
Dan Willemsen dc1b833df0 Remove GCC-specific toolchain methods
am: bd4abf5dfc

Change-Id: Iaea003158a8fddcd73eee1dcc2c7803687a15e71
2018-10-09 22:46:52 -07:00
Dan Willemsen bd4abf5dfc Remove GCC-specific toolchain methods
Test: m
Change-Id: I06442347ade2d60bc42131b3126ecc17840c9e31
2018-10-09 19:44:54 -07:00
Dan Willemsen 6e9fe7c6ec Merge "Restore lld parts of "Remove cortex-a53 linker workaround for new cpus.""
am: 55e095b6d8

Change-Id: I8f9d87561e02ffbeb0aae0f9435ad971c9bc1e2f
2018-10-09 16:26:41 -07:00
Dan Willemsen e28663fb28 Restore lld parts of "Remove cortex-a53 linker workaround for new cpus."
https://android-review.googlesource.com/c/platform/build/soong/+/689585
added, but was skipped going into pi-dev-plus-aosp, as the pi-dev
version (which did not have these lld bits) was already merged there.
When pi-dev-plus-aosp was pushed to aosp-master, this got lost.

Merged-In is a random git_master change, since this needs to go
into pi-dev-plus-aosp too, but no further.

Bug: 78133793
Test: git diff aosp-master..master -- cc/config/arm64_device.go
Change-Id: Iea69a2c040d11249e43a76a78859944274ce6a92
Merged-In: I7799feac522a1097ec4271bd7868cd6bfe147ad9
2018-10-09 14:44:46 -07:00
Dan Willemsen 82492fd962 Remove GCC checks am: 8536d6b3b7 am: 5d7598005a
am: d79e452db2

Change-Id: Ia24dbb7cea1df37eeec2b4b1d6c6d110629607c7
2018-10-08 19:43:01 -07:00
Dan Willemsen 5d7598005a Remove GCC checks
am: 8536d6b3b7

Change-Id: I1ba28f29238db813a683169a6113baea33095f4c
2018-10-08 19:34:53 -07:00
Dan Willemsen 8536d6b3b7 Remove GCC checks
Clang is always used now, so we can remove all the GCC checks. Removing
GCC-specific configuration will happen in the next CL.

Test: m
Change-Id: I4835ecf6062159315d0dfb07b098e60bff033a8a
2018-10-09 02:16:58 +00:00
Chih-Hung Hsieh be96981cd9 Merge "Add default -Wimplicit-fallthrough." am: 230e4c77a5 am: cfba3658f4
am: 20249a7a1a

Change-Id: I7ba99728d04f6b67d0b635a5173f0422ee94d802
2018-10-08 18:10:44 -07:00
Chih-Hung Hsieh cfba3658f4 Merge "Add default -Wimplicit-fallthrough."
am: 230e4c77a5

Change-Id: I15e7cbf40722360d91cafc196e4a9a908338df56
2018-10-08 18:02:54 -07:00
Chih-Hung Hsieh bd783f13c1 Add default -Wimplicit-fallthrough.
After we fix all existing such warnings, it can be changed to an error.

Bug: 112564944
Test: make checkbuild
Change-Id: I61ee3a24a3f992ef018cfe6c995e957416551183
2018-10-08 22:12:35 +00:00
Chih-hung Hsieh 3ffd659d58 Merge "Revert "Disable performance-noexcept-move-constructor check."" am: 66ee92f3c1 am: 88eb6873f5
am: 651276f4f4

Change-Id: I3f4ec34b03fc64a2f0fa67bffef8c9a8fad96b55
2018-10-05 16:40:50 -07:00
Chih-hung Hsieh 88eb6873f5 Merge "Revert "Disable performance-noexcept-move-constructor check.""
am: 66ee92f3c1

Change-Id: I5c5636b8194b13fc54bb4fdaf58c40c5b39fce11
2018-10-05 16:15:34 -07:00
Treehugger Robot 66ee92f3c1 Merge "Revert "Disable performance-noexcept-move-constructor check."" 2018-10-05 23:01:46 +00:00
Chih-hung Hsieh fac4eec15e Revert "Disable performance-noexcept-move-constructor check."
This reverts commit 1b5470afe1.

Reason for revert: Most of these warnings were fixed.

Change-Id: I63ada2b7d6f3d6a446a8fbfc9221dee668c7a30b
2018-10-05 18:45:06 +00:00
Pirama Arumuga Nainar f99717382a Remove --allow-multiple-definion linker flag for 64-bit Windows am: b83de950e7 am: b56f1e22a7
am: 7eb91e636f

Change-Id: Ie2df1fcc920a0835597bac4cead8aac0e4ef1b98
2018-10-03 14:15:29 -07:00
Pirama Arumuga Nainar b56f1e22a7 Remove --allow-multiple-definion linker flag for 64-bit Windows
am: b83de950e7

Change-Id: Iff346710722c019a059639b99fd61866833741e2
2018-10-03 14:03:08 -07:00
Pirama Arumuga Nainar b83de950e7 Remove --allow-multiple-definion linker flag for 64-bit Windows
Bug: http://b/109759970

r335286 fixed this for 64-bit Windows.  This remains broken for 32-bit
Windows.

Test: m native-host-cross
Change-Id: I4d11b83d51db055406c6723aad89efd1b86b9b7b
2018-10-03 11:40:23 -07:00
Stephen Hines 11a5326718 Merge "Switch to clang-r339409." am: ee15f2a7c7 am: f4fe6300e6
am: 0d4428935d

Change-Id: I0e5e63749ffcb5b9ca7acb2380a6be769910211d
2018-10-01 09:41:37 -07:00
Stephen Hines f4fe6300e6 Merge "Switch to clang-r339409."
am: ee15f2a7c7

Change-Id: Ic7de9d629900ce71315029a82f32a89a11c730be
2018-10-01 09:20:41 -07:00
Stephen Hines c91ab9eb6d Switch to clang-r339409.
This also changes over llvm-strip to use the -o flag, rather than
relying on nonstandard (and no longer functional) positional arguments.

Bug: http://b/111998531
Test: Multiple new builds. For googlers - http://go/clang-r339409-testing
Change-Id: I8c82d06304af24a001e6552e36e2f540d8e364ce
2018-09-26 21:15:08 +00:00
Pirama Arumuga Nainar b7d5c895c5 Merge "GccCppStdVersion should not be needed anymore" am: e12f5e23c2 am: 783591182e
am: 267003d878

Change-Id: Idab4586e89504797cc44bb3c97ea26c1d94ce1eb
2018-09-26 13:43:44 -07:00
Pirama Arumuga Nainar 783591182e Merge "GccCppStdVersion should not be needed anymore"
am: e12f5e23c2

Change-Id: I5ad9f5f976faa0ba52c87b64bd82275c65e54bf9
2018-09-26 13:32:27 -07:00
Treehugger Robot e12f5e23c2 Merge "GccCppStdVersion should not be needed anymore" 2018-09-26 20:19:01 +00:00
Chih-Hung Hsieh 214d79ad95 Merge "Disable performance-noexcept-move-constructor check." am: 0d565c1afa am: 4bea350243
am: b7d21ab208

Change-Id: I7bf4c4e8130456b7e1170526c93bc9fe6861ec6e
2018-09-25 15:10:33 -07:00
Chih-Hung Hsieh 4bea350243 Merge "Disable performance-noexcept-move-constructor check."
am: 0d565c1afa

Change-Id: If7fc844e8225184e963b8da3dc56f313dcad4264
2018-09-25 14:29:01 -07:00
Pirama Arumuga Nainar 43cfe82174 GccCppStdVersion should not be needed anymore
Test: Build
Change-Id: I2cd16deed269fb40a59754dec94b376383346bf0
2018-09-25 21:27:45 +00:00
Chih-Hung Hsieh 1b5470afe1 Disable performance-noexcept-move-constructor check.
This reduces amount of warnings in default builds,
until we add noexcept to those move constructors.

Bug: 116614593
Test: build with WITH_TIDY=1
Change-Id: Iaa9e9480dbc72a7370ccbe10ed232b87dc8d6184
2018-09-25 20:25:57 +00:00
Richard Fung 04e0e2a6e2 Merge "Add support for cortex-a72" am: 3013361546 am: 82b39d59df
am: 9092573561

Change-Id: Ieb11fd5385eb6e4f3a800357b08912af6d82daab
2018-09-25 08:46:52 -07:00
Richard Fung 82b39d59df Merge "Add support for cortex-a72"
am: 3013361546

Change-Id: I1add4a9a88d4a840d9ab699f3e8d53780f849441
2018-09-25 08:35:18 -07:00
Richard Fung eb37ed3832 Add support for cortex-a72
Bug: 113346253
Test: lunch cheets_arm64-eng; m
Change-Id: I02dd1cfe75f97767eac7424d472ff643987c276b
2018-09-24 16:33:45 -07:00
Chih-Hung Hsieh 9ded29c06a Use WITH_TIDY_FLAGS env variable. am: 9e5d8a60e2 am: 0a4427da81
am: 047e20fd15

Change-Id: I4587139624346644cc5b871628a47bdf7c044f62
2018-09-21 17:51:06 -07:00
Chih-Hung Hsieh 0a4427da81 Use WITH_TIDY_FLAGS env variable.
am: 9e5d8a60e2

Change-Id: I42b0ba1ee10ab4a3290b355c40009081ed101376
2018-09-21 17:40:53 -07:00
Chih-Hung Hsieh 9e5d8a60e2 Use WITH_TIDY_FLAGS env variable.
This variable is a space separated string of clang-tidy flags to be passed
to clang-tidy before any other system required extra flags.
Note that when this flag or local tidy_flags is defined,
the default -header-filter flag is suppressed.

Test: make with WITH_TIDY=1 WITH_TIDY_FLAGS="-extra-arg=-DABCD1=1 -extra-arg=-DABCD2=2"
Bug: 32668284
Change-Id: If7bd31c65404ef7fe6c3499d51f0f209a704efd9
2018-09-21 15:19:24 -07:00
Chih-Hung Hsieh e91b0e904f Use DEFAULT_TIDY_HEADER_DIRS env variable. am: 60bd4bf079 am: 5e669eff0a
am: f01b743274

Change-Id: I936dbf777a85d282ba795e6e2cc8b98b74ad27c8
2018-09-21 12:35:16 -07:00
Chih-Hung Hsieh 5e669eff0a Use DEFAULT_TIDY_HEADER_DIRS env variable.
am: 60bd4bf079

Change-Id: I4c34db5d306beb15cf8160aa905c06b8459ea8f6
2018-09-21 12:26:07 -07:00
Chih-Hung Hsieh 60bd4bf079 Use DEFAULT_TIDY_HEADER_DIRS env variable.
This variable is a regular expression to be passed as
additional patterns to the -header-filter flag for clang-tidy.
For example, when make with WITH_TIDY=1 DEFAULT_TIDY_HEADER_DIRS="d1/d2|mydir/*"
for a project in external/xyz, clang-tidy will be called with additional flag
  -header-filter=\"(external/xyz|d1/d2|mydir/*)\"

Test: make with WITH_TIDY=1 DEFAULT_TIDY_HEADER_DIRS="d1/d2|mydir/*"
Bug: 32668284
Change-Id: I6051f4f80bc6dbab882bd81435ccbc772772ac63
2018-09-21 10:34:25 -07:00
Dan Willemsen 9c31842694 Merge "Remove GCC support from Make" am: 2f7e3bb4d0 am: d877b27eea
am: 89800d6515

Change-Id: I2bb6fde740b39b404791e1befb19a68af020a3a2
2018-09-06 21:30:14 -07:00
Dan Willemsen d877b27eea Merge "Remove GCC support from Make"
am: 2f7e3bb4d0

Change-Id: I32d17dca901bfc7b32f9305fee63f3ebbb58835a
2018-09-06 19:58:11 -07:00
Dan Willemsen f640dbcd1f Remove GCC support from Make
We need to keep support in Soong until toolchain_library no longer uses
GCC.

Test: out/build-aosp_arm64.ninja is the same before/after
Test: build_test on downstream branches
Change-Id: Ib78bcd6d5544afc3a3164f65fa72a3f08b2acf29
2018-09-06 22:37:54 +00:00
Yi Kong 408d728a4b Merge "Add BuiltinsRuntimeLibrary" am: e944600978 am: ec11aef9cd
am: aa1cc656be

Change-Id: I1943402a67c29a427f2a580143f64fd8f502e7ea
2018-08-31 18:30:00 -07:00
Yi Kong ec11aef9cd Merge "Add BuiltinsRuntimeLibrary"
am: e944600978

Change-Id: I009085ecc3b340db8a92154ead624c5059ffdcdc
2018-08-31 17:45:16 -07:00
Yi Kong 924adc4d17 Add BuiltinsRuntimeLibrary
... and rename SanitizerRuntimeLibrary to LibclangRuntimeLibrary since
some of them are not sanitizers.

Bug: 29275768
Test: m
Change-Id: Id638adea42d22b02438fce26120aa155bea14d42
2018-08-31 14:53:54 -07:00
Pirama Arumuga Nainar 75ff1c8a2e Use Windows security mitigation features: ASLR, DEP am: 191f646295 am: ecdcb62d22
am: d30ca33891

Change-Id: Ieb47304ca5480041973cbe72ec5ac2bda6d9e110
2018-08-30 16:57:15 -07:00
Pirama Arumuga Nainar ecdcb62d22 Use Windows security mitigation features: ASLR, DEP
am: 191f646295

Change-Id: Ie182452ca1ac3a9fb959fd887421763445c646e4
2018-08-30 16:21:36 -07:00
Pirama Arumuga Nainar 191f646295 Use Windows security mitigation features: ASLR, DEP
Bug: https://issuetracker.google.com/36952278
Bug: http://b/113171785

From
https://android-review.googlesource.com/c/platform/system/core/+/737292:

The --dynamicbase linker flag enables use of Address Space Layout
Randomization (ASLR) on Windows Vista and newer. It causes the code
segment / module to be loaded at unpredictable addresses to make
exploits harder to construct.

The --nxcompat linker flag enables use of Data Execution Protection
(DEP) on Windows XP SP2 and newer. It causes the process to be killed if
the process tries to execute code on memory pages not marked executable.
This makes exploits harder to construct because the stack is then not
executable, other data pages aren't, etc.

These bits are already set on AdbWinApi.dll and AdbWinUsbApi.dll.

--high-entropy-va provides improved ASLR.

Credit: Spencer Low for doing the initial work at
https://android-review.googlesource.com/c/platform/system/core/+/737292.

Test: Verify that DLLCharacteristics reported by 'objdump -x' is:
      0x140 for 32-bit and 0x160 for 64-bit.  Also verified trivial use
      cases under Wine.

Change-Id: I1b898cd36c7c627916dae9ce7dfd1c27de1e3c59
2018-08-30 12:54:33 -07:00
Dan Willemsen 10f64f46e0 Clean up darwin cc toolchain am: e97e68a05a am: d83ba979f4
am: 3bf591302a

Change-Id: I913f6a42cd31ae62ac7ac323f3411775b1c81282
2018-08-28 21:32:17 -07:00
Dan Willemsen d83ba979f4 Clean up darwin cc toolchain
am: e97e68a05a

Change-Id: I3adf41a6b8eab2bee60c518fb9465ad70de9d9e5
2018-08-28 21:24:07 -07:00
Dan Willemsen e97e68a05a Clean up darwin cc toolchain
Remove the ability for Soong to build 32-bit darwin code. We've already
disabled this in Make, this is just removing the unused bits in Soong
and simplifing the toolchain config.

Test: m host
Test: build/soong/scripts/build-ndk-prebuilts.sh
Change-Id: I968c5d98bdf162297d639f7988918dadb7ba6e07
2018-08-28 20:08:50 -07:00
Dan Willemsen 727ea14740 Merge "Support Mac 10.14 SDK" am: 6dcc81c3c6 am: 58f6fed8e2
am: cb08371033

Change-Id: I2985956a6f315ce720b4c854c283644778929a02
2018-08-28 19:13:03 -07:00
Dan Willemsen 58f6fed8e2 Merge "Support Mac 10.14 SDK"
am: 6dcc81c3c6

Change-Id: I0231c56f893d13be29a571669df7604f91a5873f
2018-08-28 19:04:43 -07:00
Treehugger Robot 6dcc81c3c6 Merge "Support Mac 10.14 SDK" 2018-08-29 01:53:42 +00:00
Dan Willemsen 5a050c0183 Support Mac 10.14 SDK
Now that we don't compile 32-bit binaries, this seems to work, at least
in Xcode 10 beta 6.

Test: m checkbuild host
Change-Id: I61a98a3c31b331d6d01cd633f8d949fad86047cb
2018-08-28 16:48:45 -07:00
Chih-hung Hsieh 72d28f8866 Merge "Define PATH_TO_CLANG_TIDY_SHELL for build/make rules." am: 4b42edbca0 am: 4cef9cbbad
am: 61838fa379

Change-Id: I9ae6f802acb78f2d43708d74691b6a879fa08158
2018-08-28 13:39:49 -07:00
Chih-hung Hsieh 4cef9cbbad Merge "Define PATH_TO_CLANG_TIDY_SHELL for build/make rules."
am: 4b42edbca0

Change-Id: Ie19f560057ef5d3e2ef0671e8af42dd3d1261626
2018-08-28 12:21:36 -07:00
Chih-Hung Hsieh b699c43f89 Define PATH_TO_CLANG_TIDY_SHELL for build/make rules.
* PATH_TO_CLANG_TIDY_SHELL is ${config.ClangTidyShellPath},
  wich is "build/soong/scripts/clang-tidy.sh"

Bug: 110538415
Test: build with WITH_TIDY=1
Change-Id: I27d7be095c998583fa9ad4d705aa1332bd018140
2018-08-27 16:19:59 -07:00
Chih-Hung Hsieh 3951f37eb9 Remove flto dependent flags when -flto is removed. am: 9e88ba9f22 am: 1cc0227af2
am: e4988b18b1

Change-Id: Ia98013a21a28c1fa93e67b13eb1b32e870cb0d00
2018-08-24 13:29:02 -07:00
Chih-Hung Hsieh 1cc0227af2 Remove flto dependent flags when -flto is removed.
am: 9e88ba9f22

Change-Id: I174a627fe877f66b81ae889a82eefadff8216dc4
2018-08-24 12:53:01 -07:00
Chih-Hung Hsieh 9e88ba9f22 Remove flto dependent flags when -flto is removed.
* C++ source files could be compiled with "-fwhole-program-vtables"
  in cppflags. We need to filter out those flto dependent flags
  in flags.CppFlags and use flags.toolingCppFlags instead of
  flags.cppFlags.

Test: build with WITH_TIDY=1
Change-Id: Ic2b0f99b95a5f0422f879226e6f6060cab71456a
2018-08-24 18:42:22 +00:00
Chih-hung Hsieh d1529cc8c8 Merge "Add clang-tidy.sh to filter out troublesome flags." am: a644fbfa2c am: 5761ca65c6
am: fe3c034ba3

Change-Id: I19ba4c703b25d7ee7e6b96f9ef1ee96876d567a1
2018-08-23 15:43:21 -07:00
Chih-hung Hsieh 5761ca65c6 Merge "Add clang-tidy.sh to filter out troublesome flags."
am: a644fbfa2c

Change-Id: I79f64979576431e85d6196110615450da1c4eea3
2018-08-23 15:34:55 -07:00
Chih-Hung Hsieh a7aa958e6e Add clang-tidy.sh to filter out troublesome flags.
* Some flags are accepted by clang but not clang-tidy.
  They could cause the diagnostic-unused-command-line-argument warning.
  Flag -flto messed up the -I flags.
* Add clang-diagnostic-unused-command-line-argument to
  default clang-tidy checks.
* Move CLANG_TIDY_UNKNOWN_CFLAGS to build/make/core/clang/tidy.mk.

Bug: 111850071
Bug: 111885396
Test: build with WITH_TIDY=1
Change-Id: Iabeeb27715acf83ef6aafe3e77206b9a01a0d889
2018-08-22 09:21:45 -07:00
Evgenii Stepanov dedb4547a7 Merge "Add "hwaddress" sanitizer." am: 9b4f9afbaf am: 72a8984921
am: a70dcb583b

Change-Id: I156fc7a0e86863447ac6eb0faa4888102c7c1dab
2018-08-20 18:05:41 -07:00
Evgenii Stepanov 72a8984921 Merge "Add "hwaddress" sanitizer."
am: 9b4f9afbaf

Change-Id: I163b6cbcf9c14ee6fd7a55b86f5db642abe52d0a
2018-08-20 17:11:00 -07:00
Evgenii Stepanov d97a6e9483 Add "hwaddress" sanitizer.
This is a new sanitizer similar to ASan, but with a few differences
from the build system perspective:
* Only runs on AArch64.
* Supports static binaries.
* Bionic itself will be built with HWASan.
* Does not have any "if a library is sanitized than the binary must
  be, too" requirements unlike ASan. Even better, individual static
  libraries can be freely sanitized or not. We propagate "nosanitize"
  from binaries to static libraries anyway, because otherwise there
  is no good way to disable hwasan on a binary as a whole.

Same a CFI, we export a list of sanitized static libraries to make.
In fact, we export separate lists for vendor and regular libraries,
because it is possible for one to be sanitized without the other
(i.e. there can be mylib.hwasan.vendor w/o mylib.hwasan or vice
versa).

Bug: 112438058, 112709969
Test: manual, part of a bigger patch set

Change-Id: Ie4fdeb522ac03cf9684526882e84dfee3807b6a7
2018-08-16 13:18:47 -07:00
Logan Chien 80cc2dd77c Merge "Remove LinuxClangCppflags" am: 7a1d4418d6 am: dc9321b257 am: 42cf4b8715
am: 3a0e5c2101

Change-Id: I94e3cec08573027f22454c1cf2738a2926b6b1cf
2018-07-31 11:08:46 -07:00
Logan Chien 42cf4b8715 Merge "Remove LinuxClangCppflags" am: 7a1d4418d6
am: dc9321b257

Change-Id: I0988dcf773d249db6b636c936bc4b6b05e79f686
2018-07-31 11:00:34 -07:00
Logan Chien dc9321b257 Merge "Remove LinuxClangCppflags"
am: 7a1d4418d6

Change-Id: I5507797e2ff5e7c08b9dfd1d04d15d29c290ac69
2018-07-31 10:56:27 -07:00
Logan Chien 7a1d4418d6 Merge "Remove LinuxClangCppflags" 2018-07-31 17:51:17 +00:00
Logan Chien bef00a2c52 Remove LinuxClangCppflags
This commit removes LinuxClangCppflags.  Adding these `-isystem` flags
results in build failures when we build a module with `libc++_host`.
Furthermore, these headers are not being used anymore.

Bug: 111579848
Test: make checkbuild  # on aosp and internal
Change-Id: Ideca268431d9d60d383e3e5b7bb3f73ece416bd2
2018-07-31 01:45:00 +08:00
Chih-Hung Hsieh 2ad90b78ee Do not pass -flto dependent flags to clang-tidy. am: ff7cff7268 am: 9e7e09b77a am: bafbeac702
am: 24312f8146

Change-Id: I54e2de94b516bc06218d2bc3c43170f40f9672da
2018-07-26 20:31:14 -07:00
Chih-Hung Hsieh bafbeac702 Do not pass -flto dependent flags to clang-tidy. am: ff7cff7268
am: 9e7e09b77a

Change-Id: Ia26281d74e74cb4aa6f111e2273a012e9a266350
2018-07-26 20:23:10 -07:00