Gabe Black has uploaded this change for review. (
https://gem5-review.googlesource.com/c/public/gem5/+/41454 )
Change subject: util: Delete the build_cross_gcc utility.
......................................................................
util: Delete the build_cross_gcc utility.
Now that crosstool-ng can be used for any of the supported ISAs, the
build_cross_gcc tool is no longer needed.
Change-Id: Ie72d84197662eb0bea03ec27830b3ad4dbaa3084
---
D util/build_cross_gcc/build_cross_gcc.py
D util/build_cross_gcc/settings.aarch64
D util/build_cross_gcc/settings.arm
D util/build_cross_gcc/settings.mips
D util/build_cross_gcc/settings.power
D util/build_cross_gcc/settings.riscv
D util/build_cross_gcc/settings.sparc
7 files changed, 0 insertions(+), 843 deletions(-)
diff --git a/util/build_cross_gcc/build_cross_gcc.py
b/util/build_cross_gcc/build_cross_gcc.py
deleted file mode 100755
index 3afd4bf..0000000
--- a/util/build_cross_gcc/build_cross_gcc.py
+++ /dev/null
@@ -1,831 +0,0 @@
-#! /usr/bin/env python
-# Copyright 2020 Google, Inc.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met: redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer;
-# redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution;
-# neither the name of the copyright holders nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-import abc
-import argparse
-import glob
-import multiprocessing
-import os
-import os.path
-import pickle
-import shutil
-import subprocess
-import textwrap
-
-SETTINGS_FILE = '.build_cross_gcc.settings'
-LOG_FILE = 'build_cross_gcc.log'
-
-all_settings = {}
-all_steps = {}
-
-description_paragraphs = [
- '''
- This script helps automate building a gcc based cross compiler.
- The process is broken down into a series of steps which can be
- executed one at a time or in arbtitrary sequences. It's assumed
that
- you've already downloaded the following sources into the current
- directory:''',
- '',
- '''1. binutils''',
- '''2. gcc''',
- '''3. glibc''',
- '''4. linux kernel''',
- '''5. gdb''',
- '',
- '''
- The entire process can be configured with a series of settings
- which are stored in a config file called {settings_file}. These
- settings can generally also be set from the command line, and at
run
- time using step 0 of the process. Many will set themselves to
- reasonable defaults if no value was loaded from a previous
- configuration or a saved settings file.''',
- '',
- '''
- Prebaked config options can be loaded in from an external file to
- make it easier to build particular cross compilers without having
to
- mess with a lot of options.'''
- '',
- '''
- When settings are listed, any setting which has a value which has
- failed validation or which hasn't been set and doesn't have a
- reasonable default will be marked with a X in the far left hand
- column. Settings will generally refuse to be set to invalid values,
- unless they were like that by default and the user refused to
correct
- them.''',
- '',
- '''This script is based on the excellent how-to here:''',
- '''https://preshing.com/20141119/how-to-build-a-gcc-cross-compiler/''',
- '',
- '''
- Please view that webpage for a detailed explanation of what this
- script does.'''
- ]
-
-def help_text_wrapper(text):
- width = shutil.get_terminal_size().columns
- text = textwrap.dedent(text)
- text = text.strip()
- return textwrap.fill(text, width=width)
-
-description = '\n'.join(list(map(help_text_wrapper,
description_paragraphs)))
-
-argparser = argparse.ArgumentParser(
- formatter_class=argparse.RawDescriptionHelpFormatter,
- description=description)
-
-
-#
-# Some helper utilities.
-#
-
-def confirm(prompt):
- while True:
- yn = input('{} (N/y): '.format(prompt))
- if yn == '':
- yn = 'n'
- if yn.lower() in ('y', 'Yes'):
- return True
- elif yn.lower() in ('n', 'No'):
- return False
-
-
-def setup_build_dir(subdir):
- build_dir_base = BuildDirBase.setting()
- target = Target.setting()
- if not (build_dir_base.valid and target.valid):
- return False
- target_build_dir = os.path.join(build_dir_base.get(), target.get())
- build_dir = os.path.join(target_build_dir, 'build-{}'.format(subdir))
- if not os.path.isdir(build_dir):
- os.makedirs(build_dir)
- return build_dir
-
-def run_commands(working_dir, *cmds):
- with open(LOG_FILE, 'a') as log:
- print('In working directory {:s} (log in {:s}):'.format(
- working_dir, LOG_FILE))
- for cmd in cmds:
- print(textwrap.fill(cmd, initial_indent=' ',
- subsequent_indent=' ',
- width=shutil.get_terminal_size().columns))
- print('', file=log)
- print(cmd, file=log)
- print('', file=log)
- if subprocess.call(cmd, shell=True, cwd=working_dir,
- stdout=log, stderr=subprocess.STDOUT) != 0:
- return False
- return True
-
-
-#
-# Settings.
-#
-
-class MetaSetting(abc.ABCMeta):
- def __new__(mcls, name, bases, d):
- cls = super().__new__(mcls, name, bases, d)
- key = d.get('key', None)
- if key is not None:
- assert('default' in d)
- instance = cls()
- instance.value = None
- instance.valid = False
- all_settings[key] = instance
- return cls
-
-class Setting(object, metaclass=MetaSetting):
- key = None
-
- @abc.abstractmethod
- def set(self, value):
- 'Validate and set the setting to "value", and return if
successful.'
- self.value = value
- self.valid = True
- return True
-
- def set_default(self):
- 'Set this setting to its default value, and return if successful.'
- return self.set(self.default)
-
- def set_arg(self, value):
- 'Set this setting to value if not None, and return if successful.'
- if value:
- return self.set(value)
- else:
- # Nothing happened, so nothing failed.
- return True
-
- def get(self):
- 'Return the value of this setting.'
- return self.value
-
- @abc.abstractmethod
- def describe(self):
- 'Return a string describing this setting.'
- return ''
-
- @abc.abstractmethod
- def add_to_argparser(self, argparser):
- 'Add command line options associated with this setting.'
-
- @abc.abstractmethod
- def set_from_args(self, args):
- 'Set this setting from the command line arguments, if requested.'
- return True
-
- @classmethod
- def setting(cls):
- s = all_settings[cls.key]
- if not s.valid:
- print('"{}" is not valid.'.format(s.key))
- return s
-
-class DirectorySetting(Setting):
- def set(self, value):
- if not os.path.exists(value):
- print('Path "{:s}" does not exist.'.format(value))
- elif not os.path.isdir(value):
- print('Path "{:s}" is not a directory.'.format(value))
- else:
- self.value = value
- self.valid = True
- return self.valid
-
- def set_default(self):
- if not self.set(self.default):
- if not os.path.exists(self.default):
- if confirm('Create?'):
- try:
- os.mkdirs(value)
- assert(self.set(self.default))
- except:
- print('Failed to make directory')
- self.valid = False
- return False
- else:
- self.value = self.default
- self.valid = False
- return False
-
-class Prefix(DirectorySetting):
- default = os.path.join(os.environ['HOME'], 'cross')
- key = 'PREFIX'
-
- def describe(self):
- return 'Path prefix to install to.'
-
- def add_to_argparser(self, parser):
- parser.add_argument('--prefix', help=self.describe())
-
- def set_from_args(self, args):
- return self.set_arg(args.prefix)
-
-class BuildDirBase(DirectorySetting):
- default = os.getcwd()
- key = 'BUILD_DIR_BASE'
-
- def describe(self):
- return 'Path prefix for build directory(ies).'
-
- def add_to_argparser(self, parser):
- parser.add_argument('--build-dir-base', help=self.describe())
-
- def set_from_args(self, args):
- return self.set_arg(args.build_dir_base)
-
-class Target(Setting):
- key = 'TARGET'
- default = None
-
- def set_default(self):
- self.value = '(not set)'
- self.valid = False
- return False
-
- def describe(self):
- return 'Tuple for the target architecture.'
-
- def add_to_argparser(self, parser):
- parser.add_argument('--target', help=self.describe())
-
- def set_from_args(self, args):
- return self.set_arg(args.target)
-
-class LinuxArch(Setting):
- key = 'LINUX_ARCH'
- default = None
-
- def set_default(self):
- self.value = '(not set)'
- self.valid = False
- return False
-
- def describe(self):
- return 'The arch directory for Linux headers.'
-
- def add_to_argparser(self, parser):
- parser.add_argument('--linux-arch', help=self.describe())
-
- def set_from_args(self, args):
- return self.set_arg(args.linux_arch)
-
-class SourceDirSetting(Setting):
- def set(self, value):
- if os.path.isdir(value):
- self.value = value
- self.valid = True
- return self.valid
-
- def set_default(self):
- matches = list(filter(os.path.isdir, glob.glob(self.pattern)))
- if len(matches) == 0:
- self.valid = False
- return False
- if len(matches) > 1:
- while True:
- print()
- print('Multple options for "{:s}":'.format(self.key))
- choices = list(enumerate(matches))
- for number, value in choices:
- print('{:>5}: {:s}'.format(number, value))
- choice = input('Which one? ')
- try:
- choice = choices[int(choice)][1]
- except:
- print('Don\'t know what to do
with "{:s}".'.format(choice))
- continue
- return self.set(choice)
- return self.set(matches[0])
-
- def describe(self):
- return 'Directory with the extracted {}
source.'.format(self.project)
-
-class BinutilsSourceDir(SourceDirSetting):
- key = 'BINUTILS_SRC_DIR'
- default = None
- pattern = 'binutils-*'
- project = 'binutils'
-
- def add_to_argparser(self, parser):
- parser.add_argument('--binutils-src', help=self.describe())
-
- def set_from_args(self, args):
- return self.set_arg(args.binutils_src)
-
-class GccSourceDir(SourceDirSetting):
- key = 'GCC_SRC_DIR'
- default = None
- pattern = 'gcc-*'
- project = 'gcc'
-
- def add_to_argparser(self, parser):
- parser.add_argument('--gcc-src', help=self.describe())
-
- def set_from_args(self, args):
- return self.set_arg(args.gcc_src)
-
-class GlibcSourceDir(SourceDirSetting):
- key = 'GLIBC_SRC_DIR'
- default = None
- pattern = 'glibc-*'
- project = 'glibc'
-
- def add_to_argparser(self, parser):
- parser.add_argument('--glibc-src', help=self.describe())
-
- def set_from_args(self, args):
- return self.set_arg(args.glibc_src)
-
-class LinuxSourceDir(SourceDirSetting):
- key = 'LINUX_SRC_DIR'
- default = None
- pattern = 'linux-*'
- project = 'linux'
-
- def add_to_argparser(self, parser):
- parser.add_argument('--linux-src', help=self.describe())
-
- def set_from_args(self, args):
- return self.set_arg(args.linux_src)
-
-class GdbSourceDir(SourceDirSetting):
- key = 'GDB_SRC_DIR'
- default = None
- pattern = 'gdb-*'
- project = 'gdb'
-
- def add_to_argparser(self, parser):
- parser.add_argument('--gdb-src', help=self.describe())
-
- def set_from_args(self, args):
- return self.set_arg(args.gdb_src)
-
-class Parallelism(Setting):
- key = 'J'
- default = None
-
- def set(self, value):
- try:
- value = int(value)
- except:
- print('Can\'t convert "{:s}" into an integer.'.format(value))
- if value < 0:
- print('Parallelism can\'t be negative.')
- return False
- self.value = value
- self.valid = True
- return self.valid
-
- def set_default(self):
- self.set(multiprocessing.cpu_count())
-
- def describe(self):
- return 'The level of parellism to request from "make".'
-
- def add_to_argparser(self, parser):
- parser.add_argument('-j', help=self.describe())
-
- def set_from_args(self, args):
- return self.set_arg(args.j)
-
-
-
-#
-# Steps of the build process.
-#
-
-class MetaStep(abc.ABCMeta):
- def __new__(mcls, name, bases, d):
- cls = super().__new__(mcls, name, bases, d)
- number = d.get('number', None)
- if number is not None:
- all_steps[number] = cls()
- return cls
-
-class Step(object, metaclass=MetaStep):
- 'Steps to set up a cross compiling gcc.'
- number = None
-
- @abc.abstractmethod
- def run(self):
- 'Execute this step.'
- pass
-
- @abc.abstractmethod
- def describe(self):
- 'Return a string describing this step.'
- return ''
-
-
-class Configure(Step):
- number = 0
-
- def describe(self):
- return 'Adjust settings.'
-
- def get_setting(self):
- settings = list(enumerate(all_settings.items()))
- all_keys = list(all_settings.keys())
- max_key_length = max([len(key) for key in all_keys])
- while True:
- for number, (key, setting) in settings:
- print('{}{:>4}: {:{key_len}s} - {:s}'.format(
- ' ' if setting.valid else 'X',
- number, key, setting.describe(),
key_len=max_key_length))
- print(' {}'.format(setting.value))
- print()
- key = input('Value to modify, or "done": ')
- if key == "done":
- save_settings()
- return None
- if key not in all_keys:
- try:
- key = settings[int(key)][1][0]
- except:
- print('Don\'t know what to do
with "{:s}."'.format(key))
- continue
- return all_settings[key]
-
- def run(self):
- while True:
- setting = self.get_setting()
- if not setting:
- return True
-
- new_value = input('New value ({:s}): '.format(setting.get()))
- if new_value:
- setting.set(new_value)
- save_settings()
-
- print_settings()
- return True
-
-class BuildBinutils(Step):
- number = 1
-
- def describe(self):
- return 'Build binutils.'
-
- def run(self):
- prefix = Prefix.setting()
- target = Target.setting()
- j = Parallelism.setting()
- source_dir = BinutilsSourceDir.setting()
- build_dir = setup_build_dir('binutils')
-
- if not all((prefix, target, j, source_dir, build_dir)):
- return False
-
- prefix = prefix.get()
- target = target.get()
- j = j.get()
- build_dir = os.path.abspath(build_dir)
- source_dir = os.path.abspath(source_dir.get())
-
- return run_commands(build_dir,
- '{configure} --prefix={prefix} --target={target} '
- '--disable-multilib'.format(
- configure=os.path.join(source_dir, 'configure'),
- prefix=prefix, target=target),
- 'make -j{j}'.format(j=j),
- 'make install'
- )
-
-class InstallLinuxHeaders(Step):
- number = 2
-
- def describe(self):
- return 'Install Linux headers.'
-
- def run(self):
- source_dir = LinuxSourceDir.setting()
- linux_arch = LinuxArch.setting()
- prefix = Prefix.setting()
- target = Target.setting()
-
- if not all((source_dir, linux_arch, prefix, target)):
- return False
-
- source_dir = os.path.abspath(source_dir.get())
- linux_arch = linux_arch.get()
- prefix = os.path.abspath(prefix.get())
- target = target.get()
-
- hdr_path = os.path.join(prefix, target)
-
- return run_commands(source_dir,
- 'make ARCH={arch} INSTALL_HDR_PATH={hdr_path} '
- 'headers_install'.format(arch=linux_arch,
hdr_path=hdr_path))
-
-class Compilers(Step):
- number = 3
-
- def describe(self):
- return 'Build C and C++ compilers.'
-
- def run(self):
- prefix = Prefix.setting()
- target = Target.setting()
- j = Parallelism.setting()
- source_dir = GccSourceDir.setting()
- build_dir = setup_build_dir('gcc')
-
- if not all((prefix, target, j, source_dir, build_dir)):
- return False
-
- prefix = prefix.get()
- target = target.get()
- j = j.get()
- build_dir = os.path.abspath(build_dir)
- source_dir = os.path.abspath(source_dir.get())
-
- return run_commands(build_dir,
- '{configure} --prefix={prefix} --target={target} '
- '--enable-languages=c,c++ --disable-multilib'.format(
- configure=os.path.join(source_dir, 'configure'),
- prefix=prefix, target=target),
- 'make -j{j} all-gcc LIMITS_H_TEST=true'.format(j=j),
- 'make install-gcc'
- )
-
-class CHeaders(Step):
- number = 4
-
- def describe(self):
- return 'Standard C library headers and startup files.'
-
- def run(self):
- prefix = Prefix.setting()
- target = Target.setting()
- j = Parallelism.setting()
- source_dir = GlibcSourceDir.setting()
- build_dir = setup_build_dir('glibc')
-
- if not all((prefix, target, j, source_dir, build_dir)):
- return False
-
- prefix = prefix.get()
- target = target.get()
- j = j.get()
- source_dir = os.path.abspath(source_dir.get())
- build_dir = os.path.abspath(build_dir)
-
- return run_commands(build_dir,
- '{configure} --prefix={prefix} --build=$MACHTYPE '
- '--host={host} --target={target}
--with-headers={hdr_path} '
- '--disable-multilib libc_cv_forced_unwind=yes'.format(
- configure=os.path.join(source_dir, 'configure'),
- prefix=os.path.join(prefix, target),
- host=target, target=target,
- hdr_path=os.path.join(prefix, target, 'include')),
- 'make install-bootstrap-headers=yes install-headers',
- 'make -j{j} csu/subdir_lib'.format(j=j),
- 'install csu/crt1.o csu/crti.o csu/crtn.o
{lib_path}'.format(
- lib_path=os.path.join(prefix, target, 'lib')),
- '{target}-gcc -nostdlib -nostartfiles -shared -x c
/dev/null '
- '-o {libc_so}'.format(target=target,
- libc_so=os.path.join(prefix,
target, 'lib', 'libc.so')),
- 'touch {stubs_h}'.format(stubs_h=os.path.join(
- prefix, target, 'include', 'gnu', 'stubs.h'))
- )
-
-class CompilerSupportLib(Step):
- number = 5
-
- def describe(self):
- return 'Build the compiler support library.'
-
- def run(self):
- j = Parallelism.setting()
- build_dir = setup_build_dir('gcc')
-
- if not all((j, build_dir)):
- return False
-
- j = j.get()
- build_dir = os.path.abspath(build_dir)
-
- return run_commands(build_dir,
- 'make -j{j} all-target-libgcc'.format(j=j),
- 'make install-target-libgcc'
- )
-
-class StandardCLib(Step):
- number = 6
-
- def describe(self):
- return 'Install the standard C library.'
-
- def run(self):
- j = Parallelism.setting()
- build_dir = setup_build_dir('glibc')
-
- if not all((j, build_dir)):
- return False
-
- j = j.get()
- build_dir = os.path.abspath(build_dir)
-
- return run_commands(build_dir,
- 'make -j{j}'.format(j=j),
- 'make install',
- )
-
-class BuildGdb(Step):
- number = 7
-
- def describe(self):
- return 'Build GDB.'
-
- def run(self):
- prefix = Prefix.setting()
- target = Target.setting()
- j = Parallelism.setting()
- source_dir = GdbSourceDir.setting()
- build_dir = setup_build_dir('gdb')
-
- if not all((prefix, target, j, source_dir, build_dir)):
- return False
-
- prefix = prefix.get()
- target = target.get()
- j = j.get()
- source_dir = os.path.abspath(source_dir.get())
- build_dir = os.path.abspath(build_dir)
-
- return run_commands(build_dir,
- '{configure} --prefix={prefix} --target={target} '
- '$MACHTYPE'.format(prefix=prefix, target=target,
- configure=os.path.join(source_dir, 'configure')),
- 'make -j{j}'.format(j=j),
- 'make install'
- )
-
-class StandardCxxLib(Step):
- number = 8
-
- def describe(self):
- return 'Install the standard C++ library.'
-
- def run(self):
- j = Parallelism.setting()
- build_dir = setup_build_dir('gcc')
-
- if not all((j, build_dir)):
- return False
-
- j = j.get()
- build_dir = os.path.abspath(build_dir)
-
- return run_commands(build_dir,
- 'make -j{j}'.format(j=j),
- 'make install'
- )
-
-
-#
-# The engine that makes it all go.
-#
-
-def get_steps():
- while True:
- print()
- print('Steps:')
- for _, step in sorted(all_steps.items()):
- print('{:>5} {:s}'.format(
- '{:d}:'.format(step.number), step.describe()))
- print()
- steps = input('Comma separated list of steps, or '
- '"exit", or "all" (all): ')
- if not steps:
- steps = 'all'
- if steps == 'exit':
- return []
- if steps == 'all':
- keys = list([str(key) for key in all_steps.keys()])
- steps = ','.join(keys)
- try:
- return list([all_steps[int(i)] for i in steps.split(",")])
- except:
- print('Don\'t know what to do with "{:s}"'.format(steps))
-
-def print_settings():
- print()
- print('Settings:')
- for setting in all_settings.values():
- print('{} {} = {}'.format(
- ' ' if setting.valid else 'X', setting.key, setting.value))
-
-def save_settings():
- settings = {}
- for setting in all_settings.values():
- if setting.valid:
- settings[setting.key] = setting.get()
- with open(SETTINGS_FILE, 'wb') as settings_file:
- pickle.dump(settings, settings_file)
-
-def load_settings():
- if os.path.exists(SETTINGS_FILE):
- with open(SETTINGS_FILE, 'rb') as settings_file:
- settings = pickle.load(settings_file)
- else:
- settings = {}
-
- for setting in all_settings.values():
- if setting.key in settings:
- setting.set(settings[setting.key])
-
-def load_settings_file(path):
- with open(path, 'r') as settings:
- for line in settings.readlines():
- if not line:
- continue
- try:
- key, val = line.split('=')
- except:
- print('Malformated line "{}" in settings
file "{}".'.format(
- line, path))
- return False
- key = key.strip()
- val = val.strip()
- if key not in all_settings:
- print('Unknown setting "{}" found in settings '
- 'file "{}".'.format(key, path))
- return False
- setting = all_settings[key]
- if not setting.set(val):
- print('Failed to set "{}" to "{}" from '
- 'settings file "{}".'.format(key, val, path))
- return False
- return True
-
-
-
-argparser.add_argument('--settings-file',
- help='A file with name=value settings to load.')
-
-def main():
- # Install command line options for each setting.
- for setting in all_settings.values():
- setting.add_to_argparser(argparser)
-
- args = argparser.parse_args()
-
- # Load settings from the last time we ran. Lowest priority.
- load_settings()
-
- # If requested, read in a settings file. Medium priority.
- if args.settings_file:
- if not load_settings_file(args.settings_file):
- return
-
- # Set settings based on command line options. Highest priority.
- for setting in all_settings.values():
- setting.set_from_args(args)
-
- # If a setting is still not valid, try setting it to its default.
- for setting in all_settings.values():
- if not setting.valid:
- setting.set_default()
-
- # Print out the resulting settings.
- print_settings()
-
- while True:
- steps = get_steps()
- if not steps:
- return
- for step in steps:
- print()
- print('Step {:d}: {:s}'.format(step.number, step.describe()))
- print()
- if not step.run():
- print()
- print('Step failed, aborting.')
- break
-
-if __name__ == "__main__":
- main()
diff --git a/util/build_cross_gcc/settings.aarch64
b/util/build_cross_gcc/settings.aarch64
deleted file mode 100644
index d2b21f6..0000000
--- a/util/build_cross_gcc/settings.aarch64
+++ /dev/null
@@ -1,2 +0,0 @@
-TARGET=aarch64-linux-gnu
-LINUX_ARCH=arm64
diff --git a/util/build_cross_gcc/settings.arm
b/util/build_cross_gcc/settings.arm
deleted file mode 100644
index 7f3eff3..0000000
--- a/util/build_cross_gcc/settings.arm
+++ /dev/null
@@ -1,2 +0,0 @@
-TARGET=arm-linux-gnueabihf
-LINUX_ARCH=arm
diff --git a/util/build_cross_gcc/settings.mips
b/util/build_cross_gcc/settings.mips
deleted file mode 100644
index c29e4ad..0000000
--- a/util/build_cross_gcc/settings.mips
+++ /dev/null
@@ -1,2 +0,0 @@
-TARGET=mipsel-linux-gnu
-LINUX_ARCH=mips
diff --git a/util/build_cross_gcc/settings.power
b/util/build_cross_gcc/settings.power
deleted file mode 100644
index 998a2bc..0000000
--- a/util/build_cross_gcc/settings.power
+++ /dev/null
@@ -1,2 +0,0 @@
-TARGET=powerpc-linux-gnu
-LINUX_ARCH=powerpc
diff --git a/util/build_cross_gcc/settings.riscv
b/util/build_cross_gcc/settings.riscv
deleted file mode 100644
index d1910e8..0000000
--- a/util/build_cross_gcc/settings.riscv
+++ /dev/null
@@ -1,2 +0,0 @@
-TARGET=riscv64-linux-gnu
-LINUX_ARCH=riscv
diff --git a/util/build_cross_gcc/settings.sparc
b/util/build_cross_gcc/settings.sparc
deleted file mode 100644
index cc96530..0000000
--- a/util/build_cross_gcc/settings.sparc
+++ /dev/null
@@ -1,2 +0,0 @@
-TARGET=sparc64-linux-gnu
-LINUX_ARCH=sparc
--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/41454
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings
Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: Ie72d84197662eb0bea03ec27830b3ad4dbaa3084
Gerrit-Change-Number: 41454
Gerrit-PatchSet: 1
Gerrit-Owner: Gabe Black <gabe.bl...@gmail.com>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s