summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-03-31Kick the build.HEADndk-r25cndk-r25bndk-r25-beta4ndk-r25-beta3ndk-r25-beta2ndk-r25-beta1ndk-r25ndk-r24-rc1ndk-r24-beta2ndk-r24-beta1ndk-r24ndk-r23cndk-r23bndk-r23-beta6ndk-r23-beta5ndk-r23-beta4ndk-r23-beta3ndk-r23-beta2ndk-r23-beta1ndk-r23ndk-r22-beta1ndk-r22ndk-release-r23ndk-release-r22ndk-r25-releasendk-r24-releasemastermainllvm-r487747llvm-r450784llvm-r416183llvm-r399163bllvm-r383902bbusytown-mac1010-releasebusytown-mac1008-releaseDan Albert
Change-Id: Iaf0796b9d004c82009085509aac2106e7244d53c
2020-03-30Kick the build.Dan Albert
Change-Id: I88784087b6c297cc082150e150d2f80387fe3772
2020-03-16Hopefully fix Yosemite build.Dan Albert
Test: fiddling with the compiler on 10.14 Bug: None Change-Id: Ica05b6faae405bc3007d9110a58f7c20adc40d71
2020-03-13Kick the build.Dan Albert
Test: None Bug: None Change-Id: I787ba2cd841737bc16f0918ddaff11fb0f32defe
2020-03-11Fix macOS version check.Dan Albert
This is Python 3... Test: None Bug: None Change-Id: Idcfd754036015b1c4a7ca7fa5de101512cdf684c
2020-03-10Configure macOS targets depending on OS.Dan Albert
I've added separate builds for our 10.8 and 10.10 machines while we work out our 10.10 build issues. Unfortunately the 10.10 machines can't build for 10.8 and the 10.8 machines can't build for 10.9, so we need to handle them differently. Test: None Bug: None Change-Id: I6df3d8a663ccb214e3b829cd158e1d10ddb6a037
2020-03-10Kick the build.Dan Albert
Test: None Bug: None Change-Id: I6759543b2ea3fbf9146014e4b112ffbb6ceecff9
2020-03-09Back to 10.8.Dan Albert
Get a green build to use as comparison. Test: None Bug: None Change-Id: I94eb0498014e25f5a08c82cb754d7de5179b8dd2
2020-03-09Copy logs to dist directory even on success.Dan Albert
Hard to figure out what's failing when we don't know what success looks like... Test: None Bug: None Change-Id: I567eda8750ee2ff4059fe00f927718158672e3ce
2020-03-06Attempt to fix build on macOS 10.10.Dan Albert
GCC (our GCC, anyway) always prints a warning to stderr on newer versions of macOS. Disable stderr checking in AC_CHECK_HEADERS for Mac. Test: autoconf, treehugger Bug: None Change-Id: If22e92928f8f9fa4abebff5a4640fc118e293088
2020-03-05Preserve any config logs on failure.Dan Albert
Test: replaced cc with ar, saw logs in dist dir Bug: None Change-Id: I5a20387d738290975188cb9cfbc14c74e2e07420
2020-03-04Update macOS deployment target to 10.9.Dan Albert
Targeting 10.9 from a 10.10 bot is the configuration the NDK is currently using. It seems that to update to anything newer we probably need to change how we're configuring binutils. I think this is related to the fact that `xcode-select --install` no longer installs the sysroot to /usr/local/include, and that's probably what our old GCC prebuilts are expecting. Bug: http://b/143105198 Test: None Change-Id: I70aff99e82b5f856037d9859b74dbabe2fe4853f Exempt-From-Owner-Approval: janitorial
2020-03-02Fix build, hopefully.Dan Albert
The build server we're currently on doesn't have anything newer than a 10.8 SDK. Test: build servers Bug: None Exempt-From-Owner-Approval: build fix Change-Id: I3260303505b0e6c30d5b9d7d16c6f9abb9af3303
2020-02-27Update the macOS deployment target to 10.10.Dan Albert
Test: None Bug: http://b/143105198 Exempt-From-Owner-Approval: janitorial Change-Id: Ibbb0e4616aeaaa6cc9151b07e49abf40acab8dca
2020-02-26Kick the build.Dan Albert
Test: None Bug: None Change-Id: I6ccaaae25e6d11be0a3e59b9951ca945a286648d
2020-02-25Kick the build.Dan Albert
Test: None Bug: None Change-Id: Ibc80455fe8345e79b43807f83e7071369949a894
2020-02-20Kick the build.Dan Albert
Test: None Bug: None Change-Id: I219d884c29a8d73f92a77ec930bed30a9e3a04e4
2019-09-20Fix bug for copying winpthread on Windows.ndk-r21endk-r21dndk-r21cndk-r21bndk-r21-rc1ndk-r21-beta2ndk-r21-beta1ndk-r21ndk-release-r21llvm-r365631Dan Albert
This was broken when I changed this API. ld can't be run from the arch-specific bin directory because this is missing. Test: Build, check that winpthread is copied Bug: None Change-Id: Ia01e88624b0e66edc5563c931bdfbea174d2a131
2019-08-08PT_LOAD and PT_GNU_RELRO segment overlapPirama Arumuga Nainar
Commit 325ba6fb34 excluded degenerate zero length PT_LOAD segments, but that only fixed part of the problem, which was that the load segment limits were not calculated properly. PR 22845 * elf.c (IS_TBSS): Define. (_bfd_elf_map_sections_to_segments): Use IS_TBSS. (assign_file_positions_for_non_load_sections): Revert last change. Properly calculate load segment limits to compare against relro limits. This change is backport of dbc88fc14992c556b94e77de563a8f7abcb0b653 - https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=dbc88fc14992c556b94e77de563a8f7abcb0b653 to binutils-2.27. Bug: http://b/135627985 Change-Id: I793d6b1c8082bef1b1c46662d194790d5e7d7577
2019-08-08Ignore degenerate PT_LOAD segmentsPirama Arumuga Nainar
Fixes a failure triggered by -z separate-code. p_memsz is tested rather than p_filesz for objcopy --only-keep-debug where p_filesz is set to zero. PR 22845 * elf.c (assign_file_positions_for_non_load_sections): Ignore degenerate zero size PT_LOAD segments when finding one overlapping the PT_GNU_RELRO segment. This change is backport of commit 325ba6fb34be799c885fad9287d883e86b835c84 - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=f2731e0c374e5323ce4cdae2bcc7b7fe22da1a6f to binutils-2.27. It is needed to cleanly cherry-pick dbc88fc14992c556b94e77de563a8f7abcb0b653. Bug: http://b/135627985 Change-Id: Ic860cd5fa2992214b45b3bd0c8c5f1a222973533
2019-07-02Fix a bug on gold linker.android-o-mr1-iot-release-1.0.14Tiancong Wang
Gold linker by default turns on the --fix-arm1176 option. It has missing cases for TAG_CPU_ARCH_V8 and various other arm v8 architectures. The result of this causes gold using v4t stubs for arm v8 cpus, which results in measurable code-size and performance impact. See https://sourceware.org/bugzilla/show_bug.cgi?id=24642 for more details on the bug. This patches extend the condition to be any TAGs larger than v7, instead of checking the tag individually. It enables any future updates on the tags. All the tag are defined in include/elf/arm.h. Bug: b/134709902 Test: ./checkbuild.by passes, after the ../prebuilt/ndk/binutils is updated with newly built binutils. Change-Id: I66277f62db1b1377b19f0e6d056f3b2d0a6f129b
2019-06-12Remove support for 32-bit Windows.Dan Albert
Test: ./build.py --arch arm64 --host windows64 Bug: None Exempt-From-Owner-Approval: janitorial Change-Id: I4403dd0e1d406b65577a3af0b96b9b4cb95c5c53
2019-06-03Fix build.android-o-mr1-iot-release-1.0.13Dan Albert
This function was removed since we're all Python 3 now. Test: ./build.py --arch arm64 --host linux Bug: None Change-Id: I35a9f9afa9eed4b74c365a73b653bddd64a11c0e
2019-03-22Adapt to ndk.hosts changes.android-o-mr1-iot-release-1.0.12oreo-mr1-iot-releasellvm-r353983Dan Albert
Test: ./build.py --arch arm64 --host win Bug: None Exempt-From-Owner-Approval: trivial janitorial changes Change-Id: I64b4a8caab872168e5a3a2dccb6a80abe9c839d9
2018-11-14Set -O2 by default for binutils.ndk-r20bndk-r20-beta3ndk-r20-beta2ndk-r20-beta1ndk-r20android-o-mr1-iot-release-1.0.8android-o-mr1-iot-release-1.0.7android-o-mr1-iot-release-1.0.10android-n-iot-release-ihome-igv1nougat-iot-releasendk-release-r20Dan Albert
Apparently their build scripts do not do this automatically. Test: ./build.py --arch arm64 --host linux Bug: https://issuetracker.google.com/118423828 Change-Id: I5bee38c76152b8b67360c61277b996b7ba3eee9e
2018-11-14Bootstrap Python 3 for the build.Dan Albert
The Python libraries we depend on from the NDK are now Python 3. Test: ./build.py --arch arm64 --host linux Bug: None Change-Id: I7725069b37be531b43851f7bc37400493cff616d
2018-10-09Align __CTOR_LIST__ to 4 bytes for windows x86ndk-r19cndk-r19bndk-r19-beta2ndk-r19-beta1ndk-r19android-o-mr1-iot-release-smart-display-r9android-o-mr1-iot-release-smart-display-r8android-o-mr1-iot-release-smart-display-r5android-o-mr1-iot-release-smart-display-r40.1Jandroid-o-mr1-iot-release-smart-display-r4android-o-mr1-iot-release-smart-display-r39android-o-mr1-iot-release-smart-display-r30android-o-mr1-iot-release-smart-display-r3android-o-mr1-iot-release-smart-display-r22android-o-mr1-iot-release-smart-display-r14android-o-mr1-iot-release-smart-clock-r6android-o-mr1-iot-release-smart-clock-r2android-o-mr1-iot-release-smart-clock-fsiandroid-o-mr1-iot-release-smart-clock-fcsandroid-o-mr1-iot-release-cube_r2android-o-mr1-iot-release-cube-fsiandroid-o-mr1-iot-release-cube-fcsoreo-mr1-1.2-iot-releasendk-release-r19master-cuttlefish-testing-releasePirama Arumuga Nainar
Bug: http://b/117439724 Without specifying alignment, if __CTOR_LIST__ is not aligned to 4 bytes, we end up with garbage after the -1. This causes access violations in __do_global_ctors. The 64-bit version aligns it to 8 bytes (ld/scrpittempl/pep.sc). Test: With this fix, AOSP Windows tools built with Clang + MinGW + libc++ no longer crash. Change-Id: I76be11a265cdcf272d740fa8715024f1f6df3e1b
2018-07-17Fix aarch64 --no-apply-dynamic-relocs option.android-o-mr1-iot-release-1.0.5android-o-mr1-iot-release-1.0.4android-o-mr1-iot-release-1.0.3Yunlian Jiang
am: 49e1641cfc Change-Id: I6d0d2c56e1a860de81c6f140b90d26728d4fc333
2018-07-12Fix aarch64 --no-apply-dynamic-relocs option.android-n-iot-release-smart-display-r2Yunlian Jiang
This option is intended to make gold not apply link-time values for absolution relocations which have dynamic relocations emitted for them, in order to workaround an android dynamic loader bug in old versions of android. Unfortunately, it also had the side-effect of breaking debug data, because the dynamic relocations are not used for non-ALLOC sections, but the flag was also suppressing the static relocation. This fix was proposed by jyknight@ and it fixed the problem by filtering out non-ALLOC sections with the --no-apply-dynamic-relocs option. BUG: 70838247 TEST: Debug info appears with --no-apply-dynamic-relocs
2018-07-11Fix dwarf_reader.cc for C++11Logan Chien
am: fcb56510b3 Change-Id: I1123440e0e3eda6ac467eb0a45a8152c694bda38
2018-07-10Fix dwarf_reader.cc for C++11android-p-preview-5Logan Chien
This commit replaces `std::make_pair<int, std::string>(dirindex, path)` with `std::make_pair(dirindex, path)` because C++11 replaces `std::make_pair<T, V>(T t, V v)` with `std::make_pair<T, V>(T &&t, V &&v)`. This commit removes explicit template arguments because forward references are only available during template arguments deduction. If the explicit template arguments are specified, the argument `t` and `v` will become R-value references, which can not bind to an L-value. Test: It builds with clang++ (or g++) with CXXFLAGS="-std=c++11" Change-Id: I79eb94552445354f7e7bff02169879195c7f6283
2018-06-19Add support for the Cortex-A55 and Cortex-A75James Greenhalgh
am: 726e32dc8b Change-Id: Iad6e3535a096c9b674fe72f3e135b980db353b9f
2018-06-19Add support for the Cortex-A55 and Cortex-A75ndk-r18bndk-r18-beta2ndk-r18-beta1android-p-preview-4android-o-mr1-iot-release-1.0.2android-n-iot-release-smart-displayndk-release-r18James Greenhalgh
Based on upstream change 1e2926 and 15a769. Bug: 110235326 Change-Id: Ieee5ad4cfb0aa21b46e918191215c4ce12248661
2018-06-01bfd: PR22829, objcopy/strip removes PT_GNU_RELRO from lld binaries am: ↵Alan Modra
cce69c1b1b am: ee60eb7f3e Change-Id: I15268f7baa80a3b2e40788ba56bec78b66451070
2018-06-01bfd: PR22829, objcopy/strip removes PT_GNU_RELRO from lld binariesAlan Modra
am: cce69c1b1b Change-Id: Ie1dfbaeb7c0a3c0be167215e8bd190be16af3b01
2018-05-31bfd: PR22829, objcopy/strip removes PT_GNU_RELRO from lld binariesandroid-o-mr1-iot-release-1.0.1android-n-iot-release-polk-at1Alan Modra
lld lays out the relro segment differently to GNU ld, not bothering to include the first few bytes of .got.plt and padding out to a page at the end of the segment. This patch teaches binutils to recognize the different (and somewhat inferior) layout as valid. bfd/ PR 22829 * elf.c (assign_file_positions_for_non_load_sections): Rewrite PT_GNU_RELRO setup. ld/ * testsuite/ld-x86-64/pr14207.d: Adjust relro p_filesz. This change is backport of commit f2731e0c374e5323ce4cdae2bcc7b7fe22da1a6f - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=f2731e0c374e5323ce4cdae2bcc7b7fe22da1a6f to binutils-2.27. Change-Id: I9d598adb1a0ef4778f0f29d0faf19c7c8112a74a
2018-04-06Windows: enable gold threading, copy libwinpthread-1.dll am: 2485f18b02Ryan Prichard
am: 49f78f5daf Change-Id: I0453330e4274ca698dfbaba0e63d004d4285cdf0
2018-04-06Windows: enable gold threading, copy libwinpthread-1.dllRyan Prichard
am: 2485f18b02 Change-Id: Id8b65c16f617b6c4995a94a11002944c052b9dc2
2018-04-05Windows: enable gold threading, copy libwinpthread-1.dllandroid-wear-p-preview-2android-p-preview-3android-p-preview-2android-o-mr1-iot-release-1.0.0android-o-mr1-iot-preview-8android-n-iot-release-lg-thinq-wk7o-mr1-iot-preview-8Ryan Prichard
Copy libwinpthread-1.dll alongside the binutils executables on Windows. The install_winpthreads function is copied from llvm_android: https://android.googlesource.com/toolchain/llvm_android/+/bd22d9779676661ae9571972dcd744c42c70ffd0/build.py#1063 Most C++ MinGW programs need libpthread, because even libstdc++'s "operator new" pulls in EH code, which calls into libpthread. Currently, the ld.gold.exe and dwp.exe binaries need libwinpthread-1.dll, which is not generally in the PATH, so the binaries don't run. Previously, the Android GCC build of binutils linked ld.gold.exe and dwp.exe with -static, which selected the static libpthread.a. Packaging libwinpthread-1.dll alongside the binaries ensures that ld.gold.exe and the LLVMgold plugin use the same copy of the winpthreads runtime, which might be important. Test: ./toolchain/binutils/build.py --arch arm64 --host win64 Test: ./toolchain/binutils/build.py --arch arm64 --host win Test: ./toolchain/binutils/build.py --arch arm64 --host linux Test: ./toolchain/binutils/build.py --arch x86 --host win64 Bug: none Change-Id: I5fc2d38b67c72fa4760be1c2688ef88479759160
2018-03-27gold: fix build errors on darwin. am: b415c49e4cRahul Chaudhry
am: 19df9bb8a2 Change-Id: I7d0adc629592f7785b44ea20fbedac0d53f50ee5
2018-03-27gold: fix build errors on darwin.Rahul Chaudhry
am: b415c49e4c Change-Id: I483b208c1052e9a7d33881bd4ceee90605fadc7f
2018-03-27gold: fix build errors on darwin.Rahul Chaudhry
Some cc files include both "gold.h" and "output.h", which makes the compiler on mac complain about redefinition of __STDC_FORMAT_MACROS. Change-Id: I11875d9b76d27449167485ae5f91f026acbda8e1
2018-03-27gold: add support for relative relocations at odd offsets. am: b162eb11c3Rahul Chaudhry
am: f1ff343f7f Change-Id: I2bebcd2a3a6fc88f8865dce8db6051a1b4344407
2018-03-27gold: better error message on seeing odd offset for RELR relocation. am: ↵Rahul Chaudhry
b4a70cbe16 am: 61006b8176 Change-Id: I9d5b9c2f0f760e5833c66e9d2ec338350c3f9be8
2018-03-27gold: add support for relative relocations at odd offsets.Rahul Chaudhry
am: b162eb11c3 Change-Id: Ifda56cebb333499e72c5692cced93b0bd425d559
2018-03-27gold: better error message on seeing odd offset for RELR relocation.Rahul Chaudhry
am: b4a70cbe16 Change-Id: Iee9ed64d9af676334c861e08485b79119247cf5a
2018-03-26gold: add support for relative relocations at odd offsets.Rahul Chaudhry
If the relocation offset is odd, create the relocation in rela_dyn section instead of the relr_dyn section. Bug: None Test: Verified relocations after linking test binary with odd offset. Change-Id: If0d65176639bfb7401f7fb2dd43efc55c17670a4
2018-03-26gold: better error message on seeing odd offset for RELR relocation.Rahul Chaudhry
Print a more informative error message instead of asserting out. This prints errors for all the odd offsets before exiting gold. Bug: None Test: Verified error message on linking test binary with odd offset. Change-Id: Ib481a4983cac2e637b1128ea0559d9606e671c35
2018-03-16Fix problem where undef can fail to trigger archive rescan. am: 41d8fcbbadStephen Crane
am: 73fe135cd3 Change-Id: I721a8cab09b24a6de1bdee0f47de584367c2885b
2018-03-16Fix problem where undef can fail to trigger archive rescan.Stephen Crane
am: 41d8fcbbad Change-Id: I5f394a221c1fa3e3efb92f7e9d8793545af37417