# Copyright 2018 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# This is the main toolchain.
armv7a-cros-linux-gnueabihf

# This is the old toolchain, we should remove it after the abi change become stable.
# This is the last board referring the old toolchain, once this is removed,
# the sdk builder would drop the old toolchain.
armv7a-cros-linux-gnueabi

# This is needed to build the kernel.
aarch64-cros-linux-gnu
