Bug 1651699 - Use ld instead of gold in Android x86. r=froydnj

When libdav1d assembly builds are enabled gold produces an internal error.

Differential Revision: https://phabricator.services.mozilla.com/D83522
This commit is contained in:
Alex Chronopoulos 2020-07-15 09:06:39 +00:00
Родитель d9d0eda42a
Коммит 33a0a2a5cc
1 изменённых файлов: 3 добавлений и 2 удалений

Просмотреть файл

@ -1974,7 +1974,7 @@ set_config('CARGO_INCREMENTAL', cargo_incremental)
# For other OSes:
# - on local developer builds: lld is used if present. Otherwise gold is used if present
# otherwise, BFD ld is used.
# - on release/official builds: whatever "ld" resolves to is used, except on Android x86_64
# - on release/official builds: whatever "ld" resolves to is used, except on Android x86/x86_64
# where BFD ld is used. Usually, "ld" resolves to BFD ld, except with the Android NDK,
# where it resolves to gold. lld is not used by default on Linux and Android because
# it introduces layout changes that prevent elfhack from working. See e.g.
@ -1995,8 +1995,9 @@ imply_option('--enable-linker', 'gold', when='--enable-gold')
@depends(target, developer_options)
def enable_linker_default(target, developer_options):
# x86-64 gold has bugs in how it lays out .note.* sections. See bug 1573820.
# x86-32 gold has a bug when assembly files are built. See bug 1651699.
# lld is faster, so prefer that for developer builds.
if target.os == 'Android' and target.cpu == 'x86_64':
if target.os == 'Android' and target.cpu in ('x86', 'x86_64'):
return 'lld' if developer_options else 'bfd'