2019年5月19日日曜日

GEM5 の評価 (1) / ビルドのトライ

gem5とは

gem5とはプロセッサのマイクロアーキテクチャやシステムレベルアーキテクチャのような, コンピュータシステムのアーキテクチャ研究を行うためのシミュレータです. ここで公開されています.

その特徴はホームページ上で以下として紹介されています:

  • Multiple interchangeable CPU models.
  • A fully integrated GPU model.
  • A NoMali GPU model.
  • Event-driven memory system.
  • A trace-based CPU model.
  • Homogeneous and heterogeneous multi-core.
  • Multiple ISA support.
  • Multi-system capability.
  • Power and energy modeling.
  • Co-simulation with SystemC.
クイックスタート

gem5のIntroductionが紹介されたwebページにクイックスタートが記載されています. 今回はその通りに進めていこうと思います.

最初はソースコードのコピーを入手する所からですが,gem5のソースコードは Mercurialの バージョン管理システムを用いてソフトウェア管理がされており, そこからコピーを取得する形になります.まだ Mercurial がインストールされていない場合にはインストールが必要となります. インストールされているかいないかは hg コマンドを実行することで確認できます.もしインストールされていない場合には, 表示されるメッセージ通りにインストールを進めます.自分のマシンで進めた結果は以下となりました:

$ hg clone http://repo.gem5.org/gem5

Command 'hg' not found, but can be installed with:

sudo apt install mercurial

$ sudo apt install mercurial
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  mercurial-common
提案パッケージ:
  kdiff3 | kdiff3-qt | kompare | meld | tkcvs | mgdiff qct python-mysqldb
以下のパッケージが新たにインストールされます:
  mercurial mercurial-common
アップグレード: 0 個、新規インストール: 2 個、削除: 0 個、保留: 0 個。
2,388 kB のアーカイブを取得する必要があります。
この操作後に追加で 12.2 MB のディスク容量が消費されます。
続行しますか? [Y/n] 
取得:1 http://jp.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 mercurial-common all 4.5.3-1ubuntu2.1 [2,198 kB]
取得:2 http://jp.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 mercurial amd64 4.5.3-1ubuntu2.1 [189 kB]
2,388 kB を 10秒 で取得しました (235 kB/s)
以前に未選択のパッケージ mercurial-common を選択しています。
(データベースを読み込んでいます ... 現在 546312 個のファイルとディレクトリがインストールされています。)
.../mercurial-common_4.5.3-1ubuntu2.1_all.deb を展開する準備をしています ...
mercurial-common (4.5.3-1ubuntu2.1) を展開しています...
以前に未選択のパッケージ mercurial を選択しています。
.../mercurial_4.5.3-1ubuntu2.1_amd64.deb を展開する準備をしています ...
mercurial (4.5.3-1ubuntu2.1) を展開しています...
mercurial-common (4.5.3-1ubuntu2.1) を設定しています ...
mercurial (4.5.3-1ubuntu2.1) を設定しています ...

Creating config file /etc/mercurial/hgrc.d/hgext.rc with new version
man-db (2.8.3-2ubuntu0.1) のトリガを処理しています ...

これで gem5 のソースコードの入手が可能となります.再度実行すると以下となりました:

$ hg clone http://repo.gem5.org/gem5
destination directory: gem5
requesting all changes
adding changesets
adding manifests
adding file changes
added 13803 changesets with 91733 changes to 14713 files
new changesets 478d6f905e91:256af4f35139
updating to branch default
9589 files updated, 0 files merged, 0 files removed, 0 files unresolved

この先,gem5のビルドを進めていくのですが,いくつか依存ツールをインストールする必要があります. それらは Dependenciesのページに記載されています. g++,python,m4はよく聞きますが,sconsやzlibライブラリ(特にzlib.h)はインストールが必要となるケースが多いのではと思います. 特に zlib は開発用パッケージが必要であり,Ubuntu18.04 では zlib1g-dev のインストールが必要になります. 自分の場合には現時点でインストール済でしたが.

$ sudo apt install zlib1g zlib1g-dev
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
zlib1g はすでに最新バージョン (1:1.2.11.dfsg-0ubuntu2) です。
zlib1g-dev はすでに最新バージョン (1:1.2.11.dfsg-0ubuntu2) です。
zlib1g-dev は手動でインストールしたと設定されました。
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。

また python に依存していますが python-dev が必要となります.これもインストールしておく必要があります.

$ sudo apt-get install python-dev
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  libpython-dev libpython2.7-dev python2.7-dev
以下のパッケージが新たにインストールされます:
  libpython-dev libpython2.7-dev python-dev python2.7-dev
アップグレード: 0 個、新規インストール: 4 個、削除: 0 個、保留: 0 個。
28.6 MB のアーカイブを取得する必要があります。
この操作後に追加で 41.9 MB のディスク容量が消費されます。
続行しますか? [Y/n] 
取得:1 http://jp.archive.ubuntu.com/ubuntu bionic-updates/main amd64 libpython2.7-dev amd64 2.7.15~rc1-1ubuntu0.1 [28.3 MB]
取得:2 http://jp.archive.ubuntu.com/ubuntu bionic/main amd64 libpython-dev amd64 2.7.15~rc1-1 [7,684 B]
取得:3 http://jp.archive.ubuntu.com/ubuntu bionic-updates/main amd64 python2.7-dev amd64 2.7.15~rc1-1ubuntu0.1 [286 kB]
取得:4 http://jp.archive.ubuntu.com/ubuntu bionic/main amd64 python-dev amd64 2.7.15~rc1-1 [1,256 B]
28.6 MB を 11秒 で取得しました (2,542 kB/s)
以前に未選択のパッケージ libpython2.7-dev:amd64 を選択しています。
(データベースを読み込んでいます ... 現在 546869 個のファイルとディレクトリがインストールされています。)
.../libpython2.7-dev_2.7.15~rc1-1ubuntu0.1_amd64.deb を展開する準備をしています ...
libpython2.7-dev:amd64 (2.7.15~rc1-1ubuntu0.1) を展開しています...
以前に未選択のパッケージ libpython-dev:amd64 を選択しています。
.../libpython-dev_2.7.15~rc1-1_amd64.deb を展開する準備をしています ...
libpython-dev:amd64 (2.7.15~rc1-1) を展開しています...
以前に未選択のパッケージ python2.7-dev を選択しています。
.../python2.7-dev_2.7.15~rc1-1ubuntu0.1_amd64.deb を展開する準備をしています ...
python2.7-dev (2.7.15~rc1-1ubuntu0.1) を展開しています...
以前に未選択のパッケージ python-dev を選択しています。
.../python-dev_2.7.15~rc1-1_amd64.deb を展開する準備をしています ...
python-dev (2.7.15~rc1-1) を展開しています...
man-db (2.8.3-2ubuntu0.1) のトリガを処理しています ...
libpython2.7-dev:amd64 (2.7.15~rc1-1ubuntu0.1) を設定しています ...
python2.7-dev (2.7.15~rc1-1ubuntu0.1) を設定しています ...
libpython-dev:amd64 (2.7.15~rc1-1) を設定しています ...
python-dev (2.7.15~rc1-1) を設定しています ...

これで一旦ビルドをかけてみようと思います.

$ scons build/ARM/gem5.opt
scons: Reading SConscript files ...

Mercurial libraries cannot be found, ignoring style hook.  If
you are a gem5 developer, please fix this and run the style
hook. It is important.

Warning: Your compiler doesn't support incremental linking and lto at the same time, so lto is being disabled. To force lto on anyway, use the --force-lto option. That will disable partial linking.
Warning: Protocol buffer compiler (protoc) not found.
         Please install protobuf-compiler for tracing support.
Info: Using Python config: /usr/bin/python2.7-config
Checking for C header file Python.h... yes
Checking for C library python2.7... yes
Checking for C library pthread... yes
Checking for C library dl... yes
Checking for C library util... yes
Checking for C library m... yes
Checking for accept(0,0,0) in C++ library None... yes
Checking for zlibVersion() in C++ library z... yes
Checking for C header file valgrind/valgrind.h... no
Checking for clock_nanosleep(0,0,NULL,NULL) in C library None... yes
Checking for timer_create(CLOCK_MONOTONIC, NULL, NULL) in C library None... no
Checking for timer_create(CLOCK_MONOTONIC, NULL, NULL) in C library rt... yes
Checking for C library tcmalloc... no
Checking for C library tcmalloc_minimal... no
You can get a 12% performance improvement by installing tcmalloc (libgoogle-perftools-dev package on Ubuntu or RedHat).
Checking for char temp; backtrace_symbols_fd((void*)&temp, 0, 0) in C library None... yes
Checking for C header file fenv.h... yes
Checking for C header file png.h... yes
Checking for C header file linux/kvm.h... yes
Checking for C header file linux/if_tun.h... yes
Checking size of struct kvm_xsave ... yes
Checking for member exclude_host in struct perf_event_attr...yes
Checking whether __i386__ is declared... no
Checking whether __x86_64__ is declared... yes
Building in /home/myname/GEM5/gem5/build/ARM
Variables file /home/myname/GEM5/gem5/build/variables/ARM not found,
  using defaults in /home/myname/GEM5/gem5/build_opts/ARM
Info: KVM support disabled due to unsupported host and target ISA combination
scons: done reading SConscript files.
scons: Building targets ...
 [     CXX] ARM/sim/main.cc -> .o
 [GENERATE] arm -> ARM/arch/registers.hh
 [GENERATE] arm -> ARM/arch/types.hh
 [ CFG ISA]  -> ARM/config/the_isa.hh
 [GENERATE] arm -> ARM/arch/isa_traits.hh
 [ENUMDECL] MemoryMode -> ARM/enums/MemoryMode.hh
 [SO PARAM] System -> ARM/params/System.hh
 [SO PARAM] MemObject -> ARM/params/MemObject.hh
 [ TRACING]  -> ARM/debug/Event.hh
 [SO PARAM] SimObject -> ARM/params/SimObject.hh
 [ENUMDECL] PwrState -> ARM/enums/PwrState.hh
 [SO PARAM] ClockedObject -> ARM/params/ClockedObject.hh
 [SO PARAM] ClockDomain -> ARM/params/ClockDomain.hh
 [SO PARAM] DerivedClockDomain -> ARM/params/DerivedClockDomain.hh
 [SO PARAM] SrcClockDomain -> ARM/params/SrcClockDomain.hh
 [SO PARAM] AbstractMemory -> ARM/params/AbstractMemory.hh
 [SO PARAM] ThermalModel -> ARM/params/ThermalModel.hh
 [ISA DESC] ARM/arch/arm/isa/main.isa -> generated/decoder-g.cc.inc, generated/decoder-ns.cc.inc, generated/decode-method.cc.inc, generated/decoder.hh, generated/decoder-g.hh.inc, generated/decoder-ns.hh.inc, generated/exec-g.cc.inc, generated/exec-ns.cc.inc, generated/max_inst_regs.hh, generated/decoder.cc, generated/inst-constrs-1.cc, generated/inst-constrs-2.cc, generated/inst-constrs-3.cc, generated/generic_cpu_exec_1.cc, generated/generic_cpu_exec_2.cc, generated/generic_cpu_exec_3.cc, generated/generic_cpu_exec_4.cc, generated/generic_cpu_exec_5.cc, generated/generic_cpu_exec_6.cc
 [ TRACING]  -> ARM/debug/Decoder.hh
 [SO PARAM] PowerModel -> ARM/params/PowerModel.hh
 [SO PARAM] VoltageDomain -> ARM/params/VoltageDomain.hh
 [ENUMDECL] PMType -> ARM/enums/PMType.hh
 [SO PARAM] PowerModelState -> ARM/params/PowerModelState.hh
 [SO PARAM] SubSystem -> ARM/params/SubSystem.hh
 [SO PARAM] ThermalDomain -> ARM/params/ThermalDomain.hh
 [     CXX] ARM/kern/kernel_stats.cc -> .o
 [GENERATE] arm -> ARM/arch/utility.hh
 [ TRACING]  -> ARM/debug/DebugPrintf.hh
 [GENERATE] arm -> ARM/arch/interrupts.hh
 [GENERATE] arm -> ARM/arch/microcode_rom.hh
 [ TRACING]  -> ARM/debug/Mwait.hh
 [ENUMDECL] StaticInstFlags -> ARM/enums/StaticInstFlags.hh
 [ENUMDECL] OpClass -> ARM/enums/OpClass.hh
 [ TRACING]  -> ARM/debug/Interrupt.hh
 [SO PARAM] ArmInterrupts -> ARM/params/ArmInterrupts.hh
 [     CXX] ARM/kern/linux/events.cc -> .o
 [ TRACING]  -> ARM/debug/SyscallVerbose.hh
 [     CXX] ARM/kern/linux/linux.cc -> .o
 [     CXX] ARM/kern/linux/helpers.cc -> .o
 [     CXX] ARM/kern/linux/printk.cc -> .o
 [     CXX] ARM/kern/freebsd/events.cc -> .o
 [     CXX] ARM/kern/operatingsystem.cc -> .o
 [ TRACING]  -> ARM/debug/PCEvent.hh
 [     CXX] ARM/kern/system_events.cc -> .o
 [ENUM STR] AddrMap, True -> ARM/enums/AddrMap.cc
 [ENUMDECL] AddrMap -> ARM/enums/AddrMap.hh
 [     CXX] ARM/enums/AddrMap.cc -> .o
 [ENUM STR] ArmMachineType, True -> ARM/enums/ArmMachineType.cc
 [ENUMDECL] ArmMachineType -> ARM/enums/ArmMachineType.hh
 [     CXX] ARM/enums/ArmMachineType.cc -> .o
 [ENUM STR] ArmPciIntRouting, True -> ARM/enums/ArmPciIntRouting.cc
 [ENUMDECL] ArmPciIntRouting -> ARM/enums/ArmPciIntRouting.hh
 [     CXX] ARM/enums/ArmPciIntRouting.cc -> .o
 [ENUM STR] Clusivity, True -> ARM/enums/Clusivity.cc
 [ENUMDECL] Clusivity -> ARM/enums/Clusivity.hh
 [     CXX] ARM/enums/Clusivity.cc -> .o
 [ENUM STR] CommitPolicy, True -> ARM/enums/CommitPolicy.cc
 [ENUMDECL] CommitPolicy -> ARM/enums/CommitPolicy.hh
 [     CXX] ARM/enums/CommitPolicy.cc -> .o
 [ENUM STR] DataDistribution, True -> ARM/enums/DataDistribution.cc
 [ENUMDECL] DataDistribution -> ARM/enums/DataDistribution.hh
 [     CXX] ARM/enums/DataDistribution.cc -> .o
 [ENUM STR] DecoderFlavour, True -> ARM/enums/DecoderFlavour.cc
 [ENUMDECL] DecoderFlavour -> ARM/enums/DecoderFlavour.hh
 [     CXX] ARM/enums/DecoderFlavour.cc -> .o
 [ENUM STR] Enum, True -> ARM/enums/Enum.cc
 [ENUMDECL] Enum -> ARM/enums/Enum.hh
 [     CXX] ARM/enums/Enum.cc -> .o
 [ENUM STR] FetchPolicy, True -> ARM/enums/FetchPolicy.cc
 [ENUMDECL] FetchPolicy -> ARM/enums/FetchPolicy.hh
 [     CXX] ARM/enums/FetchPolicy.cc -> .o
 [ENUM STR] IdeID, True -> ARM/enums/IdeID.cc
 [ENUMDECL] IdeID -> ARM/enums/IdeID.hh
 [     CXX] ARM/enums/IdeID.cc -> .o
 [ENUM STR] ImageFormat, True -> ARM/enums/ImageFormat.cc
 [ENUMDECL] ImageFormat -> ARM/enums/ImageFormat.hh
 [     CXX] ARM/enums/ImageFormat.cc -> .o
 [ENUM STR] MemSched, True -> ARM/enums/MemSched.cc
 [ENUMDECL] MemSched -> ARM/enums/MemSched.hh
 [     CXX] ARM/enums/MemSched.cc -> .o
 [ENUM STR] MemoryMode, True -> ARM/enums/MemoryMode.cc
 [     CXX] ARM/enums/MemoryMode.cc -> .o
 [ENUM STR] NoMaliGpuType, True -> ARM/enums/NoMaliGpuType.cc
 [ENUMDECL] NoMaliGpuType -> ARM/enums/NoMaliGpuType.hh
 [     CXX] ARM/enums/NoMaliGpuType.cc -> .o
 [ENUM STR] OpClass, True -> ARM/enums/OpClass.cc
 [     CXX] ARM/enums/OpClass.cc -> .o
 [ENUM STR] PMType, True -> ARM/enums/PMType.cc
 [     CXX] ARM/enums/PMType.cc -> .o
 [ENUM STR] PageManage, True -> ARM/enums/PageManage.cc
 [ENUMDECL] PageManage -> ARM/enums/PageManage.hh
 [     CXX] ARM/enums/PageManage.cc -> .o
 [ENUM STR] PwrState, True -> ARM/enums/PwrState.cc
 [     CXX] ARM/enums/PwrState.cc -> .o
 [ENUM STR] QoSQPolicy, True -> ARM/enums/QoSQPolicy.cc
 [ENUMDECL] QoSQPolicy -> ARM/enums/QoSQPolicy.hh
 [     CXX] ARM/enums/QoSQPolicy.cc -> .o
 [ENUM STR] SMTQueuePolicy, True -> ARM/enums/SMTQueuePolicy.cc
 [ENUMDECL] SMTQueuePolicy -> ARM/enums/SMTQueuePolicy.hh
 [     CXX] ARM/enums/SMTQueuePolicy.cc -> .o
 [ENUM STR] ScopedEnum, True -> ARM/enums/ScopedEnum.cc
 [ENUMDECL] ScopedEnum -> ARM/enums/ScopedEnum.hh
 [     CXX] ARM/enums/ScopedEnum.cc -> .o
 [ENUM STR] StaticInstFlags, True -> ARM/enums/StaticInstFlags.cc
 [     CXX] ARM/enums/StaticInstFlags.cc -> .o
 [ENUM STR] StreamGenType, True -> ARM/enums/StreamGenType.cc
 [ENUMDECL] StreamGenType -> ARM/enums/StreamGenType.hh
 [     CXX] ARM/enums/StreamGenType.cc -> .o
 [ENUM STR] ThreadPolicy, True -> ARM/enums/ThreadPolicy.cc
 [ENUMDECL] ThreadPolicy -> ARM/enums/ThreadPolicy.hh
 [     CXX] ARM/enums/ThreadPolicy.cc -> .o
 [ENUM STR] TimingExprOp, True -> ARM/enums/TimingExprOp.cc
 [ENUMDECL] TimingExprOp -> ARM/enums/TimingExprOp.hh
 [     CXX] ARM/enums/TimingExprOp.cc -> .o
 [ENUM STR] VecRegRenameMode, True -> ARM/enums/VecRegRenameMode.cc
 [ENUMDECL] VecRegRenameMode -> ARM/enums/VecRegRenameMode.hh
 [     CXX] ARM/enums/VecRegRenameMode.cc -> .o
 [SO PyBind] A9GlobalTimer -> ARM/python/_m5/param_A9GlobalTimer.cc
 [SO PARAM] A9GlobalTimer -> ARM/params/A9GlobalTimer.hh
 [SO PARAM] ArmSystem -> ARM/params/ArmSystem.hh
 [SO PARAM] GenericArmSystem -> ARM/params/GenericArmSystem.hh
 [SO PARAM] BasicPioDevice -> ARM/params/BasicPioDevice.hh
 [SO PARAM] PioDevice -> ARM/params/PioDevice.hh
 [SO PARAM] BaseGic -> ARM/params/BaseGic.hh
 [SO PARAM] ArmSemihosting -> ARM/params/ArmSemihosting.hh
 [SO PARAM] Platform -> ARM/params/Platform.hh
 [SO PARAM] IntrControl -> ARM/params/IntrControl.hh
 [     CXX] ARM/python/_m5/param_A9GlobalTimer.cc -> .o
 [SO PyBind] A9SCU -> ARM/python/_m5/param_A9SCU.cc
 [SO PARAM] A9SCU -> ARM/params/A9SCU.hh
 [     CXX] ARM/python/_m5/param_A9SCU.cc -> .o
 [SO PyBind] AMPMPrefetcher -> ARM/python/_m5/param_AMPMPrefetcher.cc
 [SO PARAM] AMPMPrefetcher -> ARM/params/AMPMPrefetcher.hh
 [ TRACING]  -> ARM/debug/Cache.hh
 [ TRACING]  -> ARM/debug/CachePort.hh
 [SO PARAM] WriteAllocator -> ARM/params/WriteAllocator.hh
 [SO PARAM] BaseTags -> ARM/params/BaseTags.hh
 [SO PARAM] BaseReplacementPolicy -> ARM/params/BaseReplacementPolicy.hh
 [SO PARAM] BaseIndexingPolicy -> ARM/params/BaseIndexingPolicy.hh
 [ TRACING]  -> ARM/debug/Drain.hh
 [SO PARAM] AccessMapPatternMatching -> ARM/params/AccessMapPatternMatching.hh
 [SO PARAM] QueuedPrefetcher -> ARM/params/QueuedPrefetcher.hh
 [SO PARAM] BasePrefetcher -> ARM/params/BasePrefetcher.hh
 [     CXX] ARM/python/_m5/param_AMPMPrefetcher.cc -> .o
 [SO PyBind] AbstractMemory -> ARM/python/_m5/param_AbstractMemory.cc
 [     CXX] ARM/python/_m5/param_AbstractMemory.cc -> .o
 [SO PyBind] AbstractNVM -> ARM/python/_m5/param_AbstractNVM.cc
 [SO PARAM] AbstractNVM -> ARM/params/AbstractNVM.hh
 [     CXX] ARM/python/_m5/param_AbstractNVM.cc -> .o
 [SO PyBind] AccessMapPatternMatching -> ARM/python/_m5/param_AccessMapPatternMatching.cc
 [     CXX] ARM/python/_m5/param_AccessMapPatternMatching.cc -> .o
 [SO PyBind] AddrMapper -> ARM/python/_m5/param_AddrMapper.cc
 [SO PARAM] AddrMapper -> ARM/params/AddrMapper.hh
 [SO PARAM] RangeAddrMapper -> ARM/params/RangeAddrMapper.hh
 [     CXX] ARM/python/_m5/param_AddrMapper.cc -> .o
 [SO PyBind] AmbaDmaDevice -> ARM/python/_m5/param_AmbaDmaDevice.cc
 [SO PARAM] AmbaDmaDevice -> ARM/params/AmbaDmaDevice.hh
 [SO PARAM] AmbaIntDevice -> ARM/params/AmbaIntDevice.hh
 [SO PARAM] AmbaPioDevice -> ARM/params/AmbaPioDevice.hh
 [SO PARAM] DmaDevice -> ARM/params/DmaDevice.hh
 [     CXX] ARM/python/_m5/param_AmbaDmaDevice.cc -> .o
 [SO PyBind] AmbaFake -> ARM/python/_m5/param_AmbaFake.cc
 [SO PARAM] AmbaFake -> ARM/params/AmbaFake.hh
 [     CXX] ARM/python/_m5/param_AmbaFake.cc -> .o
 [SO PyBind] AmbaIntDevice -> ARM/python/_m5/param_AmbaIntDevice.cc
 [     CXX] ARM/python/_m5/param_AmbaIntDevice.cc -> .o
 [SO PyBind] AmbaPioDevice -> ARM/python/_m5/param_AmbaPioDevice.cc
 [     CXX] ARM/python/_m5/param_AmbaPioDevice.cc -> .o
 [SO PyBind] ArmISA -> ARM/python/_m5/param_ArmISA.cc
 [SO PARAM] ArmISA -> ARM/params/ArmISA.hh
 [ TRACING]  -> ARM/debug/Checkpoint.hh
 [ TRACING]  -> ARM/debug/PMUVerbose.hh
 [SO PARAM] ArmTLB -> ARM/params/ArmTLB.hh
 [SO PARAM] ArmPMU -> ARM/params/ArmPMU.hh
 [SO PARAM] ArmTableWalker -> ARM/params/ArmTableWalker.hh
 [SO PARAM] BaseTLB -> ARM/params/BaseTLB.hh
 [SO PARAM] ArmInterruptPin -> ARM/params/ArmInterruptPin.hh
 [     CXX] ARM/python/_m5/param_ArmISA.cc -> .o
 [SO PyBind] ArmInterruptPin -> ARM/python/_m5/param_ArmInterruptPin.cc
 [     CXX] ARM/python/_m5/param_ArmInterruptPin.cc -> .o
 [SO PyBind] ArmInterrupts -> ARM/python/_m5/param_ArmInterrupts.cc
 [     CXX] ARM/python/_m5/param_ArmInterrupts.cc -> .o
 [SO PyBind] ArmNativeTrace -> ARM/python/_m5/param_ArmNativeTrace.cc
 [SO PARAM] ArmNativeTrace -> ARM/params/ArmNativeTrace.hh
 [ TRACING]  -> ARM/debug/ExecEnable.hh
 [SO PARAM] ExeTracer -> ARM/params/ExeTracer.hh
 [SO PARAM] NativeTrace -> ARM/params/NativeTrace.hh
 [SO PARAM] InstTracer -> ARM/params/InstTracer.hh
 [     CXX] ARM/python/_m5/param_ArmNativeTrace.cc -> .o
 [SO PyBind] ArmPMU -> ARM/python/_m5/param_ArmPMU.cc
 [     CXX] ARM/python/_m5/param_ArmPMU.cc -> .o
 [SO PyBind] ArmPPI -> ARM/python/_m5/param_ArmPPI.cc
 [SO PARAM] ArmPPI -> ARM/params/ArmPPI.hh
 [     CXX] ARM/python/_m5/param_ArmPPI.cc -> .o
 [SO PyBind] ArmSPI -> ARM/python/_m5/param_ArmSPI.cc
 [SO PARAM] ArmSPI -> ARM/params/ArmSPI.hh
 [     CXX] ARM/python/_m5/param_ArmSPI.cc -> .o
 [SO PyBind] ArmSemihosting -> ARM/python/_m5/param_ArmSemihosting.cc
 [     CXX] ARM/python/_m5/param_ArmSemihosting.cc -> .o
 [SO PyBind] ArmStage2MMU -> ARM/python/_m5/param_ArmStage2MMU.cc
 [SO PARAM] ArmStage2MMU -> ARM/params/ArmStage2MMU.hh
 [     CXX] ARM/python/_m5/param_ArmStage2MMU.cc -> .o
 [SO PyBind] ArmSystem -> ARM/python/_m5/param_ArmSystem.cc
 [     CXX] ARM/python/_m5/param_ArmSystem.cc -> .o
 [SO PyBind] ArmTLB -> ARM/python/_m5/param_ArmTLB.cc
 [     CXX] ARM/python/_m5/param_ArmTLB.cc -> .o
 [SO PyBind] ArmTableWalker -> ARM/python/_m5/param_ArmTableWalker.cc
 [     CXX] ARM/python/_m5/param_ArmTableWalker.cc -> .o
 [SO PyBind] AtomicSimpleCPU -> ARM/python/_m5/param_AtomicSimpleCPU.cc
 [SO PARAM] AtomicSimpleCPU -> ARM/params/AtomicSimpleCPU.hh
 [ TRACING]  -> ARM/debug/Checker.hh
 [SO PARAM] CheckerCPU -> ARM/params/CheckerCPU.hh
 [GENERATE] arm -> ARM/arch/decoder.hh
 [GENERATE] arm -> ARM/arch/isa.hh
 [ TRACING]  -> ARM/debug/CCRegs.hh
 [ TRACING]  -> ARM/debug/FloatRegs.hh
 [ TRACING]  -> ARM/debug/IntRegs.hh
 [ TRACING]  -> ARM/debug/VecPredRegs.hh
 [ TRACING]  -> ARM/debug/VecRegs.hh
 [GENERATE] arm -> ARM/arch/stacktrace.hh
 [SO PARAM] BaseSimpleCPU -> ARM/params/BaseSimpleCPU.hh
 [SO PARAM] BaseCPU -> ARM/params/BaseCPU.hh
 [ TRACING]  -> ARM/debug/Stack.hh
 [SO PARAM] BranchPredictor -> ARM/params/BranchPredictor.hh
 [SO PARAM] Process -> ARM/params/Process.hh
 [SO PARAM] EmulatedDriver -> ARM/params/EmulatedDriver.hh
 [     CXX] ARM/python/_m5/param_AtomicSimpleCPU.cc -> .o
 [SO PyBind] BIPRP -> ARM/python/_m5/param_BIPRP.cc
 [SO PARAM] BIPRP -> ARM/params/BIPRP.hh
 [SO PARAM] LRURP -> ARM/params/LRURP.hh
 [     CXX] ARM/python/_m5/param_BIPRP.cc -> .o
 [SO PyBind] BOPPrefetcher -> ARM/python/_m5/param_BOPPrefetcher.cc
 [SO PARAM] BOPPrefetcher -> ARM/params/BOPPrefetcher.hh
 [     CXX] ARM/python/_m5/param_BOPPrefetcher.cc -> .o
 [SO PyBind] BRRIPRP -> ARM/python/_m5/param_BRRIPRP.cc
 [SO PARAM] BRRIPRP -> ARM/params/BRRIPRP.hh
 [     CXX] ARM/python/_m5/param_BRRIPRP.cc -> .o
 [SO PyBind] BadDevice -> ARM/python/_m5/param_BadDevice.cc
 [SO PARAM] BadDevice -> ARM/params/BadDevice.hh
 [     CXX] ARM/python/_m5/param_BadDevice.cc -> .o
 [SO PyBind] BaseCPU -> ARM/python/_m5/param_BaseCPU.cc
 [     CXX] ARM/python/_m5/param_BaseCPU.cc -> .o
 [SO PyBind] BaseCache -> ARM/python/_m5/param_BaseCache.cc
 [SO PARAM] BaseCache -> ARM/params/BaseCache.hh
 [     CXX] ARM/python/_m5/param_BaseCache.cc -> .o
 [SO PyBind] BaseGic -> ARM/python/_m5/param_BaseGic.cc
 [     CXX] ARM/python/_m5/param_BaseGic.cc -> .o
 [SO PyBind] BaseIndexingPolicy -> ARM/python/_m5/param_BaseIndexingPolicy.cc
 [     CXX] ARM/python/_m5/param_BaseIndexingPolicy.cc -> .o
 [SO PyBind] BaseMemProbe -> ARM/python/_m5/param_BaseMemProbe.cc
 [SO PARAM] BaseMemProbe -> ARM/params/BaseMemProbe.hh
 [     CXX] ARM/python/_m5/param_BaseMemProbe.cc -> .o
 [SO PyBind] BasePrefetcher -> ARM/python/_m5/param_BasePrefetcher.cc
 [     CXX] ARM/python/_m5/param_BasePrefetcher.cc -> .o
 [SO PyBind] BaseReplacementPolicy -> ARM/python/_m5/param_BaseReplacementPolicy.cc
 [     CXX] ARM/python/_m5/param_BaseReplacementPolicy.cc -> .o
 [SO PyBind] BaseSetAssoc -> ARM/python/_m5/param_BaseSetAssoc.cc
 [SO PARAM] BaseSetAssoc -> ARM/params/BaseSetAssoc.hh
 [     CXX] ARM/python/_m5/param_BaseSetAssoc.cc -> .o
 [SO PyBind] BaseSimpleCPU -> ARM/python/_m5/param_BaseSimpleCPU.cc
 [     CXX] ARM/python/_m5/param_BaseSimpleCPU.cc -> .o
 [SO PyBind] BaseTLB -> ARM/python/_m5/param_BaseTLB.cc
 [     CXX] ARM/python/_m5/param_BaseTLB.cc -> .o
 [SO PyBind] BaseTags -> ARM/python/_m5/param_BaseTags.cc
 [     CXX] ARM/python/_m5/param_BaseTags.cc -> .o
 [SO PyBind] BaseTrafficGen -> ARM/python/_m5/param_BaseTrafficGen.cc
 [SO PARAM] BaseTrafficGen -> ARM/params/BaseTrafficGen.hh
 [     CXX] ARM/python/_m5/param_BaseTrafficGen.cc -> .o
 [SO PyBind] BaseXBar -> ARM/python/_m5/param_BaseXBar.cc
 [SO PARAM] BaseXBar -> ARM/params/BaseXBar.hh
 [     CXX] ARM/python/_m5/param_BaseXBar.cc -> .o
 [SO PyBind] BasicExtLink -> ARM/python/_m5/param_BasicExtLink.cc
 [SO PARAM] BasicExtLink -> ARM/params/BasicExtLink.hh
 [SO PARAM] BasicIntLink -> ARM/params/BasicIntLink.hh
 [SO PARAM] BasicLink -> ARM/params/BasicLink.hh
 [SO PARAM] BasicRouter -> ARM/params/BasicRouter.hh
 [   SLICC] src/mem/protocol/MOESI_CMP_directory.slicc -> ARM/mem/protocol/AccessPermission.cc, ARM/mem/protocol/AccessPermission.hh, ARM/mem/protocol/AccessType.cc, ARM/mem/protocol/AccessType.hh, ARM/mem/protocol/CacheRequestType.cc, ARM/mem/protocol/CacheRequestType.hh, ARM/mem/protocol/CacheResourceType.cc, ARM/mem/protocol/CacheResourceType.hh, ARM/mem/protocol/CoherenceRequestType.cc, ARM/mem/protocol/CoherenceRequestType.hh, ARM/mem/protocol/CoherenceResponseType.cc, ARM/mem/protocol/CoherenceResponseType.hh, ARM/mem/protocol/DMASequencerRequestType.cc, ARM/mem/protocol/DMASequencerRequestType.hh, ARM/mem/protocol/DMA_Controller.cc, ARM/mem/protocol/DMA_Controller.hh, ARM/mem/protocol/DMA_Controller.py, ARM/mem/protocol/DMA_Event.cc, ARM/mem/protocol/DMA_Event.hh, ARM/mem/protocol/DMA_State.cc, ARM/mem/protocol/DMA_State.hh, ARM/mem/protocol/DMA_TBE.cc, ARM/mem/protocol/DMA_TBE.hh, ARM/mem/protocol/DMA_Transitions.cc, ARM/mem/protocol/DMA_Wakeup.cc, ARM/mem/protocol/DirectoryRequestType.cc, ARM/mem/protocol/DirectoryRequestType.hh, ARM/mem/protocol/Directory_Controller.cc, ARM/mem/protocol/Directory_Controller.hh, ARM/mem/protocol/Directory_Controller.py, ARM/mem/protocol/Directory_Entry.cc, ARM/mem/protocol/Directory_Entry.hh, ARM/mem/protocol/Directory_Event.cc, ARM/mem/protocol/Directory_Event.hh, ARM/mem/protocol/Directory_State.cc, ARM/mem/protocol/Directory_State.hh, ARM/mem/protocol/Directory_TBE.cc, ARM/mem/protocol/Directory_TBE.hh, ARM/mem/protocol/Directory_Transitions.cc, ARM/mem/protocol/Directory_Wakeup.cc, ARM/mem/protocol/HSAScope.cc, ARM/mem/protocol/HSAScope.hh, ARM/mem/protocol/HSASegment.cc, ARM/mem/protocol/HSASegment.hh, ARM/mem/protocol/InvalidateGeneratorStatus.cc, ARM/mem/protocol/InvalidateGeneratorStatus.hh, ARM/mem/protocol/L1Cache_Controller.cc, ARM/mem/protocol/L1Cache_Controller.hh, ARM/mem/protocol/L1Cache_Controller.py, ARM/mem/protocol/L1Cache_Entry.cc, ARM/mem/protocol/L1Cache_Entry.hh, ARM/mem/protocol/L1Cache_Event.cc, ARM/mem/protocol/L1Cache_Event.hh, ARM/mem/protocol/L1Cache_State.cc, ARM/mem/protocol/L1Cache_State.hh, ARM/mem/protocol/L1Cache_TBE.cc, ARM/mem/protocol/L1Cache_TBE.hh, ARM/mem/protocol/L1Cache_Transitions.cc, ARM/mem/protocol/L1Cache_Wakeup.cc, ARM/mem/protocol/L2Cache_Controller.cc, ARM/mem/protocol/L2Cache_Controller.hh, ARM/mem/protocol/L2Cache_Controller.py, ARM/mem/protocol/L2Cache_DirEntry.cc, ARM/mem/protocol/L2Cache_DirEntry.hh, ARM/mem/protocol/L2Cache_Entry.cc, ARM/mem/protocol/L2Cache_Entry.hh, ARM/mem/protocol/L2Cache_Event.cc, ARM/mem/protocol/L2Cache_Event.hh, ARM/mem/protocol/L2Cache_State.cc, ARM/mem/protocol/L2Cache_State.hh, ARM/mem/protocol/L2Cache_TBE.cc, ARM/mem/protocol/L2Cache_TBE.hh, ARM/mem/protocol/L2Cache_Transitions.cc, ARM/mem/protocol/L2Cache_Wakeup.cc, ARM/mem/protocol/LinkDirection.cc, ARM/mem/protocol/LinkDirection.hh, ARM/mem/protocol/LockStatus.cc, ARM/mem/protocol/LockStatus.hh, ARM/mem/protocol/MachineType.cc, ARM/mem/protocol/MachineType.hh, ARM/mem/protocol/MaskPredictorIndex.cc, ARM/mem/protocol/MaskPredictorIndex.hh, ARM/mem/protocol/MaskPredictorTraining.cc, ARM/mem/protocol/MaskPredictorTraining.hh, ARM/mem/protocol/MaskPredictorType.cc, ARM/mem/protocol/MaskPredictorType.hh, ARM/mem/protocol/MemoryControlRequestType.cc, ARM/mem/protocol/MemoryControlRequestType.hh, ARM/mem/protocol/MemoryMsg.cc, ARM/mem/protocol/MemoryMsg.hh, ARM/mem/protocol/MemoryRequestType.cc, ARM/mem/protocol/MemoryRequestType.hh, ARM/mem/protocol/MessageSizeType.cc, ARM/mem/protocol/MessageSizeType.hh, ARM/mem/protocol/PrefetchBit.cc, ARM/mem/protocol/PrefetchBit.hh, ARM/mem/protocol/RequestMsg.cc, ARM/mem/protocol/RequestMsg.hh, ARM/mem/protocol/RequestStatus.cc, ARM/mem/protocol/RequestStatus.hh, ARM/mem/protocol/ResponseMsg.cc, ARM/mem/protocol/ResponseMsg.hh, ARM/mem/protocol/RubyAccessMode.cc, ARM/mem/protocol/RubyAccessMode.hh, ARM/mem/protocol/RubyRequestType.cc, ARM/mem/protocol/RubyRequestType.hh, ARM/mem/protocol/SequencerMsg.cc, ARM/mem/protocol/SequencerMsg.hh, ARM/mem/protocol/SequencerRequestType.cc, ARM/mem/protocol/SequencerRequestType.hh, ARM/mem/protocol/SequencerStatus.cc, ARM/mem/protocol/SequencerStatus.hh, ARM/mem/protocol/SeriesRequestGeneratorStatus.cc, ARM/mem/protocol/SeriesRequestGeneratorStatus.hh, ARM/mem/protocol/TesterStatus.cc, ARM/mem/protocol/TesterStatus.hh, ARM/mem/protocol/TransitionResult.cc, ARM/mem/protocol/TransitionResult.hh, ARM/mem/protocol/TriggerMsg.cc, ARM/mem/protocol/TriggerMsg.hh, ARM/mem/protocol/TriggerType.cc, ARM/mem/protocol/TriggerType.hh, ARM/mem/protocol/Types.hh
MOESI_CMP_directory-L1cache.sm:222: Warning: Non-void return ignored, return type is 'bool'
MOESI_CMP_directory-L1cache.sm:226: Warning: Non-void return ignored, return type is 'bool'
MOESI_CMP_directory-L1cache.sm:689: Warning: Non-void return ignored, return type is 'Tick'
MOESI_CMP_directory-L1cache.sm:697: Warning: Non-void return ignored, return type is 'Tick'
MOESI_CMP_directory-L1cache.sm:701: Warning: Non-void return ignored, return type is 'Tick'
MOESI_CMP_directory-L1cache.sm:720: Warning: Non-void return ignored, return type is 'Tick'
MOESI_CMP_directory-L1cache.sm:898: Warning: Non-void return ignored, return type is 'Scalar'
MOESI_CMP_directory-L1cache.sm:902: Warning: Non-void return ignored, return type is 'Scalar'
MOESI_CMP_directory-L1cache.sm:906: Warning: Non-void return ignored, return type is 'Scalar'
MOESI_CMP_directory-L1cache.sm:910: Warning: Non-void return ignored, return type is 'Scalar'
MOESI_CMP_directory-L1cache.sm:553: Warning: Unused action: e_sendDataToL2, Send data from cache to requestor
MOESI_CMP_directory-L1cache.sm:869: Warning: Unused action: v_writeDataToCacheVerify, Write data to cache, assert it was same as before
MOESI_CMP_directory-L2cache.sm:551: Warning: Non-void return ignored, return type is 'bool'
MOESI_CMP_directory-L2cache.sm:553: Warning: Non-void return ignored, return type is 'bool'
MOESI_CMP_directory-L2cache.sm:1372: Warning: Non-void return ignored, return type is 'Tick'
MOESI_CMP_directory-L2cache.sm:1397: Warning: Non-void return ignored, return type is 'Tick'
MOESI_CMP_directory-L2cache.sm:1401: Warning: Non-void return ignored, return type is 'Tick'
MOESI_CMP_directory-L2cache.sm:1405: Warning: Non-void return ignored, return type is 'Tick'
MOESI_CMP_directory-L2cache.sm:1524: Warning: Non-void return ignored, return type is 'Scalar'
MOESI_CMP_directory-L2cache.sm:1528: Warning: Non-void return ignored, return type is 'Scalar'
MOESI_CMP_directory-L2cache.sm:1523: Warning: Unused action: w_assertIncomingDataAndCacheDataMatch, Assert that the incoming data and the data in the cache match
MOESI_CMP_directory-dma.sm:221: Warning: Non-void return ignored, return type is 'Tick'
MOESI_CMP_directory-dma.sm:225: Warning: Non-void return ignored, return type is 'Tick'
MOESI_CMP_directory-dma.sm:229: Warning: Non-void return ignored, return type is 'Tick'
MOESI_CMP_directory-dir.sm:443: Warning: Non-void return ignored, return type is 'Tick'
MOESI_CMP_directory-dir.sm:447: Warning: Non-void return ignored, return type is 'Tick'
MOESI_CMP_directory-dir.sm:466: Warning: Non-void return ignored, return type is 'Tick'
 [SO PARAM] RubyController -> ARM/params/RubyController.hh
 [ TRACING]  -> ARM/debug/RubyQueue.hh
 [SO PARAM] MessageBuffer -> ARM/params/MessageBuffer.hh
 [SO PARAM] RubySystem -> ARM/params/RubySystem.hh
 [SO PARAM] SimpleMemory -> ARM/params/SimpleMemory.hh
 [     CXX] ARM/python/_m5/param_BasicExtLink.cc -> .o
 [SO PyBind] BasicIntLink -> ARM/python/_m5/param_BasicIntLink.cc
 [     CXX] ARM/python/_m5/param_BasicIntLink.cc -> .o
 [SO PyBind] BasicLink -> ARM/python/_m5/param_BasicLink.cc
 [     CXX] ARM/python/_m5/param_BasicLink.cc -> .o
 [SO PyBind] BasicPioDevice -> ARM/python/_m5/param_BasicPioDevice.cc
 [     CXX] ARM/python/_m5/param_BasicPioDevice.cc -> .o
 [SO PyBind] BasicRouter -> ARM/python/_m5/param_BasicRouter.cc
 [     CXX] ARM/python/_m5/param_BasicRouter.cc -> .o
 [SO PyBind] BiModeBP -> ARM/python/_m5/param_BiModeBP.cc
 [SO PARAM] BiModeBP -> ARM/params/BiModeBP.hh
 [     CXX] ARM/python/_m5/param_BiModeBP.cc -> .o
 [SO PyBind] BranchPredictor -> ARM/python/_m5/param_BranchPredictor.cc
 [     CXX] ARM/python/_m5/param_BranchPredictor.cc -> .o
 [SO PyBind] Bridge -> ARM/python/_m5/param_Bridge.cc
 [SO PARAM] Bridge -> ARM/params/Bridge.hh
 [     CXX] ARM/python/_m5/param_Bridge.cc -> .o
 [SO PyBind] Cache -> ARM/python/_m5/param_Cache.cc
 [SO PARAM] Cache -> ARM/params/Cache.hh
 [     CXX] ARM/python/_m5/param_Cache.cc -> .o
 [SO PyBind] CheckerCPU -> ARM/python/_m5/param_CheckerCPU.cc
 [     CXX] ARM/python/_m5/param_CheckerCPU.cc -> .o
 [SO PyBind] ClockDomain -> ARM/python/_m5/param_ClockDomain.cc
 [     CXX] ARM/python/_m5/param_ClockDomain.cc -> .o
 [SO PyBind] ClockedObject -> ARM/python/_m5/param_ClockedObject.cc
 [     CXX] ARM/python/_m5/param_ClockedObject.cc -> .o
 [SO PyBind] CoherentXBar -> ARM/python/_m5/param_CoherentXBar.cc
 [SO PARAM] CoherentXBar -> ARM/params/CoherentXBar.hh
 [SO PARAM] SnoopFilter -> ARM/params/SnoopFilter.hh
 [     CXX] ARM/python/_m5/param_CoherentXBar.cc -> .o
 [SO PyBind] CommMonitor -> ARM/python/_m5/param_CommMonitor.cc
 [SO PARAM] CommMonitor -> ARM/params/CommMonitor.hh
 [     CXX] ARM/python/_m5/param_CommMonitor.cc -> .o
 [SO PyBind] CopyEngine -> ARM/python/_m5/param_CopyEngine.cc
 [SO PARAM] CopyEngine -> ARM/params/CopyEngine.hh
 [CONFIG H] CP_ANNOTATE, 0 -> ARM/config/cp_annotate.hh
 [ TRACING]  -> ARM/debug/AnnotateQ.hh
 [SO PARAM] PciDevice -> ARM/params/PciDevice.hh
 [SO PARAM] PciHost -> ARM/params/PciHost.hh
 [     CXX] ARM/python/_m5/param_CopyEngine.cc -> .o
 [SO PyBind] CowDiskImage -> ARM/python/_m5/param_CowDiskImage.cc
 [SO PARAM] CowDiskImage -> ARM/params/CowDiskImage.hh
 [SO PARAM] DiskImage -> ARM/params/DiskImage.hh
 [SO PARAM] RawDiskImage -> ARM/params/RawDiskImage.hh
 [     CXX] ARM/python/_m5/param_CowDiskImage.cc -> .o
 [SO PyBind] CpuLocalTimer -> ARM/python/_m5/param_CpuLocalTimer.cc
 [SO PARAM] CpuLocalTimer -> ARM/params/CpuLocalTimer.hh
 [     CXX] ARM/python/_m5/param_CpuLocalTimer.cc -> .o
 [SO PyBind] CreditLink -> ARM/python/_m5/param_CreditLink.cc
 [SO PARAM] CreditLink -> ARM/params/CreditLink.hh
 [SO PARAM] NetworkLink -> ARM/params/NetworkLink.hh
 [     CXX] ARM/python/_m5/param_CreditLink.cc -> .o
 [SO PyBind] CustomNoMaliGpu -> ARM/python/_m5/param_CustomNoMaliGpu.cc
 [SO PARAM] CustomNoMaliGpu -> ARM/params/CustomNoMaliGpu.hh
 [SO PARAM] NoMaliGpu -> ARM/params/NoMaliGpu.hh
 [SO PARAM] RealView -> ARM/params/RealView.hh
 [     CXX] ARM/python/_m5/param_CustomNoMaliGpu.cc -> .o
 [SO PyBind] DCPTPrefetcher -> ARM/python/_m5/param_DCPTPrefetcher.cc
 [SO PARAM] DCPTPrefetcher -> ARM/params/DCPTPrefetcher.hh
 [SO PARAM] DeltaCorrelatingPredictionTables -> ARM/params/DeltaCorrelatingPredictionTables.hh
 [     CXX] ARM/python/_m5/param_DCPTPrefetcher.cc -> .o
 [SO PyBind] DMASequencer -> ARM/python/_m5/param_DMASequencer.cc
 [SO PARAM] DMASequencer -> ARM/params/DMASequencer.hh
 [SO PARAM] RubyPort -> ARM/params/RubyPort.hh
 [     CXX] ARM/python/_m5/param_DMASequencer.cc -> .o
 [SO PyBind] DMA_Controller -> ARM/python/_m5/param_DMA_Controller.cc
 [SO PARAM] DMA_Controller -> ARM/params/DMA_Controller.hh
 [MAKE INC] ARM/mem/ruby/structures/TBETable.hh -> protocol/TBETable.hh
 [MAKE INC] ARM/mem/ruby/filters/AbstractBloomFilter.hh -> protocol/AbstractBloomFilter.hh
 [MAKE INC] ARM/mem/ruby/common/BoolVec.hh -> protocol/BoolVec.hh
 [MAKE INC] ARM/mem/ruby/slicc_interface/Message.hh -> protocol/Message.hh
 [MAKE INC] ARM/mem/ruby/slicc_interface/RubyRequest.hh -> protocol/RubyRequest.hh
 [SO PARAM] RubyCache -> ARM/params/RubyCache.hh
 [SO PARAM] ReplacementPolicy -> ARM/params/ReplacementPolicy.hh
 [SO PARAM] RubyDirectoryMemory -> ARM/params/RubyDirectoryMemory.hh
 [MAKE INC] ARM/mem/ruby/structures/CacheMemory.hh -> protocol/CacheMemory.hh
 [MAKE INC] ARM/mem/ruby/system/DMASequencer.hh -> protocol/DMASequencer.hh
 [MAKE INC] ARM/mem/ruby/common/DataBlock.hh -> protocol/DataBlock.hh
 [MAKE INC] ARM/mem/ruby/structures/DirectoryMemory.hh -> protocol/DirectoryMemory.hh
 [SO PARAM] RubySequencer -> ARM/params/RubySequencer.hh
 [MAKE INC] ARM/mem/ruby/system/GPUCoalescer.hh -> protocol/GPUCoalescer.hh
 [MAKE INC] ARM/mem/ruby/common/MachineID.hh -> protocol/MachineID.hh
 [MAKE INC] ARM/mem/ruby/network/MessageBuffer.hh -> protocol/MessageBuffer.hh
 [MAKE INC] ARM/mem/ruby/common/NetDest.hh -> protocol/NetDest.hh
 [MAKE INC] ARM/mem/ruby/structures/PerfectCacheMemory.hh -> protocol/PerfectCacheMemory.hh
 [SO PARAM] Prefetcher -> ARM/params/Prefetcher.hh
 [MAKE INC] ARM/mem/ruby/structures/Prefetcher.hh -> protocol/Prefetcher.hh
 [MAKE INC] ARM/mem/ruby/system/Sequencer.hh -> protocol/Sequencer.hh
 [MAKE INC] ARM/mem/ruby/common/Set.hh -> protocol/Set.hh
 [MAKE INC] ARM/mem/ruby/structures/TimerTable.hh -> protocol/TimerTable.hh
 [MAKE INC] ARM/mem/ruby/system/VIPERCoalescer.hh -> protocol/VIPERCoalescer.hh
 [SO PARAM] RubyWireBuffer -> ARM/params/RubyWireBuffer.hh
 [MAKE INC] ARM/mem/ruby/structures/WireBuffer.hh -> protocol/WireBuffer.hh
 [MAKE INC] ARM/mem/ruby/common/WriteMask.hh -> protocol/WriteMask.hh
 [MAKE INC] ARM/mem/ruby/slicc_interface/AbstractEntry.hh -> protocol/AbstractEntry.hh
 [MAKE INC] ARM/mem/ruby/slicc_interface/AbstractCacheEntry.hh -> protocol/AbstractCacheEntry.hh
 [ TRACING]  -> ARM/debug/RubySlicc.hh
 [     CXX] ARM/python/_m5/param_DMA_Controller.cc -> .o
 [SO PyBind] DRAMCtrl -> ARM/python/_m5/param_DRAMCtrl.cc
 [SO PARAM] DRAMCtrl -> ARM/params/DRAMCtrl.hh
 [ TRACING]  -> ARM/debug/QOS.hh
 [SO PARAM] QoSMemCtrl -> ARM/params/QoSMemCtrl.hh
 [SO PARAM] QoSPolicy -> ARM/params/QoSPolicy.hh
 [SO PARAM] QoSTurnaroundPolicy -> ARM/params/QoSTurnaroundPolicy.hh
 [     CXX] ARM/python/_m5/param_DRAMCtrl.cc -> .o
 [SO PyBind] DVFSHandler -> ARM/python/_m5/param_DVFSHandler.cc
 [SO PARAM] DVFSHandler -> ARM/params/DVFSHandler.hh
 [ TRACING]  -> ARM/debug/DVFS.hh
 [     CXX] ARM/python/_m5/param_DVFSHandler.cc -> .o
 [SO PyBind] DeltaCorrelatingPredictionTables -> ARM/python/_m5/param_DeltaCorrelatingPredictionTables.cc
 [     CXX] ARM/python/_m5/param_DeltaCorrelatingPredictionTables.cc -> .o
 [SO PyBind] DerivO3CPU -> ARM/python/_m5/param_DerivO3CPU.cc
 [SO PARAM] DerivO3CPU -> ARM/params/DerivO3CPU.hh
 [SO PARAM] FUPool -> ARM/params/FUPool.hh
 [ TRACING]  -> ARM/debug/Scoreboard.hh
 [ TRACING]  -> ARM/debug/FreeList.hh
 [ TRACING]  -> ARM/debug/IEW.hh
 [GENERATE] arm -> ARM/arch/locked_mem.hh
 [GENERATE] arm -> ARM/arch/mmapped_ipr.hh
 [ TRACING]  -> ARM/debug/LSQUnit.hh
 [ TRACING]  -> ARM/debug/MemDepUnit.hh
 [GENERATE] arm -> ARM/arch/kernel_stats.hh
 [SO PARAM] FUDesc -> ARM/params/FUDesc.hh
 [ TRACING]  -> ARM/debug/LLSC.hh
 [SO PARAM] OpDesc -> ARM/params/OpDesc.hh
 [     CXX] ARM/python/_m5/param_DerivO3CPU.cc -> .o
 [SO PyBind] DerivedClockDomain -> ARM/python/_m5/param_DerivedClockDomain.cc
 [     CXX] ARM/python/_m5/param_DerivedClockDomain.cc -> .o
 [SO PyBind] DirectedGenerator -> ARM/python/_m5/param_DirectedGenerator.cc
 [SO PARAM] DirectedGenerator -> ARM/params/DirectedGenerator.hh
 [SO PARAM] RubyDirectedTester -> ARM/params/RubyDirectedTester.hh
 [     CXX] ARM/python/_m5/param_DirectedGenerator.cc -> .o
 [SO PyBind] Directory_Controller -> ARM/python/_m5/param_Directory_Controller.cc
 [SO PARAM] Directory_Controller -> ARM/params/Directory_Controller.hh
 [     CXX] ARM/python/_m5/param_Directory_Controller.cc -> .o
 [SO PyBind] DiskImage -> ARM/python/_m5/param_DiskImage.cc
 [     CXX] ARM/python/_m5/param_DiskImage.cc -> .o
 [SO PyBind] DistEtherLink -> ARM/python/_m5/param_DistEtherLink.cc
 [SO PARAM] DistEtherLink -> ARM/params/DistEtherLink.hh
 [SO PARAM] EtherDump -> ARM/params/EtherDump.hh
 [SO PARAM] EtherLink -> ARM/params/EtherLink.hh
 [     CXX] ARM/python/_m5/param_DistEtherLink.cc -> .o
 [SO PyBind] DmaDevice -> ARM/python/_m5/param_DmaDevice.cc
 [     CXX] ARM/python/_m5/param_DmaDevice.cc -> .o
 [SO PyBind] DummyChecker -> ARM/python/_m5/param_DummyChecker.cc
 [SO PARAM] DummyChecker -> ARM/params/DummyChecker.hh
 [     CXX] ARM/python/_m5/param_DummyChecker.cc -> .o
 [SO PyBind] EmulatedDriver -> ARM/python/_m5/param_EmulatedDriver.cc
 [     CXX] ARM/python/_m5/param_EmulatedDriver.cc -> .o
 [SO PyBind] EnergyCtrl -> ARM/python/_m5/param_EnergyCtrl.cc
 [SO PARAM] EnergyCtrl -> ARM/params/EnergyCtrl.hh
 [     CXX] ARM/python/_m5/param_EnergyCtrl.cc -> .o
 [SO PyBind] EtherBus -> ARM/python/_m5/param_EtherBus.cc
 [SO PARAM] EtherBus -> ARM/params/EtherBus.hh
 [     CXX] ARM/python/_m5/param_EtherBus.cc -> .o
 [SO PyBind] EtherDevBase -> ARM/python/_m5/param_EtherDevBase.cc
 [SO PARAM] EtherDevBase -> ARM/params/EtherDevBase.hh
 [SO PARAM] EtherDevice -> ARM/params/EtherDevice.hh
 [     CXX] ARM/python/_m5/param_EtherDevBase.cc -> .o
 [SO PyBind] EtherDevice -> ARM/python/_m5/param_EtherDevice.cc
 [     CXX] ARM/python/_m5/param_EtherDevice.cc -> .o
 [SO PyBind] EtherDump -> ARM/python/_m5/param_EtherDump.cc
 [     CXX] ARM/python/_m5/param_EtherDump.cc -> .o
 [SO PyBind] EtherLink -> ARM/python/_m5/param_EtherLink.cc
 [     CXX] ARM/python/_m5/param_EtherLink.cc -> .o
 [SO PyBind] EtherSwitch -> ARM/python/_m5/param_EtherSwitch.cc
 [SO PARAM] EtherSwitch -> ARM/params/EtherSwitch.hh
 [     CXX] ARM/python/_m5/param_EtherSwitch.cc -> .o
 [SO PyBind] EtherTap -> ARM/python/_m5/param_EtherTap.cc
 [SO PARAM] EtherTap -> ARM/params/EtherTap.hh
 [CONFIG H] USE_TUNTAP, 1 -> ARM/config/use_tuntap.hh
 [SO PARAM] EtherTapStub -> ARM/params/EtherTapStub.hh
 [SO PARAM] EtherTapBase -> ARM/params/EtherTapBase.hh
 [     CXX] ARM/python/_m5/param_EtherTap.cc -> .o
 [SO PyBind] EtherTapBase -> ARM/python/_m5/param_EtherTapBase.cc
 [     CXX] ARM/python/_m5/param_EtherTapBase.cc -> .o
 [SO PyBind] EtherTapStub -> ARM/python/_m5/param_EtherTapStub.cc
 [     CXX] ARM/python/_m5/param_EtherTapStub.cc -> .o
 [SO PyBind] ExeTracer -> ARM/python/_m5/param_ExeTracer.cc
 [     CXX] ARM/python/_m5/param_ExeTracer.cc -> .o
 [SO PyBind] ExternalMaster -> ARM/python/_m5/param_ExternalMaster.cc
 [SO PARAM] ExternalMaster -> ARM/params/ExternalMaster.hh
 [     CXX] ARM/python/_m5/param_ExternalMaster.cc -> .o
 [SO PyBind] ExternalSlave -> ARM/python/_m5/param_ExternalSlave.cc
 [SO PARAM] ExternalSlave -> ARM/params/ExternalSlave.hh
 [     CXX] ARM/python/_m5/param_ExternalSlave.cc -> .o
 [SO PyBind] FALRU -> ARM/python/_m5/param_FALRU.cc
 [SO PARAM] FALRU -> ARM/params/FALRU.hh
 [     CXX] ARM/python/_m5/param_FALRU.cc -> .o
 [SO PyBind] FIFORP -> ARM/python/_m5/param_FIFORP.cc
 [SO PARAM] FIFORP -> ARM/params/FIFORP.hh
 [     CXX] ARM/python/_m5/param_FIFORP.cc -> .o
 [SO PyBind] FUDesc -> ARM/python/_m5/param_FUDesc.cc
 [     CXX] ARM/python/_m5/param_FUDesc.cc -> .o
 [SO PyBind] FUPool -> ARM/python/_m5/param_FUPool.cc
 [     CXX] ARM/python/_m5/param_FUPool.cc -> .o
 [SO PyBind] FaultModel -> ARM/python/_m5/param_FaultModel.cc
 [SO PARAM] FaultModel -> ARM/params/FaultModel.hh
 [     CXX] ARM/python/_m5/param_FaultModel.cc -> .o
 [SO PyBind] FlashDevice -> ARM/python/_m5/param_FlashDevice.cc
 [SO PARAM] FlashDevice -> ARM/params/FlashDevice.hh
 [ TRACING]  -> ARM/debug/FlashDevice.hh
 [     CXX] ARM/python/_m5/param_FlashDevice.cc -> .o
 [SO PyBind] FreebsdArmSystem -> ARM/python/_m5/param_FreebsdArmSystem.cc
 [SO PARAM] FreebsdArmSystem -> ARM/params/FreebsdArmSystem.hh
 [     CXX] ARM/python/_m5/param_FreebsdArmSystem.cc -> .o
 [SO PyBind] GarnetExtLink -> ARM/python/_m5/param_GarnetExtLink.cc
 [SO PARAM] GarnetExtLink -> ARM/params/GarnetExtLink.hh
 [SO PARAM] GarnetIntLink -> ARM/params/GarnetIntLink.hh
 [     CXX] ARM/python/_m5/param_GarnetExtLink.cc -> .o
 [SO PyBind] GarnetIntLink -> ARM/python/_m5/param_GarnetIntLink.cc
 [     CXX] ARM/python/_m5/param_GarnetIntLink.cc -> .o
 [SO PyBind] GarnetNetwork -> ARM/python/_m5/param_GarnetNetwork.cc
 [SO PARAM] GarnetNetwork -> ARM/params/GarnetNetwork.hh
 [SO PARAM] RubyNetwork -> ARM/params/RubyNetwork.hh
 [     CXX] ARM/python/_m5/param_GarnetNetwork.cc -> .o
 [SO PyBind] GarnetNetworkInterface -> ARM/python/_m5/param_GarnetNetworkInterface.cc
 [SO PARAM] GarnetNetworkInterface -> ARM/params/GarnetNetworkInterface.hh
 [     CXX] ARM/python/_m5/param_GarnetNetworkInterface.cc -> .o
 [SO PyBind] GarnetRouter -> ARM/python/_m5/param_GarnetRouter.cc
 [SO PARAM] GarnetRouter -> ARM/params/GarnetRouter.hh
 [     CXX] ARM/python/_m5/param_GarnetRouter.cc -> .o
 [SO PyBind] GarnetSyntheticTraffic -> ARM/python/_m5/param_GarnetSyntheticTraffic.cc
 [SO PARAM] GarnetSyntheticTraffic -> ARM/params/GarnetSyntheticTraffic.hh
 [     CXX] ARM/python/_m5/param_GarnetSyntheticTraffic.cc -> .o
 [SO PyBind] GenericArmPciHost -> ARM/python/_m5/param_GenericArmPciHost.cc
 [SO PARAM] GenericArmPciHost -> ARM/params/GenericArmPciHost.hh
 [SO PARAM] GenericPciHost -> ARM/params/GenericPciHost.hh
 [     CXX] ARM/python/_m5/param_GenericArmPciHost.cc -> .o
 [SO PyBind] GenericArmSystem -> ARM/python/_m5/param_GenericArmSystem.cc
 [     CXX] ARM/python/_m5/param_GenericArmSystem.cc -> .o
 [SO PyBind] GenericPciHost -> ARM/python/_m5/param_GenericPciHost.cc
 [     CXX] ARM/python/_m5/param_GenericPciHost.cc -> .o
 [SO PyBind] GenericTimer -> ARM/python/_m5/param_GenericTimer.cc
 [SO PARAM] GenericTimer -> ARM/params/GenericTimer.hh
 [     CXX] ARM/python/_m5/param_GenericTimer.cc -> .o
 [SO PyBind] GenericTimerMem -> ARM/python/_m5/param_GenericTimerMem.cc
 [SO PARAM] GenericTimerMem -> ARM/params/GenericTimerMem.hh
 [     CXX] ARM/python/_m5/param_GenericTimerMem.cc -> .o
 [SO PyBind] GicV2 -> ARM/python/_m5/param_GicV2.cc
 [SO PARAM] GicV2 -> ARM/params/GicV2.hh
 [     CXX] ARM/python/_m5/param_GicV2.cc -> .o
 [SO PyBind] Gicv2m -> ARM/python/_m5/param_Gicv2m.cc
 [SO PARAM] Gicv2m -> ARM/params/Gicv2m.hh
 [SO PARAM] Gicv2mFrame -> ARM/params/Gicv2mFrame.hh
 [     CXX] ARM/python/_m5/param_Gicv2m.cc -> .o
 [SO PyBind] Gicv2mFrame -> ARM/python/_m5/param_Gicv2mFrame.cc
 [     CXX] ARM/python/_m5/param_Gicv2mFrame.cc -> .o
 [SO PyBind] Gicv3 -> ARM/python/_m5/param_Gicv3.cc
 [SO PARAM] Gicv3 -> ARM/params/Gicv3.hh
 [     CXX] ARM/python/_m5/param_Gicv3.cc -> .o
 [SO PyBind] GoodbyeObject -> ARM/python/_m5/param_GoodbyeObject.cc
 [SO PARAM] GoodbyeObject -> ARM/params/GoodbyeObject.hh
 [     CXX] ARM/python/_m5/param_GoodbyeObject.cc -> .o
 [SO PyBind] HDLcd -> ARM/python/_m5/param_HDLcd.cc
 [SO PARAM] HDLcd -> ARM/params/HDLcd.hh
 [SO PARAM] VncInput -> ARM/params/VncInput.hh
 [     CXX] ARM/python/_m5/param_HDLcd.cc -> .o
 [SO PyBind] HMCController -> ARM/python/_m5/param_HMCController.cc
 [SO PARAM] HMCController -> ARM/params/HMCController.hh
 [SO PARAM] NoncoherentXBar -> ARM/params/NoncoherentXBar.hh
 [     CXX] ARM/python/_m5/param_HMCController.cc -> .o
 [SO PyBind] HelloObject -> ARM/python/_m5/param_HelloObject.cc
 [SO PARAM] HelloObject -> ARM/params/HelloObject.hh
 [     CXX] ARM/python/_m5/param_HelloObject.cc -> .o
 [SO PyBind] I2CBus -> ARM/python/_m5/param_I2CBus.cc
 [SO PARAM] I2CBus -> ARM/params/I2CBus.hh
 [SO PARAM] I2CDevice -> ARM/params/I2CDevice.hh
 [     CXX] ARM/python/_m5/param_I2CBus.cc -> .o
 [SO PyBind] I2CDevice -> ARM/python/_m5/param_I2CDevice.cc
 [     CXX] ARM/python/_m5/param_I2CDevice.cc -> .o
 [SO PyBind] IGbE -> ARM/python/_m5/param_IGbE.cc
 [SO PARAM] IGbE -> ARM/params/IGbE.hh
 [ TRACING]  -> ARM/debug/EthernetDesc.hh
 [ TRACING]  -> ARM/debug/EthernetIntr.hh
 [     CXX] ARM/python/_m5/param_IGbE.cc -> .o
 [SO PyBind] IdeController -> ARM/python/_m5/param_IdeController.cc
 [SO PARAM] IdeController -> ARM/params/IdeController.hh
 [SO PARAM] IdeDisk -> ARM/params/IdeDisk.hh
 [     CXX] ARM/python/_m5/param_IdeController.cc -> .o
 [SO PyBind] IdeDisk -> ARM/python/_m5/param_IdeDisk.cc
 [     CXX] ARM/python/_m5/param_IdeDisk.cc -> .o
 [SO PyBind] IndirectMemoryPrefetcher -> ARM/python/_m5/param_IndirectMemoryPrefetcher.cc
 [SO PARAM] IndirectMemoryPrefetcher -> ARM/params/IndirectMemoryPrefetcher.hh
 [     CXX] ARM/python/_m5/param_IndirectMemoryPrefetcher.cc -> .o
 [SO PyBind] InstTracer -> ARM/python/_m5/param_InstTracer.cc
 [     CXX] ARM/python/_m5/param_InstTracer.cc -> .o
 [SO PyBind] IntelTrace -> ARM/python/_m5/param_IntelTrace.cc
 [SO PARAM] IntelTrace -> ARM/params/IntelTrace.hh
 [     CXX] ARM/python/_m5/param_IntelTrace.cc -> .o
 [SO PyBind] IntrControl -> ARM/python/_m5/param_IntrControl.cc
 [     CXX] ARM/python/_m5/param_IntrControl.cc -> .o
 [SO PyBind] InvalidateGenerator -> ARM/python/_m5/param_InvalidateGenerator.cc
 [SO PARAM] InvalidateGenerator -> ARM/params/InvalidateGenerator.hh
 [     CXX] ARM/python/_m5/param_InvalidateGenerator.cc -> .o
 [SO PyBind] IrregularStreamBufferPrefetcher -> ARM/python/_m5/param_IrregularStreamBufferPrefetcher.cc
 [SO PARAM] IrregularStreamBufferPrefetcher -> ARM/params/IrregularStreamBufferPrefetcher.hh
 [     CXX] ARM/python/_m5/param_IrregularStreamBufferPrefetcher.cc -> .o
 [SO PyBind] IsaFake -> ARM/python/_m5/param_IsaFake.cc
 [SO PARAM] IsaFake -> ARM/params/IsaFake.hh
 [     CXX] ARM/python/_m5/param_IsaFake.cc -> .o
 [SO PyBind] L1Cache_Controller -> ARM/python/_m5/param_L1Cache_Controller.cc
 [SO PARAM] L1Cache_Controller -> ARM/params/L1Cache_Controller.hh
 [     CXX] ARM/python/_m5/param_L1Cache_Controller.cc -> .o
 [SO PyBind] L2Cache_Controller -> ARM/python/_m5/param_L2Cache_Controller.cc
 [SO PARAM] L2Cache_Controller -> ARM/params/L2Cache_Controller.hh
 [     CXX] ARM/python/_m5/param_L2Cache_Controller.cc -> .o
 [SO PyBind] LFURP -> ARM/python/_m5/param_LFURP.cc
 [SO PARAM] LFURP -> ARM/params/LFURP.hh
 [     CXX] ARM/python/_m5/param_LFURP.cc -> .o
 [SO PyBind] LRURP -> ARM/python/_m5/param_LRURP.cc
 [     CXX] ARM/python/_m5/param_LRURP.cc -> .o
 [SO PyBind] LRUReplacementPolicy -> ARM/python/_m5/param_LRUReplacementPolicy.cc
 [SO PARAM] LRUReplacementPolicy -> ARM/params/LRUReplacementPolicy.hh
 [     CXX] ARM/python/_m5/param_LRUReplacementPolicy.cc -> .o
 [SO PyBind] LTAGE -> ARM/python/_m5/param_LTAGE.cc
 [SO PARAM] LTAGE -> ARM/params/LTAGE.hh
 [SO PARAM] TAGE -> ARM/params/TAGE.hh
 [SO PARAM] TAGEBase -> ARM/params/TAGEBase.hh
 [SO PARAM] LoopPredictor -> ARM/params/LoopPredictor.hh
 [     CXX] ARM/python/_m5/param_LTAGE.cc -> .o
 [SO PyBind] LinuxArmSystem -> ARM/python/_m5/param_LinuxArmSystem.cc
 [SO PARAM] LinuxArmSystem -> ARM/params/LinuxArmSystem.hh
 [     CXX] ARM/python/_m5/param_LinuxArmSystem.cc -> .o
 [SO PyBind] LocalBP -> ARM/python/_m5/param_LocalBP.cc
 [SO PARAM] LocalBP -> ARM/params/LocalBP.hh
 [     CXX] ARM/python/_m5/param_LocalBP.cc -> .o
 [SO PyBind] LoopPredictor -> ARM/python/_m5/param_LoopPredictor.cc
 [     CXX] ARM/python/_m5/param_LoopPredictor.cc -> .o
 [SO PyBind] MRURP -> ARM/python/_m5/param_MRURP.cc
 [SO PARAM] MRURP -> ARM/params/MRURP.hh
 [     CXX] ARM/python/_m5/param_MRURP.cc -> .o
 [SO PyBind] MathExprPowerModel -> ARM/python/_m5/param_MathExprPowerModel.cc
 [SO PARAM] MathExprPowerModel -> ARM/params/MathExprPowerModel.hh
 [     CXX] ARM/python/_m5/param_MathExprPowerModel.cc -> .o
 [SO PyBind] MemChecker -> ARM/python/_m5/param_MemChecker.cc
 [SO PARAM] MemChecker -> ARM/params/MemChecker.hh
 [ TRACING]  -> ARM/debug/MemChecker.hh
 [     CXX] ARM/python/_m5/param_MemChecker.cc -> .o
 [SO PyBind] MemCheckerMonitor -> ARM/python/_m5/param_MemCheckerMonitor.cc
 [SO PARAM] MemCheckerMonitor -> ARM/params/MemCheckerMonitor.hh
 [     CXX] ARM/python/_m5/param_MemCheckerMonitor.cc -> .o
 [SO PyBind] MemDelay -> ARM/python/_m5/param_MemDelay.cc
 [SO PARAM] MemDelay -> ARM/params/MemDelay.hh
 [     CXX] ARM/python/_m5/param_MemDelay.cc -> .o
 [SO PyBind] MemFootprintProbe -> ARM/python/_m5/param_MemFootprintProbe.cc
 [SO PARAM] MemFootprintProbe -> ARM/params/MemFootprintProbe.hh
 [     CXX] ARM/python/_m5/param_MemFootprintProbe.cc -> .o
 [SO PyBind] MemObject -> ARM/python/_m5/param_MemObject.cc
 [     CXX] ARM/python/_m5/param_MemObject.cc -> .o
 [SO PyBind] MemTest -> ARM/python/_m5/param_MemTest.cc
 [SO PARAM] MemTest -> ARM/params/MemTest.hh
 [     CXX] ARM/python/_m5/param_MemTest.cc -> .o
 [SO PyBind] MessageBuffer -> ARM/python/_m5/param_MessageBuffer.cc
 [     CXX] ARM/python/_m5/param_MessageBuffer.cc -> .o
 [SO PyBind] MinorCPU -> ARM/python/_m5/param_MinorCPU.cc
 [SO PARAM] MinorCPU -> ARM/params/MinorCPU.hh
 [SO PARAM] MinorFU -> ARM/params/MinorFU.hh
 [SO PARAM] MinorFUPool -> ARM/params/MinorFUPool.hh
 [SO PARAM] MinorOpClass -> ARM/params/MinorOpClass.hh
 [SO PARAM] MinorOpClassSet -> ARM/params/MinorOpClassSet.hh
 [SO PARAM] TimingExpr -> ARM/params/TimingExpr.hh
 [SO PARAM] TimingExprBin -> ARM/params/TimingExprBin.hh
 [SO PARAM] TimingExprIf -> ARM/params/TimingExprIf.hh
 [SO PARAM] TimingExprLet -> ARM/params/TimingExprLet.hh
 [SO PARAM] TimingExprLiteral -> ARM/params/TimingExprLiteral.hh
 [SO PARAM] TimingExprReadIntReg -> ARM/params/TimingExprReadIntReg.hh
 [SO PARAM] TimingExprRef -> ARM/params/TimingExprRef.hh
 [SO PARAM] TimingExprSrcReg -> ARM/params/TimingExprSrcReg.hh
 [SO PARAM] TimingExprUn -> ARM/params/TimingExprUn.hh
 [ TRACING]  -> ARM/debug/MinorTrace.hh
 [SO PARAM] MinorFUTiming -> ARM/params/MinorFUTiming.hh
 [     CXX] ARM/python/_m5/param_MinorCPU.cc -> .o
 [SO PyBind] MinorFU -> ARM/python/_m5/param_MinorFU.cc
 [     CXX] ARM/python/_m5/param_MinorFU.cc -> .o
 [SO PyBind] MinorFUPool -> ARM/python/_m5/param_MinorFUPool.cc
 [     CXX] ARM/python/_m5/param_MinorFUPool.cc -> .o
 [SO PyBind] MinorFUTiming -> ARM/python/_m5/param_MinorFUTiming.cc
 [     CXX] ARM/python/_m5/param_MinorFUTiming.cc -> .o
 [SO PyBind] MinorOpClass -> ARM/python/_m5/param_MinorOpClass.cc
 [     CXX] ARM/python/_m5/param_MinorOpClass.cc -> .o
 [SO PyBind] MinorOpClassSet -> ARM/python/_m5/param_MinorOpClassSet.cc
 [     CXX] ARM/python/_m5/param_MinorOpClassSet.cc -> .o
 [SO PyBind] MmioVirtIO -> ARM/python/_m5/param_MmioVirtIO.cc
 [SO PARAM] MmioVirtIO -> ARM/params/MmioVirtIO.hh
 [SO PARAM] VirtIODeviceBase -> ARM/params/VirtIODeviceBase.hh
 [     CXX] ARM/python/_m5/param_MmioVirtIO.cc -> .o
 [SO PyBind] NSGigE -> ARM/python/_m5/param_NSGigE.cc
 [SO PARAM] NSGigE -> ARM/params/NSGigE.hh
 [     CXX] ARM/python/_m5/param_NSGigE.cc -> .o
 [SO PyBind] NativeTrace -> ARM/python/_m5/param_NativeTrace.cc
 [     CXX] ARM/python/_m5/param_NativeTrace.cc -> .o
 [SO PyBind] NetworkLink -> ARM/python/_m5/param_NetworkLink.cc
 [     CXX] ARM/python/_m5/param_NetworkLink.cc -> .o
 [SO PyBind] NoMaliGpu -> ARM/python/_m5/param_NoMaliGpu.cc
 [     CXX] ARM/python/_m5/param_NoMaliGpu.cc -> .o
 [SO PyBind] NonCachingSimpleCPU -> ARM/python/_m5/param_NonCachingSimpleCPU.cc
 [SO PARAM] NonCachingSimpleCPU -> ARM/params/NonCachingSimpleCPU.hh
 [     CXX] ARM/python/_m5/param_NonCachingSimpleCPU.cc -> .o
 [SO PyBind] NoncoherentCache -> ARM/python/_m5/param_NoncoherentCache.cc
 [SO PARAM] NoncoherentCache -> ARM/params/NoncoherentCache.hh
 [     CXX] ARM/python/_m5/param_NoncoherentCache.cc -> .o
 [SO PyBind] NoncoherentXBar -> ARM/python/_m5/param_NoncoherentXBar.cc
 [     CXX] ARM/python/_m5/param_NoncoherentXBar.cc -> .o
 [SO PyBind] O3Checker -> ARM/python/_m5/param_O3Checker.cc
 [SO PARAM] O3Checker -> ARM/params/O3Checker.hh
 [     CXX] ARM/python/_m5/param_O3Checker.cc -> .o
 [SO PyBind] OpDesc -> ARM/python/_m5/param_OpDesc.cc
 [     CXX] ARM/python/_m5/param_OpDesc.cc -> .o
 [SO PyBind] PL031 -> ARM/python/_m5/param_PL031.cc
 [SO PARAM] PL031 -> ARM/params/PL031.hh
 [     CXX] ARM/python/_m5/param_PL031.cc -> .o
 [SO PyBind] PS2Device -> ARM/python/_m5/param_PS2Device.cc
 [SO PARAM] PS2Device -> ARM/params/PS2Device.hh
 [     CXX] ARM/python/_m5/param_PS2Device.cc -> .o
 [SO PyBind] PS2Keyboard -> ARM/python/_m5/param_PS2Keyboard.cc
 [SO PARAM] PS2Keyboard -> ARM/params/PS2Keyboard.hh
 [     CXX] ARM/python/_m5/param_PS2Keyboard.cc -> .o
 [SO PyBind] PS2Mouse -> ARM/python/_m5/param_PS2Mouse.cc
 [SO PARAM] PS2Mouse -> ARM/params/PS2Mouse.hh
 [     CXX] ARM/python/_m5/param_PS2Mouse.cc -> .o
 [SO PyBind] PS2TouchKit -> ARM/python/_m5/param_PS2TouchKit.cc
 [SO PARAM] PS2TouchKit -> ARM/params/PS2TouchKit.hh
 [     CXX] ARM/python/_m5/param_PS2TouchKit.cc -> .o
 [SO PyBind] PciDevice -> ARM/python/_m5/param_PciDevice.cc
 [     CXX] ARM/python/_m5/param_PciDevice.cc -> .o
 [SO PyBind] PciHost -> ARM/python/_m5/param_PciHost.cc
 [     CXX] ARM/python/_m5/param_PciHost.cc -> .o
 [SO PyBind] PciVirtIO -> ARM/python/_m5/param_PciVirtIO.cc
 [SO PARAM] PciVirtIO -> ARM/params/PciVirtIO.hh
 [     CXX] ARM/python/_m5/param_PciVirtIO.cc -> .o
 [SO PyBind] PioDevice -> ARM/python/_m5/param_PioDevice.cc
 [     CXX] ARM/python/_m5/param_PioDevice.cc -> .o
 [SO PyBind] Pl011 -> ARM/python/_m5/param_Pl011.cc
 [SO PARAM] Pl011 -> ARM/params/Pl011.hh
 [SO PARAM] Uart -> ARM/params/Uart.hh
 [SO PARAM] SerialDevice -> ARM/params/SerialDevice.hh
 [     CXX] ARM/python/_m5/param_Pl011.cc -> .o
 [SO PyBind] Pl050 -> ARM/python/_m5/param_Pl050.cc
 [SO PARAM] Pl050 -> ARM/params/Pl050.hh
 [     CXX] ARM/python/_m5/param_Pl050.cc -> .o
 [SO PyBind] Pl111 -> ARM/python/_m5/param_Pl111.cc
 [SO PARAM] Pl111 -> ARM/params/Pl111.hh
 [     CXX] ARM/python/_m5/param_Pl111.cc -> .o
 [SO PyBind] Platform -> ARM/python/_m5/param_Platform.cc
 [     CXX] ARM/python/_m5/param_Platform.cc -> .o
 [SO PyBind] PowerModel -> ARM/python/_m5/param_PowerModel.cc
 [     CXX] ARM/python/_m5/param_PowerModel.cc -> .o
 [SO PyBind] PowerModelState -> ARM/python/_m5/param_PowerModelState.cc
 [     CXX] ARM/python/_m5/param_PowerModelState.cc -> .o
 [SO PyBind] Prefetcher -> ARM/python/_m5/param_Prefetcher.cc
 [     CXX] ARM/python/_m5/param_Prefetcher.cc -> .o
 [SO PyBind] ProbeListenerObject -> ARM/python/_m5/param_ProbeListenerObject.cc
 [SO PARAM] ProbeListenerObject -> ARM/params/ProbeListenerObject.hh
 [     CXX] ARM/python/_m5/param_ProbeListenerObject.cc -> .o
 [SO PyBind] Process -> ARM/python/_m5/param_Process.cc
 [     CXX] ARM/python/_m5/param_Process.cc -> .o
 [SO PyBind] PseudoLRUReplacementPolicy -> ARM/python/_m5/param_PseudoLRUReplacementPolicy.cc
 [SO PARAM] PseudoLRUReplacementPolicy -> ARM/params/PseudoLRUReplacementPolicy.hh
 [     CXX] ARM/python/_m5/param_PseudoLRUReplacementPolicy.cc -> .o
 [SO PyBind] PyTrafficGen -> ARM/python/_m5/param_PyTrafficGen.cc
 [SO PARAM] PyTrafficGen -> ARM/params/PyTrafficGen.hh
 [     CXX] ARM/python/_m5/param_PyTrafficGen.cc -> .o
 [SO PyBind] QoSFixedPriorityPolicy -> ARM/python/_m5/param_QoSFixedPriorityPolicy.cc
 [SO PARAM] QoSFixedPriorityPolicy -> ARM/params/QoSFixedPriorityPolicy.hh
 [     CXX] ARM/python/_m5/param_QoSFixedPriorityPolicy.cc -> .o
 [SO PyBind] QoSMemCtrl -> ARM/python/_m5/param_QoSMemCtrl.cc
 [     CXX] ARM/python/_m5/param_QoSMemCtrl.cc -> .o
 [SO PyBind] QoSMemSinkCtrl -> ARM/python/_m5/param_QoSMemSinkCtrl.cc
 [SO PARAM] QoSMemSinkCtrl -> ARM/params/QoSMemSinkCtrl.hh
 [     CXX] ARM/python/_m5/param_QoSMemSinkCtrl.cc -> .o
 [SO PyBind] QoSPolicy -> ARM/python/_m5/param_QoSPolicy.cc
 [     CXX] ARM/python/_m5/param_QoSPolicy.cc -> .o
 [SO PyBind] QoSPropFairPolicy -> ARM/python/_m5/param_QoSPropFairPolicy.cc
 [SO PARAM] QoSPropFairPolicy -> ARM/params/QoSPropFairPolicy.hh
 [     CXX] ARM/python/_m5/param_QoSPropFairPolicy.cc -> .o
 [SO PyBind] QoSTurnaroundPolicy -> ARM/python/_m5/param_QoSTurnaroundPolicy.cc
 [     CXX] ARM/python/_m5/param_QoSTurnaroundPolicy.cc -> .o
 [SO PyBind] QoSTurnaroundPolicyIdeal -> ARM/python/_m5/param_QoSTurnaroundPolicyIdeal.cc
 [SO PARAM] QoSTurnaroundPolicyIdeal -> ARM/params/QoSTurnaroundPolicyIdeal.hh
 [     CXX] ARM/python/_m5/param_QoSTurnaroundPolicyIdeal.cc -> .o
 [SO PyBind] QueuedPrefetcher -> ARM/python/_m5/param_QueuedPrefetcher.cc
 [     CXX] ARM/python/_m5/param_QueuedPrefetcher.cc -> .o
 [SO PyBind] RandomRP -> ARM/python/_m5/param_RandomRP.cc
 [SO PARAM] RandomRP -> ARM/params/RandomRP.hh
 [     CXX] ARM/python/_m5/param_RandomRP.cc -> .o
 [SO PyBind] RangeAddrMapper -> ARM/python/_m5/param_RangeAddrMapper.cc
 [     CXX] ARM/python/_m5/param_RangeAddrMapper.cc -> .o
 [SO PyBind] RawDiskImage -> ARM/python/_m5/param_RawDiskImage.cc
 [     CXX] ARM/python/_m5/param_RawDiskImage.cc -> .o
 [SO PyBind] RealView -> ARM/python/_m5/param_RealView.cc
 [     CXX] ARM/python/_m5/param_RealView.cc -> .o
 [SO PyBind] RealViewCtrl -> ARM/python/_m5/param_RealViewCtrl.cc
 [SO PARAM] RealViewCtrl -> ARM/params/RealViewCtrl.hh
 [SO PARAM] RealViewOsc -> ARM/params/RealViewOsc.hh
 [SO PARAM] RealViewTemperatureSensor -> ARM/params/RealViewTemperatureSensor.hh
 [     CXX] ARM/python/_m5/param_RealViewCtrl.cc -> .o
 [SO PyBind] RealViewOsc -> ARM/python/_m5/param_RealViewOsc.cc
 [     CXX] ARM/python/_m5/param_RealViewOsc.cc -> .o
 [SO PyBind] RealViewTemperatureSensor -> ARM/python/_m5/param_RealViewTemperatureSensor.cc
 [     CXX] ARM/python/_m5/param_RealViewTemperatureSensor.cc -> .o
 [SO PyBind] ReplacementPolicy -> ARM/python/_m5/param_ReplacementPolicy.cc
 [     CXX] ARM/python/_m5/param_ReplacementPolicy.cc -> .o
 [SO PyBind] Root -> ARM/python/_m5/param_Root.cc
 [SO PARAM] Root -> ARM/params/Root.hh
 [     CXX] ARM/python/_m5/param_Root.cc -> .o
 [SO PyBind] RubyCache -> ARM/python/_m5/param_RubyCache.cc
 [     CXX] ARM/python/_m5/param_RubyCache.cc -> .o
 [SO PyBind] RubyController -> ARM/python/_m5/param_RubyController.cc
 [     CXX] ARM/python/_m5/param_RubyController.cc -> .o
 [SO PyBind] RubyDirectedTester -> ARM/python/_m5/param_RubyDirectedTester.cc
 [     CXX] ARM/python/_m5/param_RubyDirectedTester.cc -> .o
 [SO PyBind] RubyDirectoryMemory -> ARM/python/_m5/param_RubyDirectoryMemory.cc
 [     CXX] ARM/python/_m5/param_RubyDirectoryMemory.cc -> .o
 [SO PyBind] RubyNetwork -> ARM/python/_m5/param_RubyNetwork.cc
 [     CXX] ARM/python/_m5/param_RubyNetwork.cc -> .o
 [SO PyBind] RubyPort -> ARM/python/_m5/param_RubyPort.cc
 [     CXX] ARM/python/_m5/param_RubyPort.cc -> .o
 [SO PyBind] RubyPortProxy -> ARM/python/_m5/param_RubyPortProxy.cc
 [SO PARAM] RubyPortProxy -> ARM/params/RubyPortProxy.hh
 [     CXX] ARM/python/_m5/param_RubyPortProxy.cc -> .o
 [SO PyBind] RubySequencer -> ARM/python/_m5/param_RubySequencer.cc
 [     CXX] ARM/python/_m5/param_RubySequencer.cc -> .o
 [SO PyBind] RubySystem -> ARM/python/_m5/param_RubySystem.cc
 [     CXX] ARM/python/_m5/param_RubySystem.cc -> .o
 [SO PyBind] RubyTester -> ARM/python/_m5/param_RubyTester.cc
 [SO PARAM] RubyTester -> ARM/params/RubyTester.hh
 [     CXX] ARM/python/_m5/param_RubyTester.cc -> .o
 [SO PyBind] RubyWireBuffer -> ARM/python/_m5/param_RubyWireBuffer.cc
 [     CXX] ARM/python/_m5/param_RubyWireBuffer.cc -> .o
 [SO PyBind] SBOOEPrefetcher -> ARM/python/_m5/param_SBOOEPrefetcher.cc
 [SO PARAM] SBOOEPrefetcher -> ARM/params/SBOOEPrefetcher.hh
 [     CXX] ARM/python/_m5/param_SBOOEPrefetcher.cc -> .o
 [SO PyBind] STeMSPrefetcher -> ARM/python/_m5/param_STeMSPrefetcher.cc
 [SO PARAM] STeMSPrefetcher -> ARM/params/STeMSPrefetcher.hh
 [     CXX] ARM/python/_m5/param_STeMSPrefetcher.cc -> .o
 [SO PyBind] SecondChanceRP -> ARM/python/_m5/param_SecondChanceRP.cc
 [SO PARAM] SecondChanceRP -> ARM/params/SecondChanceRP.hh
 [     CXX] ARM/python/_m5/param_SecondChanceRP.cc -> .o
 [SO PyBind] SectorTags -> ARM/python/_m5/param_SectorTags.cc
 [SO PARAM] SectorTags -> ARM/params/SectorTags.hh
 [     CXX] ARM/python/_m5/param_SectorTags.cc -> .o
 [SO PyBind] SerialDevice -> ARM/python/_m5/param_SerialDevice.cc
 [     CXX] ARM/python/_m5/param_SerialDevice.cc -> .o
 [SO PyBind] SerialLink -> ARM/python/_m5/param_SerialLink.cc
 [SO PARAM] SerialLink -> ARM/params/SerialLink.hh
 [     CXX] ARM/python/_m5/param_SerialLink.cc -> .o
 [SO PyBind] SerialNullDevice -> ARM/python/_m5/param_SerialNullDevice.cc
 [SO PARAM] SerialNullDevice -> ARM/params/SerialNullDevice.hh
 [     CXX] ARM/python/_m5/param_SerialNullDevice.cc -> .o
 [SO PyBind] SeriesRequestGenerator -> ARM/python/_m5/param_SeriesRequestGenerator.cc
 [SO PARAM] SeriesRequestGenerator -> ARM/params/SeriesRequestGenerator.hh
 [     CXX] ARM/python/_m5/param_SeriesRequestGenerator.cc -> .o
 [SO PyBind] SetAssociative -> ARM/python/_m5/param_SetAssociative.cc
 [SO PARAM] SetAssociative -> ARM/params/SetAssociative.hh
 [     CXX] ARM/python/_m5/param_SetAssociative.cc -> .o
 [SO PyBind] SignaturePathPrefetcher -> ARM/python/_m5/param_SignaturePathPrefetcher.cc
 [SO PARAM] SignaturePathPrefetcher -> ARM/params/SignaturePathPrefetcher.hh
 [     CXX] ARM/python/_m5/param_SignaturePathPrefetcher.cc -> .o
 [SO PyBind] SignaturePathPrefetcherV2 -> ARM/python/_m5/param_SignaturePathPrefetcherV2.cc
 [SO PARAM] SignaturePathPrefetcherV2 -> ARM/params/SignaturePathPrefetcherV2.hh
 [     CXX] ARM/python/_m5/param_SignaturePathPrefetcherV2.cc -> .o
 [SO PyBind] SimObject -> ARM/python/_m5/param_SimObject.cc
 [     CXX] ARM/python/_m5/param_SimObject.cc -> .o
 [SO PyBind] SimPoint -> ARM/python/_m5/param_SimPoint.cc
 [SO PARAM] SimPoint -> ARM/params/SimPoint.hh
 [     CXX] ARM/python/_m5/param_SimPoint.cc -> .o
 [SO PyBind] SimpleCache -> ARM/python/_m5/param_SimpleCache.cc
 [SO PARAM] SimpleCache -> ARM/params/SimpleCache.hh
 [     CXX] ARM/python/_m5/param_SimpleCache.cc -> .o
 [SO PyBind] SimpleDisk -> ARM/python/_m5/param_SimpleDisk.cc
 [SO PARAM] SimpleDisk -> ARM/params/SimpleDisk.hh
 [     CXX] ARM/python/_m5/param_SimpleDisk.cc -> .o
 [SO PyBind] SimpleExtLink -> ARM/python/_m5/param_SimpleExtLink.cc
 [SO PARAM] SimpleExtLink -> ARM/params/SimpleExtLink.hh
 [SO PARAM] SimpleIntLink -> ARM/params/SimpleIntLink.hh
 [     CXX] ARM/python/_m5/param_SimpleExtLink.cc -> .o
 [SO PyBind] SimpleIntLink -> ARM/python/_m5/param_SimpleIntLink.cc
 [     CXX] ARM/python/_m5/param_SimpleIntLink.cc -> .o
 [SO PyBind] SimpleMemDelay -> ARM/python/_m5/param_SimpleMemDelay.cc
 [SO PARAM] SimpleMemDelay -> ARM/params/SimpleMemDelay.hh
 [     CXX] ARM/python/_m5/param_SimpleMemDelay.cc -> .o
 [SO PyBind] SimpleMemobj -> ARM/python/_m5/param_SimpleMemobj.cc
 [SO PARAM] SimpleMemobj -> ARM/params/SimpleMemobj.hh
 [     CXX] ARM/python/_m5/param_SimpleMemobj.cc -> .o
 [SO PyBind] SimpleMemory -> ARM/python/_m5/param_SimpleMemory.cc
 [     CXX] ARM/python/_m5/param_SimpleMemory.cc -> .o
 [SO PyBind] SimpleNetwork -> ARM/python/_m5/param_SimpleNetwork.cc
 [SO PARAM] SimpleNetwork -> ARM/params/SimpleNetwork.hh
 [     CXX] ARM/python/_m5/param_SimpleNetwork.cc -> .o
 [SO PyBind] SimpleObject -> ARM/python/_m5/param_SimpleObject.cc
 [SO PARAM] SimpleObject -> ARM/params/SimpleObject.hh
 [     CXX] ARM/python/_m5/param_SimpleObject.cc -> .o
 [SO PyBind] SimpleTrace -> ARM/python/_m5/param_SimpleTrace.cc
 [SO PARAM] SimpleTrace -> ARM/params/SimpleTrace.hh
 [     CXX] ARM/python/_m5/param_SimpleTrace.cc -> .o
 [SO PyBind] SimpleUart -> ARM/python/_m5/param_SimpleUart.cc
 [SO PARAM] SimpleUart -> ARM/params/SimpleUart.hh
 [     CXX] ARM/python/_m5/param_SimpleUart.cc -> .o
 [SO PyBind] Sinic -> ARM/python/_m5/param_Sinic.cc
 [SO PARAM] Sinic -> ARM/params/Sinic.hh
 [     CXX] ARM/python/_m5/param_Sinic.cc -> .o
 [SO PyBind] SkewedAssociative -> ARM/python/_m5/param_SkewedAssociative.cc
 [SO PARAM] SkewedAssociative -> ARM/params/SkewedAssociative.hh
 [     CXX] ARM/python/_m5/param_SkewedAssociative.cc -> .o
 [SO PyBind] SlimAMPMPrefetcher -> ARM/python/_m5/param_SlimAMPMPrefetcher.cc
 [SO PARAM] SlimAMPMPrefetcher -> ARM/params/SlimAMPMPrefetcher.hh
 [     CXX] ARM/python/_m5/param_SlimAMPMPrefetcher.cc -> .o
 [SO PyBind] SnoopFilter -> ARM/python/_m5/param_SnoopFilter.cc
 [     CXX] ARM/python/_m5/param_SnoopFilter.cc -> .o
 [SO PyBind] Sp804 -> ARM/python/_m5/param_Sp804.cc
 [SO PARAM] Sp804 -> ARM/params/Sp804.hh
 [     CXX] ARM/python/_m5/param_Sp804.cc -> .o
 [SO PyBind] SrcClockDomain -> ARM/python/_m5/param_SrcClockDomain.cc
 [     CXX] ARM/python/_m5/param_SrcClockDomain.cc -> .o
 [SO PyBind] StackDistProbe -> ARM/python/_m5/param_StackDistProbe.cc
 [SO PARAM] StackDistProbe -> ARM/params/StackDistProbe.hh
 [     CXX] ARM/python/_m5/param_StackDistProbe.cc -> .o
 [SO PyBind] StatisticalCorrector -> ARM/python/_m5/param_StatisticalCorrector.cc
 [SO PARAM] StatisticalCorrector -> ARM/params/StatisticalCorrector.hh
 [     CXX] ARM/python/_m5/param_StatisticalCorrector.cc -> .o
 [SO PyBind] StridePrefetcher -> ARM/python/_m5/param_StridePrefetcher.cc
 [SO PARAM] StridePrefetcher -> ARM/params/StridePrefetcher.hh
 [     CXX] ARM/python/_m5/param_StridePrefetcher.cc -> .o
 [SO PyBind] SubSystem -> ARM/python/_m5/param_SubSystem.cc
 [     CXX] ARM/python/_m5/param_SubSystem.cc -> .o
 [SO PyBind] Switch -> ARM/python/_m5/param_Switch.cc
 [SO PARAM] Switch -> ARM/params/Switch.hh
 [     CXX] ARM/python/_m5/param_Switch.cc -> .o
 [SO PyBind] System -> ARM/python/_m5/param_System.cc
 [SO PARAM] ThermalCapacitor -> ARM/params/ThermalCapacitor.hh
 [SO PARAM] ThermalReference -> ARM/params/ThermalReference.hh
 [SO PARAM] ThermalResistor -> ARM/params/ThermalResistor.hh
 [     CXX] ARM/python/_m5/param_System.cc -> .o
 [SO PyBind] SystemC_Kernel -> ARM/python/_m5/param_SystemC_Kernel.cc
 [SO PARAM] SystemC_Kernel -> ARM/params/SystemC_Kernel.hh
 [     CXX] ARM/python/_m5/param_SystemC_Kernel.cc -> .o
 [SO PyBind] SystemC_ScModule -> ARM/python/_m5/param_SystemC_ScModule.cc
 [SO PARAM] SystemC_ScModule -> ARM/params/SystemC_ScModule.hh
 [SO PARAM] SystemC_ScObject -> ARM/params/SystemC_ScObject.hh
 [     CXX] ARM/python/_m5/param_SystemC_ScModule.cc -> .o
 [SO PyBind] SystemC_ScObject -> ARM/python/_m5/param_SystemC_ScObject.cc
 [     CXX] ARM/python/_m5/param_SystemC_ScObject.cc -> .o
 [SO PyBind] TAGE -> ARM/python/_m5/param_TAGE.cc
 [     CXX] ARM/python/_m5/param_TAGE.cc -> .o
 [SO PyBind] TAGEBase -> ARM/python/_m5/param_TAGEBase.cc
 [     CXX] ARM/python/_m5/param_TAGEBase.cc -> .o
 [SO PyBind] TAGE_SC_L -> ARM/python/_m5/param_TAGE_SC_L.cc
 [SO PARAM] TAGE_SC_L -> ARM/params/TAGE_SC_L.hh
 [SO PARAM] TAGE_SC_L_LoopPredictor -> ARM/params/TAGE_SC_L_LoopPredictor.hh
 [SO PARAM] TAGE_SC_L_TAGE -> ARM/params/TAGE_SC_L_TAGE.hh
 [     CXX] ARM/python/_m5/param_TAGE_SC_L.cc -> .o
 [SO PyBind] TAGE_SC_L_64KB -> ARM/python/_m5/param_TAGE_SC_L_64KB.cc
 [SO PARAM] TAGE_SC_L_64KB -> ARM/params/TAGE_SC_L_64KB.hh
 [SO PARAM] TAGE_SC_L_64KB_StatisticalCorrector -> ARM/params/TAGE_SC_L_64KB_StatisticalCorrector.hh
 [SO PARAM] TAGE_SC_L_TAGE_64KB -> ARM/params/TAGE_SC_L_TAGE_64KB.hh
 [     CXX] ARM/python/_m5/param_TAGE_SC_L_64KB.cc -> .o
 [SO PyBind] TAGE_SC_L_64KB_StatisticalCorrector -> ARM/python/_m5/param_TAGE_SC_L_64KB_StatisticalCorrector.cc
 [     CXX] ARM/python/_m5/param_TAGE_SC_L_64KB_StatisticalCorrector.cc -> .o
 [SO PyBind] TAGE_SC_L_8KB -> ARM/python/_m5/param_TAGE_SC_L_8KB.cc
 [SO PARAM] TAGE_SC_L_8KB -> ARM/params/TAGE_SC_L_8KB.hh
 [SO PARAM] TAGE_SC_L_8KB_StatisticalCorrector -> ARM/params/TAGE_SC_L_8KB_StatisticalCorrector.hh
 [SO PARAM] TAGE_SC_L_TAGE_8KB -> ARM/params/TAGE_SC_L_TAGE_8KB.hh
 [     CXX] ARM/python/_m5/param_TAGE_SC_L_8KB.cc -> .o
 [SO PyBind] TAGE_SC_L_8KB_StatisticalCorrector -> ARM/python/_m5/param_TAGE_SC_L_8KB_StatisticalCorrector.cc
 [     CXX] ARM/python/_m5/param_TAGE_SC_L_8KB_StatisticalCorrector.cc -> .o
 [SO PyBind] TAGE_SC_L_LoopPredictor -> ARM/python/_m5/param_TAGE_SC_L_LoopPredictor.cc
 [     CXX] ARM/python/_m5/param_TAGE_SC_L_LoopPredictor.cc -> .o
 [SO PyBind] TAGE_SC_L_TAGE -> ARM/python/_m5/param_TAGE_SC_L_TAGE.cc
 [     CXX] ARM/python/_m5/param_TAGE_SC_L_TAGE.cc -> .o
 [SO PyBind] TAGE_SC_L_TAGE_64KB -> ARM/python/_m5/param_TAGE_SC_L_TAGE_64KB.cc
 [     CXX] ARM/python/_m5/param_TAGE_SC_L_TAGE_64KB.cc -> .o
 [SO PyBind] TAGE_SC_L_TAGE_8KB -> ARM/python/_m5/param_TAGE_SC_L_TAGE_8KB.cc
 [     CXX] ARM/python/_m5/param_TAGE_SC_L_TAGE_8KB.cc -> .o
 [SO PyBind] TaggedPrefetcher -> ARM/python/_m5/param_TaggedPrefetcher.cc
 [SO PARAM] TaggedPrefetcher -> ARM/params/TaggedPrefetcher.hh
 [     CXX] ARM/python/_m5/param_TaggedPrefetcher.cc -> .o
 [SO PyBind] TarmacParser -> ARM/python/_m5/param_TarmacParser.cc
 [SO PARAM] TarmacParser -> ARM/params/TarmacParser.hh
 [     CXX] ARM/python/_m5/param_TarmacParser.cc -> .o
 [SO PyBind] TarmacTracer -> ARM/python/_m5/param_TarmacTracer.cc
 [SO PARAM] TarmacTracer -> ARM/params/TarmacTracer.hh
 [     CXX] ARM/python/_m5/param_TarmacTracer.cc -> .o
 [SO PyBind] Terminal -> ARM/python/_m5/param_Terminal.cc
 [SO PARAM] Terminal -> ARM/params/Terminal.hh
 [     CXX] ARM/python/_m5/param_Terminal.cc -> .o
 [SO PyBind] ThermalCapacitor -> ARM/python/_m5/param_ThermalCapacitor.cc
 [     CXX] ARM/python/_m5/param_ThermalCapacitor.cc -> .o
 [SO PyBind] ThermalDomain -> ARM/python/_m5/param_ThermalDomain.cc
 [     CXX] ARM/python/_m5/param_ThermalDomain.cc -> .o
 [SO PyBind] ThermalModel -> ARM/python/_m5/param_ThermalModel.cc
 [     CXX] ARM/python/_m5/param_ThermalModel.cc -> .o
 [SO PyBind] ThermalNode -> ARM/python/_m5/param_ThermalNode.cc
 [SO PARAM] ThermalNode -> ARM/params/ThermalNode.hh
 [     CXX] ARM/python/_m5/param_ThermalNode.cc -> .o
 [SO PyBind] ThermalReference -> ARM/python/_m5/param_ThermalReference.cc
 [     CXX] ARM/python/_m5/param_ThermalReference.cc -> .o
 [SO PyBind] ThermalResistor -> ARM/python/_m5/param_ThermalResistor.cc
 [     CXX] ARM/python/_m5/param_ThermalResistor.cc -> .o
 [SO PyBind] TickedObject -> ARM/python/_m5/param_TickedObject.cc
 [SO PARAM] TickedObject -> ARM/params/TickedObject.hh
 [     CXX] ARM/python/_m5/param_TickedObject.cc -> .o
 [SO PyBind] TimingExpr -> ARM/python/_m5/param_TimingExpr.cc
 [     CXX] ARM/python/_m5/param_TimingExpr.cc -> .o
 [SO PyBind] TimingExprBin -> ARM/python/_m5/param_TimingExprBin.cc
 [     CXX] ARM/python/_m5/param_TimingExprBin.cc -> .o
 [SO PyBind] TimingExprIf -> ARM/python/_m5/param_TimingExprIf.cc
 [     CXX] ARM/python/_m5/param_TimingExprIf.cc -> .o
 [SO PyBind] TimingExprLet -> ARM/python/_m5/param_TimingExprLet.cc
 [     CXX] ARM/python/_m5/param_TimingExprLet.cc -> .o
 [SO PyBind] TimingExprLiteral -> ARM/python/_m5/param_TimingExprLiteral.cc
 [     CXX] ARM/python/_m5/param_TimingExprLiteral.cc -> .o
 [SO PyBind] TimingExprReadIntReg -> ARM/python/_m5/param_TimingExprReadIntReg.cc
 [     CXX] ARM/python/_m5/param_TimingExprReadIntReg.cc -> .o
 [SO PyBind] TimingExprRef -> ARM/python/_m5/param_TimingExprRef.cc
 [     CXX] ARM/python/_m5/param_TimingExprRef.cc -> .o
 [SO PyBind] TimingExprSrcReg -> ARM/python/_m5/param_TimingExprSrcReg.cc
 [     CXX] ARM/python/_m5/param_TimingExprSrcReg.cc -> .o
 [SO PyBind] TimingExprUn -> ARM/python/_m5/param_TimingExprUn.cc
 [     CXX] ARM/python/_m5/param_TimingExprUn.cc -> .o
 [SO PyBind] TimingSimpleCPU -> ARM/python/_m5/param_TimingSimpleCPU.cc
 [SO PARAM] TimingSimpleCPU -> ARM/params/TimingSimpleCPU.hh
 [     CXX] ARM/python/_m5/param_TimingSimpleCPU.cc -> .o
 [SO PyBind] TournamentBP -> ARM/python/_m5/param_TournamentBP.cc
 [SO PARAM] TournamentBP -> ARM/params/TournamentBP.hh
 [     CXX] ARM/python/_m5/param_TournamentBP.cc -> .o
 [SO PyBind] TreePLRURP -> ARM/python/_m5/param_TreePLRURP.cc
 [SO PARAM] TreePLRURP -> ARM/params/TreePLRURP.hh
 [     CXX] ARM/python/_m5/param_TreePLRURP.cc -> .o
 [SO PyBind] UFSHostDevice -> ARM/python/_m5/param_UFSHostDevice.cc
 [SO PARAM] UFSHostDevice -> ARM/params/UFSHostDevice.hh
 [ TRACING]  -> ARM/debug/UFSHostDevice.hh
 [     CXX] ARM/python/_m5/param_UFSHostDevice.cc -> .o
 [SO PyBind] Uart -> ARM/python/_m5/param_Uart.cc
 [     CXX] ARM/python/_m5/param_Uart.cc -> .o
 [SO PyBind] Uart8250 -> ARM/python/_m5/param_Uart8250.cc
 [SO PARAM] Uart8250 -> ARM/params/Uart8250.hh
 [     CXX] ARM/python/_m5/param_Uart8250.cc -> .o
 [SO PyBind] VGic -> ARM/python/_m5/param_VGic.cc
 [SO PARAM] VGic -> ARM/params/VGic.hh
 [     CXX] ARM/python/_m5/param_VGic.cc -> .o
 [SO PyBind] VirtIO9PBase -> ARM/python/_m5/param_VirtIO9PBase.cc
 [SO PARAM] VirtIO9PBase -> ARM/params/VirtIO9PBase.hh
 [     CXX] ARM/python/_m5/param_VirtIO9PBase.cc -> .o
 [SO PyBind] VirtIO9PDiod -> ARM/python/_m5/param_VirtIO9PDiod.cc
 [SO PARAM] VirtIO9PDiod -> ARM/params/VirtIO9PDiod.hh
 [SO PARAM] VirtIO9PProxy -> ARM/params/VirtIO9PProxy.hh
 [     CXX] ARM/python/_m5/param_VirtIO9PDiod.cc -> .o
 [SO PyBind] VirtIO9PProxy -> ARM/python/_m5/param_VirtIO9PProxy.cc
 [     CXX] ARM/python/_m5/param_VirtIO9PProxy.cc -> .o
 [SO PyBind] VirtIO9PSocket -> ARM/python/_m5/param_VirtIO9PSocket.cc
 [SO PARAM] VirtIO9PSocket -> ARM/params/VirtIO9PSocket.hh
 [     CXX] ARM/python/_m5/param_VirtIO9PSocket.cc -> .o
 [SO PyBind] VirtIOBlock -> ARM/python/_m5/param_VirtIOBlock.cc
 [SO PARAM] VirtIOBlock -> ARM/params/VirtIOBlock.hh
 [     CXX] ARM/python/_m5/param_VirtIOBlock.cc -> .o
 [SO PyBind] VirtIOConsole -> ARM/python/_m5/param_VirtIOConsole.cc
 [SO PARAM] VirtIOConsole -> ARM/params/VirtIOConsole.hh
 [     CXX] ARM/python/_m5/param_VirtIOConsole.cc -> .o
 [SO PyBind] VirtIODeviceBase -> ARM/python/_m5/param_VirtIODeviceBase.cc
 [     CXX] ARM/python/_m5/param_VirtIODeviceBase.cc -> .o
 [SO PyBind] VirtIODummyDevice -> ARM/python/_m5/param_VirtIODummyDevice.cc
 [SO PARAM] VirtIODummyDevice -> ARM/params/VirtIODummyDevice.hh
 [     CXX] ARM/python/_m5/param_VirtIODummyDevice.cc -> .o
 [SO PyBind] VncInput -> ARM/python/_m5/param_VncInput.cc
 [     CXX] ARM/python/_m5/param_VncInput.cc -> .o
 [SO PyBind] VncServer -> ARM/python/_m5/param_VncServer.cc
 [SO PARAM] VncServer -> ARM/params/VncServer.hh
 [     CXX] ARM/python/_m5/param_VncServer.cc -> .o
 [SO PyBind] VoltageDomain -> ARM/python/_m5/param_VoltageDomain.cc
 [     CXX] ARM/python/_m5/param_VoltageDomain.cc -> .o
 [SO PyBind] WeightedLRUReplacementPolicy -> ARM/python/_m5/param_WeightedLRUReplacementPolicy.cc
 [SO PARAM] WeightedLRUReplacementPolicy -> ARM/params/WeightedLRUReplacementPolicy.hh
 [     CXX] ARM/python/_m5/param_WeightedLRUReplacementPolicy.cc -> .o
 [SO PyBind] WriteAllocator -> ARM/python/_m5/param_WriteAllocator.cc
 [     CXX] ARM/python/_m5/param_WriteAllocator.cc -> .o
 [ TRACING]  -> ARM/debug/flags.cc
 [     CXX] ARM/debug/flags.cc -> .o
 [     CXX] ARM/python/marshal.cc -> .o
 [    SHCC] libfdt/fdt.c -> .os
 [    SHCC] libfdt/fdt_ro.c -> .os
 [    SHCC] libfdt/fdt_rw.c -> .os
 [    SHCC] libfdt/fdt_sw.c -> .os
 [    SHCC] libfdt/fdt_wip.c -> .os
 [    SHCC] libfdt/fdt_empty_tree.c -> .os
 [    SHCC] libfdt/fdt_strerror.c -> .os
 [      AR]  -> libfdt/libfdt.a
 [  RANLIB]  -> libfdt/libfdt.a
 [   SHCXX] iostream3/zfstream.cc -> .os
 [      AR]  -> iostream3/libiostream3.a
 [  RANLIB]  -> iostream3/libiostream3.a
 [   SHCXX] nomali/lib/gpu.cc -> .os
 [   SHCXX] nomali/lib/gpublock.cc -> .os
 [   SHCXX] nomali/lib/gpucontrol.cc -> .os
 [   SHCXX] nomali/lib/jobcontrol.cc -> .os
 [   SHCXX] nomali/lib/jobslot.cc -> .os
 [   SHCXX] nomali/lib/mali_midgard.cc -> .os
 [   SHCXX] nomali/lib/mali_t6xx.cc -> .os
 [   SHCXX] nomali/lib/mali_t7xx.cc -> .os
 [   SHCXX] nomali/lib/addrspace.cc -> .os
 [   SHCXX] nomali/lib/mmu.cc -> .os
 [   SHCXX] nomali/lib/nomali_api.cc -> .os
 [      AR]  -> nomali/libnomali.a
 [  RANLIB]  -> nomali/libnomali.a
 [   SHCXX] drampower/src/CommandAnalysis.cc -> .os
 [   SHCXX] drampower/src/MemArchitectureSpec.cc -> .os
 [   SHCXX] drampower/src/MemCommand.cc -> .os
 [   SHCXX] drampower/src/MemPowerSpec.cc -> .os
 [   SHCXX] drampower/src/MemTimingSpec.cc -> .os
 [   SHCXX] drampower/src/MemoryPowerModel.cc -> .os
 [   SHCXX] drampower/src/MemorySpecification.cc -> .os
 [   SHCXX] drampower/src/Parameter.cc -> .os
 [   SHCXX] drampower/src/Parametrisable.cc -> .os
 [   SHCXX] drampower/src/libdrampower/LibDRAMPower.cc -> .os
 [   SHCXX] drampower/src/CAHelpers.cc -> .os
 [   SHCXX] drampower/src/CmdHandlers.cc -> .os
 [   SHCXX] drampower/src/MemBankWiseParams.cc -> .os
 [      AR]  -> drampower/libdrampower.a
 [  RANLIB]  -> drampower/libdrampower.a
 [    SHCC] fputils/fp64.c -> .os
 [    SHCC] fputils/fp80.c -> .os
 [      AR]  -> fputils/libfputils.a
 [  RANLIB]  -> fputils/libfputils.a
 [    SHCC] libelf/elf_begin.c -> .os
 [    SHCC] libelf/elf_cntl.c -> .os
 [    SHCC] libelf/elf_data.c -> .os
 [    SHCC] libelf/elf_end.c -> .os
 [    SHCC] libelf/elf_errmsg.c -> .os
 [    SHCC] libelf/elf_errno.c -> .os
 [    SHCC] libelf/elf_fill.c -> .os
 [    SHCC] libelf/elf_flag.c -> .os
 [    SHCC] libelf/elf_getarhdr.c -> .os
 [    SHCC] libelf/elf_getarsym.c -> .os
 [    SHCC] libelf/elf_getbase.c -> .os
 [    SHCC] libelf/elf_getident.c -> .os
 [    SHCC] libelf/elf_hash.c -> .os
 [    SHCC] libelf/elf_kind.c -> .os
 [    SHCC] libelf/elf_memory.c -> .os
 [    SHCC] libelf/elf_next.c -> .os
 [    SHCC] libelf/elf_phnum.c -> .os
 [    SHCC] libelf/elf_rand.c -> .os
 [    SHCC] libelf/elf_rawfile.c -> .os
 [    SHCC] libelf/elf_scn.c -> .os
 [    SHCC] libelf/elf_shnum.c -> .os
 [    SHCC] libelf/elf_shstrndx.c -> .os
 [    SHCC] libelf/elf_strptr.c -> .os
 [    SHCC] libelf/elf_update.c -> .os
 [    SHCC] libelf/elf_version.c -> .os
 [    SHCC] libelf/gelf_checksum.c -> .os
 [    SHCC] libelf/gelf_dyn.c -> .os
 [    SHCC] libelf/gelf_ehdr.c -> .os
 [    SHCC] libelf/gelf_fsize.c -> .os
 [    SHCC] libelf/gelf_getclass.c -> .os
 [    SHCC] libelf/gelf_phdr.c -> .os
 [    SHCC] libelf/gelf_rel.c -> .os
 [    SHCC] libelf/gelf_rela.c -> .os
 [    SHCC] libelf/gelf_shdr.c -> .os
 [    SHCC] libelf/gelf_sym.c -> .os
 [    SHCC] libelf/gelf_symshndx.c -> .os
 [    SHCC] libelf/gelf_xlate.c -> .os
 [    SHCC] libelf/libelf.c -> .os
 [    SHCC] libelf/libelf_align.c -> .os
 [    SHCC] libelf/libelf_allocate.c -> .os
 [    SHCC] libelf/libelf_ar.c -> .os
 [    SHCC] libelf/libelf_checksum.c -> .os
 [    SHCC] libelf/libelf_data.c -> .os
 [    SHCC] libelf/libelf_ehdr.c -> .os
 [    SHCC] libelf/libelf_extended.c -> .os
 [    SHCC] libelf/libelf_phdr.c -> .os
 [    SHCC] libelf/libelf_shdr.c -> .os
 [    SHCC] libelf/libelf_xlate.c -> .os
 [      M4] libelf/elf_types.m4, libelf_convert.m4 -> libelf_convert.c
 [    SHCC] libelf/libelf_convert.c -> .os
 [      M4] libelf/elf_types.m4, libelf_fsize.m4 -> libelf_fsize.c
 [    SHCC] libelf/libelf_fsize.c -> .os
 [      M4] libelf/elf_types.m4, libelf_msize.m4 -> libelf_msize.c
 [    SHCC] libelf/libelf_msize.c -> .os
 [      AR]  -> libelf/libelf.a
 [  RANLIB]  -> libelf/libelf.a
 [    LINK]  -> ARM/python/marshal
 [EMBED PY] ARM/python/marshal, arch/generic/BaseTLB.py -> arch/generic/BaseTLB.py.cc
 [     CXX] ARM/arch/generic/BaseTLB.py.cc -> .o
 [EMBED PY] ARM/python/marshal, arch/generic/ISACommon.py -> arch/generic/ISACommon.py.cc
 [     CXX] ARM/arch/generic/ISACommon.py.cc -> .o
 [EMBED PY] ARM/python/marshal, arch/arm/ArmInterrupts.py -> arch/arm/ArmInterrupts.py.cc
 [     CXX] ARM/arch/arm/ArmInterrupts.py.cc -> .o
 [EMBED PY] ARM/python/marshal, arch/arm/ArmISA.py -> arch/arm/ArmISA.py.cc
 [     CXX] ARM/arch/arm/ArmISA.py.cc -> .o
 [EMBED PY] ARM/python/marshal, arch/arm/ArmNativeTrace.py -> arch/arm/ArmNativeTrace.py.cc
 [     CXX] ARM/arch/arm/ArmNativeTrace.py.cc -> .o
 [EMBED PY] ARM/python/marshal, arch/arm/ArmSemihosting.py -> arch/arm/ArmSemihosting.py.cc
 [     CXX] ARM/arch/arm/ArmSemihosting.py.cc -> .o
 [EMBED PY] ARM/python/marshal, arch/arm/ArmSystem.py -> arch/arm/ArmSystem.py.cc
 [     CXX] ARM/arch/arm/ArmSystem.py.cc -> .o
 [EMBED PY] ARM/python/marshal, arch/arm/ArmTLB.py -> arch/arm/ArmTLB.py.cc
 [     CXX] ARM/arch/arm/ArmTLB.py.cc -> .o
 [EMBED PY] ARM/python/marshal, arch/arm/ArmPMU.py -> arch/arm/ArmPMU.py.cc
 [     CXX] ARM/arch/arm/ArmPMU.py.cc -> .o
 [EMBED PY] ARM/python/marshal, arch/arm/tracers/TarmacTrace.py -> arch/arm/tracers/TarmacTrace.py.cc
 [     CXX] ARM/arch/arm/tracers/TarmacTrace.py.cc -> .o
 [EMBED PY] ARM/python/marshal, sim/ClockedObject.py -> sim/ClockedObject.py.cc
 [     CXX] ARM/sim/ClockedObject.py.cc -> .o
 [EMBED PY] ARM/python/marshal, sim/TickedObject.py -> sim/TickedObject.py.cc
 [     CXX] ARM/sim/TickedObject.py.cc -> .o
 [EMBED PY] ARM/python/marshal, sim/Root.py -> sim/Root.py.cc
 [     CXX] ARM/sim/Root.py.cc -> .o
 [EMBED PY] ARM/python/marshal, sim/ClockDomain.py -> sim/ClockDomain.py.cc
 [     CXX] ARM/sim/ClockDomain.py.cc -> .o
 [EMBED PY] ARM/python/marshal, sim/VoltageDomain.py -> sim/VoltageDomain.py.cc
 [     CXX] ARM/sim/VoltageDomain.py.cc -> .o
 [EMBED PY] ARM/python/marshal, sim/System.py -> sim/System.py.cc
 [     CXX] ARM/sim/System.py.cc -> .o
 [EMBED PY] ARM/python/marshal, sim/DVFSHandler.py -> sim/DVFSHandler.py.cc
 [     CXX] ARM/sim/DVFSHandler.py.cc -> .o
 [EMBED PY] ARM/python/marshal, sim/SubSystem.py -> sim/SubSystem.py.cc
 [     CXX] ARM/sim/SubSystem.py.cc -> .o
 [EMBED PY] ARM/python/marshal, sim/InstTracer.py -> sim/InstTracer.py.cc
 [     CXX] ARM/sim/InstTracer.py.cc -> .o
 [EMBED PY] ARM/python/marshal, sim/Process.py -> sim/Process.py.cc
 [     CXX] ARM/sim/Process.py.cc -> .o
 [EMBED PY] ARM/python/marshal, sim/power/MathExprPowerModel.py -> sim/power/MathExprPowerModel.py.cc
 [     CXX] ARM/sim/power/MathExprPowerModel.py.cc -> .o
 [EMBED PY] ARM/python/marshal, sim/power/PowerModel.py -> sim/power/PowerModel.py.cc
 [     CXX] ARM/sim/power/PowerModel.py.cc -> .o
 [EMBED PY] ARM/python/marshal, sim/power/PowerModelState.py -> sim/power/PowerModelState.py.cc
 [     CXX] ARM/sim/power/PowerModelState.py.cc -> .o
 [EMBED PY] ARM/python/marshal, sim/power/ThermalDomain.py -> sim/power/ThermalDomain.py.cc
 [     CXX] ARM/sim/power/ThermalDomain.py.cc -> .o
 [EMBED PY] ARM/python/marshal, sim/power/ThermalModel.py -> sim/power/ThermalModel.py.cc
 [     CXX] ARM/sim/power/ThermalModel.py.cc -> .o
 [EMBED PY] ARM/python/marshal, sim/probe/Probe.py -> sim/probe/Probe.py.cc
 [     CXX] ARM/sim/probe/Probe.py.cc -> .o
 [EMBED PY] ARM/python/marshal, dev/Device.py -> dev/Device.py.cc
 [     CXX] ARM/dev/Device.py.cc -> .o
 [EMBED PY] ARM/python/marshal, dev/Platform.py -> dev/Platform.py.cc
 [     CXX] ARM/dev/Platform.py.cc -> .o
 [EMBED PY] ARM/python/marshal, dev/BadDevice.py -> dev/BadDevice.py.cc
 [     CXX] ARM/dev/BadDevice.py.cc -> .o
 [EMBED PY] ARM/python/marshal, dev/ps2/PS2.py -> dev/ps2/PS2.py.cc
 [     CXX] ARM/dev/ps2/PS2.py.cc -> .o
 [EMBED PY] ARM/python/marshal, dev/storage/Ide.py -> dev/storage/Ide.py.cc
 [     CXX] ARM/dev/storage/Ide.py.cc -> .o
 [EMBED PY] ARM/python/marshal, dev/storage/DiskImage.py -> dev/storage/DiskImage.py.cc
 [     CXX] ARM/dev/storage/DiskImage.py.cc -> .o
 [EMBED PY] ARM/python/marshal, dev/storage/SimpleDisk.py -> dev/storage/SimpleDisk.py.cc
 [     CXX] ARM/dev/storage/SimpleDisk.py.cc -> .o
 [EMBED PY] ARM/python/marshal, dev/serial/Serial.py -> dev/serial/Serial.py.cc
 [     CXX] ARM/dev/serial/Serial.py.cc -> .o
 [EMBED PY] ARM/python/marshal, dev/serial/Terminal.py -> dev/serial/Terminal.py.cc
 [     CXX] ARM/dev/serial/Terminal.py.cc -> .o
 [EMBED PY] ARM/python/marshal, dev/serial/Uart.py -> dev/serial/Uart.py.cc
 [     CXX] ARM/dev/serial/Uart.py.cc -> .o
 [EMBED PY] ARM/python/marshal, dev/virtio/VirtIO.py -> dev/virtio/VirtIO.py.cc
 [     CXX] ARM/dev/virtio/VirtIO.py.cc -> .o
 [EMBED PY] ARM/python/marshal, dev/virtio/VirtIOConsole.py -> dev/virtio/VirtIOConsole.py.cc
 [     CXX] ARM/dev/virtio/VirtIOConsole.py.cc -> .o
 [EMBED PY] ARM/python/marshal, dev/virtio/VirtIOBlock.py -> dev/virtio/VirtIOBlock.py.cc
 [     CXX] ARM/dev/virtio/VirtIOBlock.py.cc -> .o
 [EMBED PY] ARM/python/marshal, dev/virtio/VirtIO9P.py -> dev/virtio/VirtIO9P.py.cc
 [     CXX] ARM/dev/virtio/VirtIO9P.py.cc -> .o
 [EMBED PY] ARM/python/marshal, dev/i2c/I2C.py -> dev/i2c/I2C.py.cc
 [     CXX] ARM/dev/i2c/I2C.py.cc -> .o
 [EMBED PY] ARM/python/marshal, dev/pci/PciDevice.py -> dev/pci/PciDevice.py.cc
 [     CXX] ARM/dev/pci/PciDevice.py.cc -> .o
 [EMBED PY] ARM/python/marshal, dev/pci/PciHost.py -> dev/pci/PciHost.py.cc
 [     CXX] ARM/dev/pci/PciHost.py.cc -> .o
 [EMBED PY] ARM/python/marshal, dev/pci/CopyEngine.py -> dev/pci/CopyEngine.py.cc
 [     CXX] ARM/dev/pci/CopyEngine.py.cc -> .o
 [EMBED PY] ARM/python/marshal, dev/arm/AbstractNVM.py -> dev/arm/AbstractNVM.py.cc
 [     CXX] ARM/dev/arm/AbstractNVM.py.cc -> .o
 [EMBED PY] ARM/python/marshal, dev/arm/FlashDevice.py -> dev/arm/FlashDevice.py.cc
 [     CXX] ARM/dev/arm/FlashDevice.py.cc -> .o
 [EMBED PY] ARM/python/marshal, dev/arm/Gic.py -> dev/arm/Gic.py.cc
 [     CXX] ARM/dev/arm/Gic.py.cc -> .o
 [EMBED PY] ARM/python/marshal, dev/arm/RealView.py -> dev/arm/RealView.py.cc
 [     CXX] ARM/dev/arm/RealView.py.cc -> .o
 [EMBED PY] ARM/python/marshal, dev/arm/UFSHostDevice.py -> dev/arm/UFSHostDevice.py.cc
 [     CXX] ARM/dev/arm/UFSHostDevice.py.cc -> .o
 [EMBED PY] ARM/python/marshal, dev/arm/EnergyCtrl.py -> dev/arm/EnergyCtrl.py.cc
 [     CXX] ARM/dev/arm/EnergyCtrl.py.cc -> .o
 [EMBED PY] ARM/python/marshal, dev/arm/NoMali.py -> dev/arm/NoMali.py.cc
 [     CXX] ARM/dev/arm/NoMali.py.cc -> .o
 [EMBED PY] ARM/python/marshal, dev/arm/VirtIOMMIO.py -> dev/arm/VirtIOMMIO.py.cc
 [     CXX] ARM/dev/arm/VirtIOMMIO.py.cc -> .o
 [EMBED PY] ARM/python/marshal, dev/net/Ethernet.py -> dev/net/Ethernet.py.cc
 [     CXX] ARM/dev/net/Ethernet.py.cc -> .o
 [EMBED PY] ARM/python/marshal, systemc/core/SystemC.py -> systemc/core/SystemC.py.cc
 [     CXX] ARM/systemc/core/SystemC.py.cc -> .o
 [EMBED PY] ARM/python/marshal, systemc/python/systemc.py -> systemc/python/systemc.py.cc
 [     CXX] ARM/systemc/python/systemc.py.cc -> .o
 [EMBED PY] ARM/python/marshal, systemc/python/tlm.py -> systemc/python/tlm.py.cc
 [     CXX] ARM/systemc/python/tlm.py.cc -> .o
 [EMBED PY] ARM/python/marshal, learning_gem5/part2/SimpleObject.py -> learning_gem5/part2/SimpleObject.py.cc
 [     CXX] ARM/learning_gem5/part2/SimpleObject.py.cc -> .o
 [EMBED PY] ARM/python/marshal, learning_gem5/part2/HelloObject.py -> learning_gem5/part2/HelloObject.py.cc
 [     CXX] ARM/learning_gem5/part2/HelloObject.py.cc -> .o
 [EMBED PY] ARM/python/marshal, learning_gem5/part2/SimpleMemobj.py -> learning_gem5/part2/SimpleMemobj.py.cc
 [     CXX] ARM/learning_gem5/part2/SimpleMemobj.py.cc -> .o
 [EMBED PY] ARM/python/marshal, learning_gem5/part2/SimpleCache.py -> learning_gem5/part2/SimpleCache.py.cc
 [     CXX] ARM/learning_gem5/part2/SimpleCache.py.cc -> .o
 [EMBED PY] ARM/python/marshal, importer.py -> importer.py.cc
 [     CXX] ARM/python/importer.py.cc -> .o
 [EMBED PY] ARM/python/marshal, ARM/python/m5/__init__.py -> ARM/python/m5/__init__.py.cc
 [     CXX] ARM/python/m5/__init__.py.cc -> .o
 [EMBED PY] ARM/python/marshal, ARM/python/m5/SimObject.py -> ARM/python/m5/SimObject.py.cc
 [     CXX] ARM/python/m5/SimObject.py.cc -> .o
 [EMBED PY] ARM/python/marshal, ARM/python/m5/config.py -> ARM/python/m5/config.py.cc
 [     CXX] ARM/python/m5/config.py.cc -> .o
 [EMBED PY] ARM/python/marshal, ARM/python/m5/core.py -> ARM/python/m5/core.py.cc
 [     CXX] ARM/python/m5/core.py.cc -> .o
 [EMBED PY] ARM/python/marshal, ARM/python/m5/debug.py -> ARM/python/m5/debug.py.cc
 [     CXX] ARM/python/m5/debug.py.cc -> .o
 [EMBED PY] ARM/python/marshal, ARM/python/m5/event.py -> ARM/python/m5/event.py.cc
 [     CXX] ARM/python/m5/event.py.cc -> .o
 [EMBED PY] ARM/python/marshal, ARM/python/m5/main.py -> ARM/python/m5/main.py.cc
 [     CXX] ARM/python/m5/main.py.cc -> .o
 [EMBED PY] ARM/python/marshal, ARM/python/m5/options.py -> ARM/python/m5/options.py.cc
 [     CXX] ARM/python/m5/options.py.cc -> .o
 [EMBED PY] ARM/python/marshal, ARM/python/m5/params.py -> ARM/python/m5/params.py.cc
 [     CXX] ARM/python/m5/params.py.cc -> .o
 [EMBED PY] ARM/python/marshal, ARM/python/m5/proxy.py -> ARM/python/m5/proxy.py.cc
 [     CXX] ARM/python/m5/proxy.py.cc -> .o
 [EMBED PY] ARM/python/marshal, ARM/python/m5/simulate.py -> ARM/python/m5/simulate.py.cc
 [     CXX] ARM/python/m5/simulate.py.cc -> .o
 [EMBED PY] ARM/python/marshal, ARM/python/m5/ticks.py -> ARM/python/m5/ticks.py.cc
 [     CXX] ARM/python/m5/ticks.py.cc -> .o
 [EMBED PY] ARM/python/marshal, ARM/python/m5/trace.py -> ARM/python/m5/trace.py.cc
 [     CXX] ARM/python/m5/trace.py.cc -> .o
 [EMBED PY] ARM/python/marshal, ARM/python/m5/objects/__init__.py -> ARM/python/m5/objects/__init__.py.cc
 [     CXX] ARM/python/m5/objects/__init__.py.cc -> .o
 [EMBED PY] ARM/python/marshal, ARM/python/m5/stats/__init__.py -> ARM/python/m5/stats/__init__.py.cc
 [     CXX] ARM/python/m5/stats/__init__.py.cc -> .o
 [EMBED PY] ARM/python/marshal, ARM/python/m5/util/__init__.py -> ARM/python/m5/util/__init__.py.cc
 [     CXX] ARM/python/m5/util/__init__.py.cc -> .o
 [EMBED PY] ARM/python/marshal, ARM/python/m5/util/attrdict.py -> ARM/python/m5/util/attrdict.py.cc
 [     CXX] ARM/python/m5/util/attrdict.py.cc -> .o
 [EMBED PY] ARM/python/marshal, ARM/python/m5/util/code_formatter.py -> ARM/python/m5/util/code_formatter.py.cc
 [     CXX] ARM/python/m5/util/code_formatter.py.cc -> .o
 [EMBED PY] ARM/python/marshal, ARM/python/m5/util/convert.py -> ARM/python/m5/util/convert.py.cc
 [     CXX] ARM/python/m5/util/convert.py.cc -> .o
 [EMBED PY] ARM/python/marshal, ARM/python/m5/util/dot_writer.py -> ARM/python/m5/util/dot_writer.py.cc
 [     CXX] ARM/python/m5/util/dot_writer.py.cc -> .o
 [EMBED PY] ARM/python/marshal, ARM/python/m5/util/grammar.py -> ARM/python/m5/util/grammar.py.cc
 [     CXX] ARM/python/m5/util/grammar.py.cc -> .o
 [EMBED PY] ARM/python/marshal, ARM/python/m5/util/jobfile.py -> ARM/python/m5/util/jobfile.py.cc
 [     CXX] ARM/python/m5/util/jobfile.py.cc -> .o
 [EMBED PY] ARM/python/marshal, ARM/python/m5/util/multidict.py -> ARM/python/m5/util/multidict.py.cc
 [     CXX] ARM/python/m5/util/multidict.py.cc -> .o
 [EMBED PY] ARM/python/marshal, ARM/python/m5/util/smartdict.py -> ARM/python/m5/util/smartdict.py.cc
 [     CXX] ARM/python/m5/util/smartdict.py.cc -> .o
 [EMBED PY] ARM/python/marshal, ARM/python/m5/util/sorteddict.py -> ARM/python/m5/util/sorteddict.py.cc
 [     CXX] ARM/python/m5/util/sorteddict.py.cc -> .o
 [EMBED PY] ARM/python/marshal, ARM/python/m5/util/terminal.py -> ARM/python/m5/util/terminal.py.cc
 [     CXX] ARM/python/m5/util/terminal.py.cc -> .o
 [EMBED PY] ARM/python/marshal, ARM/python/m5/util/pybind.py -> ARM/python/m5/util/pybind.py.cc
 [     CXX] ARM/python/m5/util/pybind.py.cc -> .o
 [EMBED PY] ARM/python/marshal, ARM/python/m5/util/fdthelper.py -> ARM/python/m5/util/fdthelper.py.cc
 [     CXX] ARM/python/m5/util/fdthelper.py.cc -> .o
 [EMBED PY] ARM/python/marshal, ARM/python/m5/internal/__init__.py -> ARM/python/m5/internal/__init__.py.cc
 [     CXX] ARM/python/m5/internal/__init__.py.cc -> .o
 [EMBED PY] ARM/python/marshal, ARM/python/m5/internal/params.py -> ARM/python/m5/internal/params.py.cc
 [     CXX] ARM/python/m5/internal/params.py.cc -> .o
 [EMBED PY] ARM/python/marshal, ARM/python/m5/ext/__init__.py -> ARM/python/m5/ext/__init__.py.cc
 [     CXX] ARM/python/m5/ext/__init__.py.cc -> .o
 [EMBED PY] ARM/python/marshal, ARM/python/m5/ext/pyfdt/pyfdt.py -> ARM/python/m5/ext/pyfdt/pyfdt.py.cc
 [     CXX] ARM/python/m5/ext/pyfdt/pyfdt.py.cc -> .o
 [EMBED PY] ARM/python/marshal, ARM/python/m5/ext/pyfdt/__init__.py -> ARM/python/m5/ext/pyfdt/__init__.py.cc
 [     CXX] ARM/python/m5/ext/pyfdt/__init__.py.cc -> .o
 [EMBED PY] ARM/python/marshal, base/Graphics.py -> base/Graphics.py.cc
 [     CXX] ARM/base/Graphics.py.cc -> .o
 [EMBED PY] ARM/python/marshal, base/vnc/Vnc.py -> base/vnc/Vnc.py.cc
 [     CXX] ARM/base/vnc/Vnc.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/CommMonitor.py -> mem/CommMonitor.py.cc
 [     CXX] ARM/mem/CommMonitor.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/AbstractMemory.py -> mem/AbstractMemory.py.cc
 [     CXX] ARM/mem/AbstractMemory.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/AddrMapper.py -> mem/AddrMapper.py.cc
 [     CXX] ARM/mem/AddrMapper.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/Bridge.py -> mem/Bridge.py.cc
 [     CXX] ARM/mem/Bridge.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/DRAMCtrl.py -> mem/DRAMCtrl.py.cc
 [     CXX] ARM/mem/DRAMCtrl.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/ExternalMaster.py -> mem/ExternalMaster.py.cc
 [     CXX] ARM/mem/ExternalMaster.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/ExternalSlave.py -> mem/ExternalSlave.py.cc
 [     CXX] ARM/mem/ExternalSlave.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/MemObject.py -> mem/MemObject.py.cc
 [     CXX] ARM/mem/MemObject.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/SimpleMemory.py -> mem/SimpleMemory.py.cc
 [     CXX] ARM/mem/SimpleMemory.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/XBar.py -> mem/XBar.py.cc
 [     CXX] ARM/mem/XBar.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/HMCController.py -> mem/HMCController.py.cc
 [     CXX] ARM/mem/HMCController.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/SerialLink.py -> mem/SerialLink.py.cc
 [     CXX] ARM/mem/SerialLink.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/MemDelay.py -> mem/MemDelay.py.cc
 [     CXX] ARM/mem/MemDelay.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/MemChecker.py -> mem/MemChecker.py.cc
 [     CXX] ARM/mem/MemChecker.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/ruby/structures/RubyCache.py -> mem/ruby/structures/RubyCache.py.cc
 [     CXX] ARM/mem/ruby/structures/RubyCache.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/ruby/structures/DirectoryMemory.py -> mem/ruby/structures/DirectoryMemory.py.cc
 [     CXX] ARM/mem/ruby/structures/DirectoryMemory.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/ruby/structures/LRUReplacementPolicy.py -> mem/ruby/structures/LRUReplacementPolicy.py.cc
 [     CXX] ARM/mem/ruby/structures/LRUReplacementPolicy.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/ruby/structures/PseudoLRUReplacementPolicy.py -> mem/ruby/structures/PseudoLRUReplacementPolicy.py.cc
 [     CXX] ARM/mem/ruby/structures/PseudoLRUReplacementPolicy.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/ruby/structures/ReplacementPolicy.py -> mem/ruby/structures/ReplacementPolicy.py.cc
 [     CXX] ARM/mem/ruby/structures/ReplacementPolicy.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/ruby/structures/RubyPrefetcher.py -> mem/ruby/structures/RubyPrefetcher.py.cc
 [     CXX] ARM/mem/ruby/structures/RubyPrefetcher.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/ruby/structures/WireBuffer.py -> mem/ruby/structures/WireBuffer.py.cc
 [     CXX] ARM/mem/ruby/structures/WireBuffer.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/ruby/system/RubySystem.py -> mem/ruby/system/RubySystem.py.cc
 [     CXX] ARM/mem/ruby/system/RubySystem.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/ruby/system/Sequencer.py -> mem/ruby/system/Sequencer.py.cc
 [     CXX] ARM/mem/ruby/system/Sequencer.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/ruby/system/WeightedLRUReplacementPolicy.py -> mem/ruby/system/WeightedLRUReplacementPolicy.py.cc
 [     CXX] ARM/mem/ruby/system/WeightedLRUReplacementPolicy.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/ruby/network/BasicLink.py -> mem/ruby/network/BasicLink.py.cc
 [     CXX] ARM/mem/ruby/network/BasicLink.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/ruby/network/BasicRouter.py -> mem/ruby/network/BasicRouter.py.cc
 [     CXX] ARM/mem/ruby/network/BasicRouter.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/ruby/network/MessageBuffer.py -> mem/ruby/network/MessageBuffer.py.cc
 [     CXX] ARM/mem/ruby/network/MessageBuffer.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/ruby/network/Network.py -> mem/ruby/network/Network.py.cc
 [     CXX] ARM/mem/ruby/network/Network.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/ruby/network/fault_model/FaultModel.py -> mem/ruby/network/fault_model/FaultModel.py.cc
 [     CXX] ARM/mem/ruby/network/fault_model/FaultModel.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/ruby/network/garnet2.0/GarnetLink.py -> mem/ruby/network/garnet2.0/GarnetLink.py.cc
 [     CXX] ARM/mem/ruby/network/garnet2.0/GarnetLink.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/ruby/network/garnet2.0/GarnetNetwork.py -> mem/ruby/network/garnet2.0/GarnetNetwork.py.cc
 [     CXX] ARM/mem/ruby/network/garnet2.0/GarnetNetwork.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/ruby/network/simple/SimpleLink.py -> mem/ruby/network/simple/SimpleLink.py.cc
 [     CXX] ARM/mem/ruby/network/simple/SimpleLink.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/ruby/network/simple/SimpleNetwork.py -> mem/ruby/network/simple/SimpleNetwork.py.cc
 [     CXX] ARM/mem/ruby/network/simple/SimpleNetwork.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/ruby/slicc_interface/Controller.py -> mem/ruby/slicc_interface/Controller.py.cc
 [     CXX] ARM/mem/ruby/slicc_interface/Controller.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/qos/QoSMemCtrl.py -> mem/qos/QoSMemCtrl.py.cc
 [     CXX] ARM/mem/qos/QoSMemCtrl.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/qos/QoSMemSinkCtrl.py -> mem/qos/QoSMemSinkCtrl.py.cc
 [     CXX] ARM/mem/qos/QoSMemSinkCtrl.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/qos/QoSPolicy.py -> mem/qos/QoSPolicy.py.cc
 [     CXX] ARM/mem/qos/QoSPolicy.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/qos/QoSTurnaround.py -> mem/qos/QoSTurnaround.py.cc
 [     CXX] ARM/mem/qos/QoSTurnaround.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/protocol/DMA_Controller.py -> mem/protocol/DMA_Controller.py.cc
 [     CXX] ARM/mem/protocol/DMA_Controller.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/protocol/Directory_Controller.py -> mem/protocol/Directory_Controller.py.cc
 [     CXX] ARM/mem/protocol/Directory_Controller.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/protocol/L1Cache_Controller.py -> mem/protocol/L1Cache_Controller.py.cc
 [     CXX] ARM/mem/protocol/L1Cache_Controller.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/protocol/L2Cache_Controller.py -> mem/protocol/L2Cache_Controller.py.cc
 [     CXX] ARM/mem/protocol/L2Cache_Controller.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/probes/BaseMemProbe.py -> mem/probes/BaseMemProbe.py.cc
 [     CXX] ARM/mem/probes/BaseMemProbe.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/probes/StackDistProbe.py -> mem/probes/StackDistProbe.py.cc
 [     CXX] ARM/mem/probes/StackDistProbe.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/probes/MemFootprintProbe.py -> mem/probes/MemFootprintProbe.py.cc
 [     CXX] ARM/mem/probes/MemFootprintProbe.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/cache/Cache.py -> mem/cache/Cache.py.cc
 [     CXX] ARM/mem/cache/Cache.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/cache/replacement_policies/ReplacementPolicies.py -> mem/cache/replacement_policies/ReplacementPolicies.py.cc
 [     CXX] ARM/mem/cache/replacement_policies/ReplacementPolicies.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/cache/prefetch/Prefetcher.py -> mem/cache/prefetch/Prefetcher.py.cc
 [     CXX] ARM/mem/cache/prefetch/Prefetcher.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/cache/tags/Tags.py -> mem/cache/tags/Tags.py.cc
 [     CXX] ARM/mem/cache/tags/Tags.py.cc -> .o
 [EMBED PY] ARM/python/marshal, mem/cache/tags/indexing_policies/IndexingPolicies.py -> mem/cache/tags/indexing_policies/IndexingPolicies.py.cc
 [     CXX] ARM/mem/cache/tags/indexing_policies/IndexingPolicies.py.cc -> .o
 [EMBED PY] ARM/python/marshal, cpu/CheckerCPU.py -> cpu/CheckerCPU.py.cc
 [     CXX] ARM/cpu/CheckerCPU.py.cc -> .o
 [EMBED PY] ARM/python/marshal, cpu/BaseCPU.py -> cpu/BaseCPU.py.cc
 [     CXX] ARM/cpu/BaseCPU.py.cc -> .o
 [EMBED PY] ARM/python/marshal, cpu/CPUTracers.py -> cpu/CPUTracers.py.cc
 [     CXX] ARM/cpu/CPUTracers.py.cc -> .o
 [EMBED PY] ARM/python/marshal, cpu/FuncUnit.py -> cpu/FuncUnit.py.cc
 [     CXX] ARM/cpu/FuncUnit.py.cc -> .o
 [EMBED PY] ARM/python/marshal, cpu/IntrControl.py -> cpu/IntrControl.py.cc
 [     CXX] ARM/cpu/IntrControl.py.cc -> .o
 [EMBED PY] ARM/python/marshal, cpu/TimingExpr.py -> cpu/TimingExpr.py.cc
 [     CXX] ARM/cpu/TimingExpr.py.cc -> .o
 [EMBED PY] ARM/python/marshal, cpu/DummyChecker.py -> cpu/DummyChecker.py.cc
 [     CXX] ARM/cpu/DummyChecker.py.cc -> .o
 [EMBED PY] ARM/python/marshal, cpu/StaticInstFlags.py -> cpu/StaticInstFlags.py.cc
 [     CXX] ARM/cpu/StaticInstFlags.py.cc -> .o
 [EMBED PY] ARM/python/marshal, cpu/testers/garnet_synthetic_traffic/GarnetSyntheticTraffic.py -> cpu/testers/garnet_synthetic_traffic/GarnetSyntheticTraffic.py.cc
 [     CXX] ARM/cpu/testers/garnet_synthetic_traffic/GarnetSyntheticTraffic.py.cc -> .o
 [EMBED PY] ARM/python/marshal, cpu/testers/memtest/MemTest.py -> cpu/testers/memtest/MemTest.py.cc
 [     CXX] ARM/cpu/testers/memtest/MemTest.py.cc -> .o
 [EMBED PY] ARM/python/marshal, cpu/testers/rubytest/RubyTester.py -> cpu/testers/rubytest/RubyTester.py.cc
 [     CXX] ARM/cpu/testers/rubytest/RubyTester.py.cc -> .o
 [EMBED PY] ARM/python/marshal, cpu/testers/traffic_gen/BaseTrafficGen.py -> cpu/testers/traffic_gen/BaseTrafficGen.py.cc
 [     CXX] ARM/cpu/testers/traffic_gen/BaseTrafficGen.py.cc -> .o
 [EMBED PY] ARM/python/marshal, cpu/testers/traffic_gen/PyTrafficGen.py -> cpu/testers/traffic_gen/PyTrafficGen.py.cc
 [     CXX] ARM/cpu/testers/traffic_gen/PyTrafficGen.py.cc -> .o
 [EMBED PY] ARM/python/marshal, cpu/testers/directedtest/RubyDirectedTester.py -> cpu/testers/directedtest/RubyDirectedTester.py.cc
 [     CXX] ARM/cpu/testers/directedtest/RubyDirectedTester.py.cc -> .o
 [EMBED PY] ARM/python/marshal, cpu/minor/MinorCPU.py -> cpu/minor/MinorCPU.py.cc
 [     CXX] ARM/cpu/minor/MinorCPU.py.cc -> .o
 [EMBED PY] ARM/python/marshal, cpu/simple/AtomicSimpleCPU.py -> cpu/simple/AtomicSimpleCPU.py.cc
 [     CXX] ARM/cpu/simple/AtomicSimpleCPU.py.cc -> .o
 [EMBED PY] ARM/python/marshal, cpu/simple/NonCachingSimpleCPU.py -> cpu/simple/NonCachingSimpleCPU.py.cc
 [     CXX] ARM/cpu/simple/NonCachingSimpleCPU.py.cc -> .o
 [EMBED PY] ARM/python/marshal, cpu/simple/TimingSimpleCPU.py -> cpu/simple/TimingSimpleCPU.py.cc
 [     CXX] ARM/cpu/simple/TimingSimpleCPU.py.cc -> .o
 [EMBED PY] ARM/python/marshal, cpu/simple/BaseSimpleCPU.py -> cpu/simple/BaseSimpleCPU.py.cc
 [     CXX] ARM/cpu/simple/BaseSimpleCPU.py.cc -> .o
 [EMBED PY] ARM/python/marshal, cpu/simple/probes/SimPoint.py -> cpu/simple/probes/SimPoint.py.cc
 [     CXX] ARM/cpu/simple/probes/SimPoint.py.cc -> .o
 [EMBED PY] ARM/python/marshal, cpu/o3/FUPool.py -> cpu/o3/FUPool.py.cc
 [     CXX] ARM/cpu/o3/FUPool.py.cc -> .o
 [EMBED PY] ARM/python/marshal, cpu/o3/FuncUnitConfig.py -> cpu/o3/FuncUnitConfig.py.cc
 [     CXX] ARM/cpu/o3/FuncUnitConfig.py.cc -> .o
 [EMBED PY] ARM/python/marshal, cpu/o3/O3CPU.py -> cpu/o3/O3CPU.py.cc
 [     CXX] ARM/cpu/o3/O3CPU.py.cc -> .o
 [EMBED PY] ARM/python/marshal, cpu/o3/O3Checker.py -> cpu/o3/O3Checker.py.cc
 [     CXX] ARM/cpu/o3/O3Checker.py.cc -> .o
 [EMBED PY] ARM/python/marshal, cpu/o3/probe/SimpleTrace.py -> cpu/o3/probe/SimpleTrace.py.cc
 [     CXX] ARM/cpu/o3/probe/SimpleTrace.py.cc -> .o
 [EMBED PY] ARM/python/marshal, cpu/pred/BranchPredictor.py -> cpu/pred/BranchPredictor.py.cc
 [     CXX] ARM/cpu/pred/BranchPredictor.py.cc -> .o
 [ DEFINES]  -> ARM/python/m5/defines.py
 [EMBED PY] ARM/python/marshal, ARM/python/m5/defines.py -> ARM/python/m5/defines.py.cc
 [     CXX] ARM/python/m5/defines.py.cc -> .o
 [    INFO] COPYING, LICENSE, README -> ARM/python/m5/info.py
 [EMBED PY] ARM/python/marshal, ARM/python/m5/info.py -> ARM/python/m5/info.py.cc
 [     CXX] ARM/python/m5/info.py.cc -> .o
 [    LINK]  -> ARM/kern/lib.o.partial
 [ TRACING]  -> ARM/debug/VNC.hh
 [     CXX] ARM/base/vnc/vncinput.cc -> .o
 [     CXX] ARM/base/vnc/vncserver.cc -> .o
 [    LINK]  -> ARM/base/vnc/lib.o.partial
 [     CXX] ARM/dev/arm/a9scu.cc -> .o
 [ TRACING]  -> ARM/debug/AMBA.hh
 [     CXX] ARM/dev/arm/amba_device.cc -> .o
 [     CXX] ARM/dev/arm/amba_fake.cc -> .o
 [     CXX] ARM/dev/arm/base_gic.cc -> .o
 [     CXX] ARM/dev/arm/flash_device.cc -> .o
 [ TRACING]  -> ARM/debug/Timer.hh
 [     CXX] ARM/dev/arm/generic_timer.cc -> .o
 [ TRACING]  -> ARM/debug/GIC.hh
 [ TRACING]  -> ARM/debug/IPI.hh
 [     CXX] ARM/dev/arm/gic_v2.cc -> .o
 [ TRACING]  -> ARM/debug/GICV2M.hh
 [     CXX] ARM/dev/arm/gic_v2m.cc -> .o
 [     CXX] ARM/dev/arm/gic_v3.cc -> .o
 [     CXX] ARM/dev/arm/gic_v3_cpu_interface.cc -> .o
 [     CXX] ARM/dev/arm/gic_v3_distributor.cc -> .o
 [     CXX] ARM/dev/arm/gic_v3_redistributor.cc -> .o
 [ TRACING]  -> ARM/debug/Uart.hh
 [     CXX] ARM/dev/arm/pl011.cc -> .o
 [ TRACING]  -> ARM/debug/PL111.hh
 [     CXX] ARM/dev/arm/pl111.cc -> .o
 [ TRACING]  -> ARM/debug/HDLcd.hh
 [     CXX] ARM/dev/arm/hdlcd.cc -> .o
 [ TRACING]  -> ARM/debug/Pl050.hh
 [     CXX] ARM/dev/arm/kmi.cc -> .o
 [     CXX] ARM/dev/arm/timer_sp804.cc -> .o
 [ TRACING]  -> ARM/debug/NoMali.hh
 [     CXX] ARM/dev/arm/gpu_nomali.cc -> .o
 [     CXX] ARM/dev/arm/pci_host.cc -> .o
 [ TRACING]  -> ARM/debug/RVCTRL.hh
 [     CXX] ARM/dev/arm/rv_ctrl.cc -> .o
 [     CXX] ARM/dev/arm/realview.cc -> .o
 [     CXX] ARM/dev/arm/rtc_pl031.cc -> .o
 [     CXX] ARM/dev/arm/timer_cpulocal.cc -> .o
 [     CXX] ARM/dev/arm/timer_a9global.cc -> .o
 [ TRACING]  -> ARM/debug/VGIC.hh
 [     CXX] ARM/dev/arm/vgic.cc -> .o
 [ TRACING]  -> ARM/debug/VIOIface.hh
 [     CXX] ARM/dev/arm/vio_mmio.cc -> .o
 [     CXX] ARM/dev/arm/ufs_device.cc -> .o
 [ TRACING]  -> ARM/debug/EnergyCtrl.hh
 [     CXX] ARM/dev/arm/energy_ctrl.cc -> .o
 [    LINK]  -> ARM/dev/arm/lib.o.partial
 [     CXX] ARM/mem/qos/policy.cc -> .o
 [     CXX] ARM/mem/qos/policy_fixed_prio.cc -> .o
 [     CXX] ARM/mem/qos/policy_pf.cc -> .o
 [     CXX] ARM/mem/qos/turnaround_policy_ideal.cc -> .o
 [     CXX] ARM/mem/qos/q_policy.cc -> .o
 [     CXX] ARM/mem/qos/mem_ctrl.cc -> .o
 [     CXX] ARM/mem/qos/mem_sink.cc -> .o
 [    LINK]  -> ARM/mem/qos/lib.o.partial
 [     CXX] ARM/mem/probes/base.cc -> .o
 [     CXX] ARM/mem/probes/stack_dist.cc -> .o
 [     CXX] ARM/mem/probes/mem_footprint.cc -> .o
 [    LINK]  -> ARM/mem/probes/lib.o.partial
 [ TRACING]  -> ARM/debug/Activity.hh
 [     CXX] ARM/cpu/activity.cc -> .o
 [     CXX] ARM/cpu/base.cc -> .o
 [     CXX] ARM/cpu/cpuevent.cc -> .o
 [ TRACING]  -> ARM/debug/ExecAll.hh
 [     CXX] ARM/cpu/exetrace.cc -> .o
 [     CXX] ARM/cpu/exec_context.cc -> .o
 [     CXX] ARM/cpu/func_unit.cc -> .o
 [     CXX] ARM/cpu/inteltrace.cc -> .o
 [ TRACING]  -> ARM/debug/IntrControl.hh
 [     CXX] ARM/cpu/intr_control.cc -> .o
 [ TRACING]  -> ARM/debug/GDBMisc.hh
 [     CXX] ARM/cpu/nativetrace.cc -> .o
 [     CXX] ARM/cpu/pc_event.cc -> .o
 [     CXX] ARM/cpu/profile.cc -> .o
 [ TRACING]  -> ARM/debug/Quiesce.hh
 [     CXX] ARM/cpu/quiesce_event.cc -> .o
 [     CXX] ARM/cpu/reg_class.cc -> .o
 [     CXX] ARM/cpu/static_inst.cc -> .o
 [     CXX] ARM/cpu/simple_thread.cc -> .o
 [ TRACING]  -> ARM/debug/Context.hh
 [     CXX] ARM/cpu/thread_context.cc -> .o
 [     CXX] ARM/cpu/thread_state.cc -> .o
 [     CXX] ARM/cpu/timing_expr.cc -> .o
 [GENERATE] arm -> ARM/arch/vtophys.hh
 [     CXX] ARM/cpu/checker/cpu.cc -> .o
 [     CXX] ARM/cpu/dummy_checker.cc -> .o
 [    LINK]  -> ARM/cpu/lib.o.partial
 [ TRACING]  -> ARM/debug/HWPrefetch.hh
 [     CXX] ARM/mem/cache/prefetch/access_map_pattern_matching.cc -> .o
 [     CXX] ARM/mem/cache/prefetch/base.cc -> .o
 [     CXX] ARM/mem/cache/prefetch/bop.cc -> .o
 [     CXX] ARM/mem/cache/prefetch/delta_correlating_prediction_tables.cc -> .o
 [     CXX] ARM/mem/cache/prefetch/irregular_stream_buffer.cc -> .o
 [     CXX] ARM/mem/cache/prefetch/indirect_memory.cc -> .o
 [     CXX] ARM/mem/cache/prefetch/queued.cc -> .o
 [     CXX] ARM/mem/cache/prefetch/sbooe.cc -> .o
 [     CXX] ARM/mem/cache/prefetch/signature_path.cc -> .o
 [     CXX] ARM/mem/cache/prefetch/signature_path_v2.cc -> .o
 [     CXX] ARM/mem/cache/prefetch/slim_ampm.cc -> .o
 [     CXX] ARM/mem/cache/prefetch/spatio_temporal_memory_streaming.cc -> .o
 [     CXX] ARM/mem/cache/prefetch/stride.cc -> .o
 [     CXX] ARM/mem/cache/prefetch/tagged.cc -> .o
 [    LINK]  -> ARM/mem/cache/prefetch/lib.o.partial
 [     CXX] ARM/cpu/minor/activity.cc -> .o
 [ TRACING]  -> ARM/debug/MinorCPU.hh
 [     CXX] ARM/cpu/minor/cpu.cc -> .o
 [ TRACING]  -> ARM/debug/Decode.hh
 [     CXX] ARM/cpu/minor/decode.cc -> .o
 [ TRACING]  -> ARM/debug/MinorExecute.hh
 [     CXX] ARM/cpu/minor/dyn_inst.cc -> .o
 [ TRACING]  -> ARM/debug/Branch.hh
 [ TRACING]  -> ARM/debug/MinorInterrupt.hh
 [ TRACING]  -> ARM/debug/MinorMem.hh
 [     CXX] ARM/cpu/minor/execute.cc -> .o
 [ TRACING]  -> ARM/debug/Fetch.hh
 [     CXX] ARM/cpu/minor/fetch1.cc -> .o
 [     CXX] ARM/cpu/minor/fetch2.cc -> .o
 [ TRACING]  -> ARM/debug/MinorTiming.hh
 [     CXX] ARM/cpu/minor/func_unit.cc -> .o
 [     CXX] ARM/cpu/minor/lsq.cc -> .o
 [     CXX] ARM/cpu/minor/pipe_data.cc -> .o
 [     CXX] ARM/cpu/minor/pipeline.cc -> .o
 [ TRACING]  -> ARM/debug/MinorScoreboard.hh
 [     CXX] ARM/cpu/minor/scoreboard.cc -> .o
 [     CXX] ARM/cpu/minor/stats.cc -> .o
 [    LINK]  -> ARM/cpu/minor/lib.o.partial
 [     CXX] ARM/cpu/simple/probes/simpoint.cc -> .o
 [    LINK]  -> ARM/cpu/simple/probes/lib.o.partial
 [     CXX] ARM/arch/arm/tracers/tarmac_base.cc -> .o
 [     CXX] ARM/arch/arm/tracers/tarmac_parser.cc -> .o
 [     CXX] ARM/arch/arm/tracers/tarmac_tracer.cc -> .o
 [     CXX] ARM/arch/arm/tracers/tarmac_record.cc -> .o
 [     CXX] ARM/arch/arm/tracers/tarmac_record_v8.cc -> .o
 [    LINK]  -> ARM/arch/arm/tracers/lib.o.partial
 [     CXX] ARM/mem/ruby/structures/AbstractReplacementPolicy.cc -> .o
 [ TRACING]  -> ARM/debug/RubyCache.hh
 [ TRACING]  -> ARM/debug/RubyStats.hh
 [     CXX] ARM/mem/ruby/structures/DirectoryMemory.cc -> .o
 [ TRACING]  -> ARM/debug/RubyCacheTrace.hh
 [ TRACING]  -> ARM/debug/RubyResourceStalls.hh
 [     CXX] ARM/mem/ruby/structures/CacheMemory.cc -> .o
 [     CXX] ARM/mem/ruby/structures/LRUPolicy.cc -> .o
 [     CXX] ARM/mem/ruby/structures/PseudoLRUPolicy.cc -> .o
 [     CXX] ARM/mem/ruby/structures/WireBuffer.cc -> .o
 [     CXX] ARM/mem/ruby/structures/PersistentTable.cc -> .o
 [ TRACING]  -> ARM/debug/RubyPrefetcher.hh
 [     CXX] ARM/mem/ruby/structures/Prefetcher.cc -> .o
 [     CXX] ARM/mem/ruby/structures/TimerTable.cc -> .o
 [     CXX] ARM/mem/ruby/structures/BankedArray.cc -> .o
 [    LINK]  -> ARM/mem/ruby/structures/lib.o.partial
 [     CXX] ARM/mem/cache/replacement_policies/bip_rp.cc -> .o
 [     CXX] ARM/mem/cache/replacement_policies/brrip_rp.cc -> .o
 [     CXX] ARM/mem/cache/replacement_policies/fifo_rp.cc -> .o
 [     CXX] ARM/mem/cache/replacement_policies/lfu_rp.cc -> .o
 [     CXX] ARM/mem/cache/replacement_policies/lru_rp.cc -> .o
 [     CXX] ARM/mem/cache/replacement_policies/mru_rp.cc -> .o
 [     CXX] ARM/mem/cache/replacement_policies/random_rp.cc -> .o
 [     CXX] ARM/mem/cache/replacement_policies/second_chance_rp.cc -> .o
 [     CXX] ARM/mem/cache/replacement_policies/tree_plru_rp.cc -> .o
 [    LINK]  -> ARM/mem/cache/replacement_policies/lib.o.partial
 [     CXX] ARM/learning_gem5/part2/simple_object.cc -> .o
 [ TRACING]  -> ARM/debug/HelloExample.hh
 [     CXX] ARM/learning_gem5/part2/hello_object.cc -> .o
 [     CXX] ARM/learning_gem5/part2/goodbye_object.cc -> .o
 [ TRACING]  -> ARM/debug/SimpleMemobj.hh
 [     CXX] ARM/learning_gem5/part2/simple_memobj.cc -> .o
 [ TRACING]  -> ARM/debug/SimpleCache.hh
 [     CXX] ARM/learning_gem5/part2/simple_cache.cc -> .o
 [    LINK]  -> ARM/learning_gem5/part2/lib.o.partial
 [     CXX] ARM/systemc/tlm_core/2/generic_payload/gp.cc -> .o
 [     CXX] ARM/systemc/tlm_core/2/generic_payload/phase.cc -> .o
 [    LINK]  -> ARM/systemc/tlm_core/2/generic_payload/lib.o.partial
 [ TRACING]  -> ARM/debug/RubyNetwork.hh
 [     CXX] ARM/mem/ruby/network/simple/PerfectSwitch.cc -> .o
 [     CXX] ARM/mem/ruby/network/simple/SimpleLink.cc -> .o
 [     CXX] ARM/mem/ruby/network/simple/SimpleNetwork.cc -> .o
 [     CXX] ARM/mem/ruby/network/simple/Switch.cc -> .o
 [     CXX] ARM/mem/ruby/network/simple/Throttle.cc -> .o
 [    LINK]  -> ARM/mem/ruby/network/simple/lib.o.partial
 [     CXX] ARM/mem/ruby/filters/BlockBloomFilter.cc -> .o
 [     CXX] ARM/mem/ruby/filters/BulkBloomFilter.cc -> .o
 [     CXX] ARM/mem/ruby/filters/H3BloomFilter.cc -> .o
 [     CXX] ARM/mem/ruby/filters/LSB_CountingBloomFilter.cc -> .o
 [     CXX] ARM/mem/ruby/filters/MultiBitSelBloomFilter.cc -> .o
 [     CXX] ARM/mem/ruby/filters/MultiGrainBloomFilter.cc -> .o
 [     CXX] ARM/mem/ruby/filters/NonCountingBloomFilter.cc -> .o
 [    LINK]  -> ARM/mem/ruby/filters/lib.o.partial
 [     CXX] ARM/unittest/unittest.cc -> .o
 [    LINK]  -> ARM/unittest/lib.o.partial
 [     CXX] ARM/mem/cache/tags/base.cc -> .o
 [     CXX] ARM/mem/cache/tags/base_set_assoc.cc -> .o
 [     CXX] ARM/mem/cache/tags/fa_lru.cc -> .o
 [     CXX] ARM/mem/cache/tags/sector_blk.cc -> .o
 [     CXX] ARM/mem/cache/tags/sector_tags.cc -> .o
 [    LINK]  -> ARM/mem/cache/tags/lib.o.partial
 [     CXX] ARM/mem/ruby/slicc_interface/AbstractController.cc -> .o
 [     CXX] ARM/mem/ruby/slicc_interface/AbstractEntry.cc -> .o
 [     CXX] ARM/mem/ruby/slicc_interface/AbstractCacheEntry.cc -> .o
 [     CXX] ARM/mem/ruby/slicc_interface/RubyRequest.cc -> .o
 [    LINK]  -> ARM/mem/ruby/slicc_interface/lib.o.partial
 [ TRACING]  -> ARM/debug/PS2.hh
 [     CXX] ARM/dev/ps2/device.cc -> .o
 [     CXX] ARM/dev/ps2/keyboard.cc -> .o
 [     CXX] ARM/dev/ps2/mouse.cc -> .o
 [     CXX] ARM/dev/ps2/touchkit.cc -> .o
 [     CXX] ARM/dev/ps2/types.cc -> .o
 [    LINK]  -> ARM/dev/ps2/lib.o.partial
 [ TRACING]  -> ARM/debug/DynInst.hh
 [ TRACING]  -> ARM/debug/IQ.hh
 [     CXX] ARM/cpu/o3/base_dyn_inst.cc -> .o
 [ TRACING]  -> ARM/debug/Commit.hh
 [ TRACING]  -> ARM/debug/CommitRate.hh
 [ TRACING]  -> ARM/debug/ExecFaulting.hh
 [ TRACING]  -> ARM/debug/O3PipeView.hh
 [     CXX] ARM/cpu/o3/commit.cc -> .o
 [ TRACING]  -> ARM/debug/O3CPU.hh
 [     CXX] ARM/cpu/o3/cpu.cc -> .o
 [     CXX] ARM/cpu/o3/deriv.cc -> .o
 [     CXX] ARM/cpu/o3/decode.cc -> .o
 [     CXX] ARM/cpu/o3/dyn_inst.cc -> .o
 [     CXX] ARM/cpu/o3/fetch.cc -> .o
 [     CXX] ARM/cpu/o3/free_list.cc -> .o
 [     CXX] ARM/cpu/o3/fu_pool.cc -> .o
 [     CXX] ARM/cpu/o3/iew.cc -> .o
 [     CXX] ARM/cpu/o3/inst_queue.cc -> .o
 [ TRACING]  -> ARM/debug/LSQ.hh
 [ TRACING]  -> ARM/debug/Writeback.hh
 [     CXX] ARM/cpu/o3/lsq.cc -> .o
 [     CXX] ARM/cpu/o3/lsq_unit.cc -> .o
 [     CXX] ARM/cpu/o3/mem_dep_unit.cc -> .o
 [     CXX] ARM/cpu/o3/regfile.cc -> .o
 [ TRACING]  -> ARM/debug/Rename.hh
 [     CXX] ARM/cpu/o3/rename.cc -> .o
 [     CXX] ARM/cpu/o3/rename_map.cc -> .o
 [ TRACING]  -> ARM/debug/ROB.hh
 [     CXX] ARM/cpu/o3/rob.cc -> .o
 [     CXX] ARM/cpu/o3/scoreboard.cc -> .o
 [ TRACING]  -> ARM/debug/StoreSet.hh
 [     CXX] ARM/cpu/o3/store_set.cc -> .o
 [     CXX] ARM/cpu/o3/thread_context.cc -> .o
 [     CXX] ARM/cpu/o3/checker.cc -> .o
 [    LINK]  -> ARM/cpu/o3/lib.o.partial
 [ TRACING]  -> ARM/debug/PciDevice.hh
 [     CXX] ARM/dev/pci/device.cc -> .o
 [ TRACING]  -> ARM/debug/PciHost.hh
 [     CXX] ARM/dev/pci/host.cc -> .o
 [ TRACING]  -> ARM/debug/DMACopyEngine.hh
 [     CXX] ARM/dev/pci/copy_engine.cc -> .o
 [    LINK]  -> ARM/dev/pci/lib.o.partial
 [     CXX] ARM/systemc/dt/sc_mempool.cc -> .o
 [    LINK]  -> ARM/systemc/dt/lib.o.partial
 [ TRACING]  -> ARM/debug/Ethernet.hh
 [ TRACING]  -> ARM/debug/EthernetData.hh
 [     CXX] ARM/dev/net/etherbus.cc -> .o
 [ TRACING]  -> ARM/debug/EthernetAll.hh
 [     CXX] ARM/dev/net/etherswitch.cc -> .o
 [     CXX] ARM/dev/net/etherdevice.cc -> .o
 [     CXX] ARM/dev/net/etherdump.cc -> .o
 [     CXX] ARM/dev/net/etherint.cc -> .o
 [     CXX] ARM/dev/net/etherlink.cc -> .o
 [     CXX] ARM/dev/net/etherpkt.cc -> .o
 [     CXX] ARM/dev/net/ethertap.cc -> .o
 [     CXX] ARM/dev/net/pktfifo.cc -> .o
 [ TRACING]  -> ARM/debug/DistEthernet.hh
 [ TRACING]  -> ARM/debug/DistEthernetPkt.hh
 [     CXX] ARM/dev/net/dist_iface.cc -> .o
 [     CXX] ARM/dev/net/dist_etherlink.cc -> .o
 [ TRACING]  -> ARM/debug/DistEthernetCmd.hh
 [     CXX] ARM/dev/net/tcp_iface.cc -> .o
 [     CXX] ARM/dev/net/i8254xGBe.cc -> .o
 [     CXX] ARM/dev/net/ns_gige.cc -> .o
 [     CXX] ARM/dev/net/sinic.cc -> .o
 [    LINK]  -> ARM/dev/net/lib.o.partial
 [     CXX] ARM/systemc/utils/functions.cc -> .o
 [     CXX] ARM/systemc/utils/messages.cc -> .o
 [     CXX] ARM/systemc/utils/report.cc -> .o
 [     CXX] ARM/systemc/utils/sc_report.cc -> .o
 [CONFIG H] HAVE_VALGRIND, 0 -> ARM/config/have_valgrind.hh
 [     CXX] ARM/systemc/utils/sc_report_handler.cc -> .o
 [     CXX] ARM/systemc/utils/sc_trace_file.cc -> .o
 [     CXX] ARM/systemc/utils/sc_vector.cc -> .o
 [     CXX] ARM/systemc/utils/tracefile.cc -> .o
 [     CXX] ARM/systemc/utils/vcd.cc -> .o
 [    LINK]  -> ARM/systemc/utils/lib.o.partial
 [     CXX] ARM/systemc/tlm_utils/convenience_socket_bases.cc -> .o
 [     CXX] ARM/systemc/tlm_utils/instance_specific_extensions.cc -> .o
 [    LINK]  -> ARM/systemc/tlm_utils/lib.o.partial
 [     CXX] ARM/mem/ruby/system/CacheRecorder.cc -> .o
 [ TRACING]  -> ARM/debug/RubyDma.hh
 [     CXX] ARM/mem/ruby/system/DMASequencer.cc -> .o
 [ TRACING]  -> ARM/debug/Config.hh
 [ TRACING]  -> ARM/debug/Ruby.hh
 [     CXX] ARM/mem/ruby/system/RubyPort.cc -> .o
 [     CXX] ARM/mem/ruby/system/RubyPortProxy.cc -> .o
 [ TRACING]  -> ARM/debug/RubySystem.hh
 [     CXX] ARM/mem/ruby/system/RubySystem.cc -> .o
 [ TRACING]  -> ARM/debug/MemoryAccess.hh
 [ TRACING]  -> ARM/debug/ProtocolTrace.hh
 [ TRACING]  -> ARM/debug/RubySequencer.hh
 [     CXX] ARM/mem/ruby/system/Sequencer.cc -> .o
 [     CXX] ARM/mem/ruby/system/WeightedLRUPolicy.cc -> .o
 [    LINK]  -> ARM/mem/ruby/system/lib.o.partial
 [     CXX] ARM/dev/serial/serial.cc -> .o
 [     CXX] ARM/dev/serial/simple.cc -> .o
 [ TRACING]  -> ARM/debug/Terminal.hh
 [ TRACING]  -> ARM/debug/TerminalVerbose.hh
 [     CXX] ARM/dev/serial/terminal.cc -> .o
 [     CXX] ARM/dev/serial/uart.cc -> .o
 [     CXX] ARM/dev/serial/uart8250.cc -> .o
 [    LINK]  -> ARM/dev/serial/lib.o.partial
 [     CXX] ARM/mem/ruby/common/Address.cc -> .o
 [     CXX] ARM/mem/ruby/common/BoolVec.cc -> .o
 [     CXX] ARM/mem/ruby/common/Consumer.cc -> .o
 [     CXX] ARM/mem/ruby/common/DataBlock.cc -> .o
 [     CXX] ARM/mem/ruby/common/Histogram.cc -> .o
 [     CXX] ARM/mem/ruby/common/IntVec.cc -> .o
 [     CXX] ARM/mem/ruby/common/NetDest.cc -> .o
 [     CXX] ARM/mem/ruby/common/SubBlock.cc -> .o
 [     CXX] ARM/mem/ruby/common/WriteMask.cc -> .o
 [    LINK]  -> ARM/mem/ruby/common/lib.o.partial
 [     CXX] ARM/base/atomicio.cc -> .o
 [     CXX] ARM/base/bitfield.cc -> .o
 [CONFIG H] USE_PNG, 1 -> ARM/config/use_png.hh
 [     CXX] ARM/base/imgwriter.cc -> .o
 [     CXX] ARM/base/bmpwriter.cc -> .o
 [     CXX] ARM/base/callback.cc -> .o
 [     CXX] ARM/base/cprintf.cc -> .o
 [     CXX] ARM/base/debug.cc -> .o
 [      CC] ARM/base/fenv.c -> .o
 [     CXX] ARM/base/pngwriter.cc -> .o
 [     CXX] ARM/base/fiber.cc -> .o
 [     CXX] ARM/base/framebuffer.cc -> .o
 [     CXX] ARM/base/hostinfo.cc -> .o
 [     CXX] ARM/base/inet.cc -> .o
 [     CXX] ARM/base/inifile.cc -> .o
 [     CXX] ARM/base/intmath.cc -> .o
 [     CXX] ARM/base/logging.cc -> .o
 [     CXX] ARM/base/match.cc -> .o
 [     CXX] ARM/base/output.cc -> .o
 [     CXX] ARM/base/pixel.cc -> .o
 [     CXX] ARM/base/pollevent.cc -> .o
 [     CXX] ARM/base/random.cc -> .o
 [ TRACING]  -> ARM/debug/GDBAll.hh
 [     CXX] ARM/base/remote_gdb.cc -> .o
 [     CXX] ARM/base/socket.cc -> .o
 [     CXX] ARM/base/statistics.cc -> .o
 [     CXX] ARM/base/str.cc -> .o
 [CONFIG H] USE_POSIX_CLOCK, 1 -> ARM/config/use_posix_clock.hh
 [     CXX] ARM/base/time.cc -> .o
 [     CXX] ARM/base/trace.cc -> .o
 [     CXX] ARM/base/types.cc -> .o
 [ TRACING]  -> ARM/debug/Loader.hh
 [     CXX] ARM/base/loader/aout_object.cc -> .o
 [     CXX] ARM/base/loader/dtb_object.cc -> .o
 [     CXX] ARM/base/loader/ecoff_object.cc -> .o
 [     CXX] ARM/base/loader/elf_object.cc -> .o
 [     CXX] ARM/base/loader/hex_file.cc -> .o
 [     CXX] ARM/base/loader/object_file.cc -> .o
 [     CXX] ARM/base/loader/raw_object.cc -> .o
 [     CXX] ARM/base/loader/symtab.cc -> .o
 [     CXX] ARM/base/stats/text.cc -> .o
 [    LINK]  -> ARM/base/lib.o.partial
 [     CXX] ARM/systemc/dt/misc/sc_concatref.cc -> .o
 [     CXX] ARM/systemc/dt/misc/sc_value_base.cc -> .o
 [    LINK]  -> ARM/systemc/dt/misc/lib.o.partial
 [ TRACING]  -> ARM/debug/GarnetSyntheticTraffic.hh
 [     CXX] ARM/cpu/testers/garnet_synthetic_traffic/GarnetSyntheticTraffic.cc -> .o
 [    LINK]  -> ARM/cpu/testers/garnet_synthetic_traffic/lib.o.partial
 [     CXX] ARM/mem/protocol/AccessPermission.cc -> .o
 [     CXX] ARM/mem/protocol/AccessType.cc -> .o
 [     CXX] ARM/mem/protocol/CacheRequestType.cc -> .o
 [     CXX] ARM/mem/protocol/CacheResourceType.cc -> .o
 [     CXX] ARM/mem/protocol/CoherenceRequestType.cc -> .o
 [     CXX] ARM/mem/protocol/CoherenceResponseType.cc -> .o
 [     CXX] ARM/mem/protocol/DMASequencerRequestType.cc -> .o
 [ TRACING]  -> ARM/debug/RubyGenerated.hh
 [     CXX] ARM/mem/protocol/DMA_Controller.cc -> .o
 [     CXX] ARM/mem/protocol/DMA_Event.cc -> .o
 [     CXX] ARM/mem/protocol/DMA_State.cc -> .o
 [     CXX] ARM/mem/protocol/DMA_TBE.cc -> .o
 [     CXX] ARM/mem/protocol/DMA_Transitions.cc -> .o
 [     CXX] ARM/mem/protocol/DMA_Wakeup.cc -> .o
 [     CXX] ARM/mem/protocol/DirectoryRequestType.cc -> .o
 [     CXX] ARM/mem/protocol/Directory_Controller.cc -> .o
 [     CXX] ARM/mem/protocol/Directory_Entry.cc -> .o
 [     CXX] ARM/mem/protocol/Directory_Event.cc -> .o
 [     CXX] ARM/mem/protocol/Directory_State.cc -> .o
 [     CXX] ARM/mem/protocol/Directory_TBE.cc -> .o
 [     CXX] ARM/mem/protocol/Directory_Transitions.cc -> .o
 [     CXX] ARM/mem/protocol/Directory_Wakeup.cc -> .o
 [     CXX] ARM/mem/protocol/HSAScope.cc -> .o
 [     CXX] ARM/mem/protocol/HSASegment.cc -> .o
 [     CXX] ARM/mem/protocol/InvalidateGeneratorStatus.cc -> .o
 [     CXX] ARM/mem/protocol/L1Cache_Controller.cc -> .o
 [     CXX] ARM/mem/protocol/L1Cache_Entry.cc -> .o
 [     CXX] ARM/mem/protocol/L1Cache_Event.cc -> .o
 [     CXX] ARM/mem/protocol/L1Cache_State.cc -> .o
 [     CXX] ARM/mem/protocol/L1Cache_TBE.cc -> .o
 [     CXX] ARM/mem/protocol/L1Cache_Transitions.cc -> .o
 [     CXX] ARM/mem/protocol/L1Cache_Wakeup.cc -> .o
 [     CXX] ARM/mem/protocol/L2Cache_Controller.cc -> .o
 [     CXX] ARM/mem/protocol/L2Cache_DirEntry.cc -> .o
 [     CXX] ARM/mem/protocol/L2Cache_Entry.cc -> .o
 [     CXX] ARM/mem/protocol/L2Cache_Event.cc -> .o
 [     CXX] ARM/mem/protocol/L2Cache_State.cc -> .o
 [     CXX] ARM/mem/protocol/L2Cache_TBE.cc -> .o
 [     CXX] ARM/mem/protocol/L2Cache_Transitions.cc -> .o
 [     CXX] ARM/mem/protocol/L2Cache_Wakeup.cc -> .o
 [     CXX] ARM/mem/protocol/LinkDirection.cc -> .o
 [     CXX] ARM/mem/protocol/LockStatus.cc -> .o
 [     CXX] ARM/mem/protocol/MachineType.cc -> .o
 [     CXX] ARM/mem/protocol/MaskPredictorIndex.cc -> .o
 [     CXX] ARM/mem/protocol/MaskPredictorTraining.cc -> .o
 [     CXX] ARM/mem/protocol/MaskPredictorType.cc -> .o
 [     CXX] ARM/mem/protocol/MemoryControlRequestType.cc -> .o
 [     CXX] ARM/mem/protocol/MemoryMsg.cc -> .o
 [     CXX] ARM/mem/protocol/MemoryRequestType.cc -> .o
 [     CXX] ARM/mem/protocol/MessageSizeType.cc -> .o
 [     CXX] ARM/mem/protocol/PrefetchBit.cc -> .o
 [     CXX] ARM/mem/protocol/RequestMsg.cc -> .o
 [     CXX] ARM/mem/protocol/RequestStatus.cc -> .o
 [     CXX] ARM/mem/protocol/ResponseMsg.cc -> .o
 [     CXX] ARM/mem/protocol/RubyAccessMode.cc -> .o
 [     CXX] ARM/mem/protocol/RubyRequestType.cc -> .o
 [     CXX] ARM/mem/protocol/SequencerMsg.cc -> .o
 [     CXX] ARM/mem/protocol/SequencerRequestType.cc -> .o
 [     CXX] ARM/mem/protocol/SequencerStatus.cc -> .o
 [     CXX] ARM/mem/protocol/SeriesRequestGeneratorStatus.cc -> .o
 [     CXX] ARM/mem/protocol/TesterStatus.cc -> .o
 [     CXX] ARM/mem/protocol/TransitionResult.cc -> .o
 [     CXX] ARM/mem/protocol/TriggerMsg.cc -> .o
 [     CXX] ARM/mem/protocol/TriggerType.cc -> .o
 [    LINK]  -> ARM/mem/protocol/lib.o.partial
 [CONFIG H] HAVE_PROTOBUF, 0 -> ARM/config/have_protobuf.hh
 [ TRACING]  -> ARM/debug/TrafficGen.hh
 [     CXX] ARM/cpu/testers/traffic_gen/base.cc -> .o
 [     CXX] ARM/cpu/testers/traffic_gen/base_gen.cc -> .o
 [     CXX] ARM/cpu/testers/traffic_gen/dram_gen.cc -> .o
 [     CXX] ARM/cpu/testers/traffic_gen/dram_rot_gen.cc -> .o
 [     CXX] ARM/cpu/testers/traffic_gen/exit_gen.cc -> .o
 [     CXX] ARM/cpu/testers/traffic_gen/idle_gen.cc -> .o
 [     CXX] ARM/cpu/testers/traffic_gen/linear_gen.cc -> .o
 [     CXX] ARM/cpu/testers/traffic_gen/random_gen.cc -> .o
 [     CXX] ARM/cpu/testers/traffic_gen/stream_gen.cc -> .o
 [     CXX] ARM/cpu/testers/traffic_gen/pygen.cc -> .o
 [    LINK]  -> ARM/cpu/testers/traffic_gen/lib.o.partial
 [     CXX] ARM/cpu/pred/bpred_unit.cc -> .o
 [     CXX] ARM/cpu/pred/2bit_local.cc -> .o
 [     CXX] ARM/cpu/pred/btb.cc -> .o
 [ TRACING]  -> ARM/debug/Indirect.hh
 [     CXX] ARM/cpu/pred/indirect.cc -> .o
 [     CXX] ARM/cpu/pred/ras.cc -> .o
 [     CXX] ARM/cpu/pred/tournament.cc -> .o
 [     CXX] ARM/cpu/pred/bi_mode.cc -> .o
 [ TRACING]  -> ARM/debug/Tage.hh
 [     CXX] ARM/cpu/pred/tage_base.cc -> .o
 [     CXX] ARM/cpu/pred/tage.cc -> .o
 [ TRACING]  -> ARM/debug/LTage.hh
 [     CXX] ARM/cpu/pred/loop_predictor.cc -> .o
 [     CXX] ARM/cpu/pred/ltage.cc -> .o
 [     CXX] ARM/cpu/pred/statistical_corrector.cc -> .o
 [ TRACING]  -> ARM/debug/TageSCL.hh
 [     CXX] ARM/cpu/pred/tage_sc_l.cc -> .o
 [     CXX] ARM/cpu/pred/tage_sc_l_8KB.cc -> .o
 [     CXX] ARM/cpu/pred/tage_sc_l_64KB.cc -> .o
 [    LINK]  -> ARM/cpu/pred/lib.o.partial
 [ TRACING]  -> ARM/debug/CommMonitor.hh
 [     CXX] ARM/mem/comm_monitor.cc -> .o
 [     CXX] ARM/mem/abstract_mem.cc -> .o
 [     CXX] ARM/mem/addr_mapper.cc -> .o
 [ TRACING]  -> ARM/debug/Bridge.hh
 [     CXX] ARM/mem/bridge.cc -> .o
 [ TRACING]  -> ARM/debug/AddrRanges.hh
 [ TRACING]  -> ARM/debug/CoherentXBar.hh
 [     CXX] ARM/mem/coherent_xbar.cc -> .o
 [     CXX] ARM/mem/drampower.cc -> .o
 [ TRACING]  -> ARM/debug/DRAM.hh
 [ TRACING]  -> ARM/debug/DRAMPower.hh
 [ TRACING]  -> ARM/debug/DRAMState.hh
 [     CXX] ARM/mem/dram_ctrl.cc -> .o
 [ TRACING]  -> ARM/debug/ExternalPort.hh
 [     CXX] ARM/mem/external_master.cc -> .o
 [     CXX] ARM/mem/external_slave.cc -> .o
 [     CXX] ARM/mem/mem_object.cc -> .o
 [     CXX] ARM/mem/mport.cc -> .o
 [ TRACING]  -> ARM/debug/NoncoherentXBar.hh
 [ TRACING]  -> ARM/debug/XBar.hh
 [     CXX] ARM/mem/noncoherent_xbar.cc -> .o
 [     CXX] ARM/mem/packet.cc -> .o
 [     CXX] ARM/mem/port.cc -> .o
 [ TRACING]  -> ARM/debug/PacketQueue.hh
 [     CXX] ARM/mem/packet_queue.cc -> .o
 [     CXX] ARM/mem/port_proxy.cc -> .o
 [     CXX] ARM/mem/physical.cc -> .o
 [     CXX] ARM/mem/simple_mem.cc -> .o
 [ TRACING]  -> ARM/debug/SnoopFilter.hh
 [     CXX] ARM/mem/snoop_filter.cc -> .o
 [ TRACING]  -> ARM/debug/StackDist.hh
 [     CXX] ARM/mem/stack_dist_calc.cc -> .o
 [     CXX] ARM/mem/tport.cc -> .o
 [     CXX] ARM/mem/xbar.cc -> .o
 [ TRACING]  -> ARM/debug/HMCController.hh
 [     CXX] ARM/mem/hmc_controller.cc -> .o
 [ TRACING]  -> ARM/debug/SerialLink.hh
 [     CXX] ARM/mem/serial_link.cc -> .o
 [     CXX] ARM/mem/mem_delay.cc -> .o
 [     CXX] ARM/mem/fs_translating_port_proxy.cc -> .o
 [     CXX] ARM/mem/se_translating_port_proxy.cc -> .o
 [ TRACING]  -> ARM/debug/MMU.hh
 [     CXX] ARM/mem/page_table.cc -> .o
 [     CXX] ARM/mem/mem_checker.cc -> .o
 [ TRACING]  -> ARM/debug/MemCheckerMonitor.hh
 [     CXX] ARM/mem/mem_checker_monitor.cc -> .o
 [    LINK]  -> ARM/mem/lib.o.partial
 [     CXX] ARM/dev/io_device.cc -> .o
 [ TRACING]  -> ARM/debug/IsaFake.hh
 [     CXX] ARM/dev/isa_fake.cc -> .o
 [ TRACING]  -> ARM/debug/DMA.hh
 [     CXX] ARM/dev/dma_device.cc -> .o
 [     CXX] ARM/dev/platform.cc -> .o
 [     CXX] ARM/dev/baddev.cc -> .o
 [ TRACING]  -> ARM/debug/Intel8254Timer.hh
 [     CXX] ARM/dev/intel_8254_timer.cc -> .o
 [ TRACING]  -> ARM/debug/MC146818.hh
 [     CXX] ARM/dev/mc146818.cc -> .o
 [     CXX] ARM/dev/pixelpump.cc -> .o
 [    LINK]  -> ARM/dev/lib.o.partial
 [     CXX] ARM/systemc/tlm_core/2/quantum/global_quantum.cc -> .o
 [     CXX] ARM/systemc/tlm_core/2/quantum/global_quantum_python.cc -> .o
 [    LINK]  -> ARM/systemc/tlm_core/2/quantum/lib.o.partial
 [ TRACING]  -> ARM/debug/SimpleCPU.hh
 [     CXX] ARM/cpu/simple/atomic.cc -> .o
 [     CXX] ARM/cpu/simple/noncaching.cc -> .o
 [     CXX] ARM/cpu/simple/timing.cc -> .o
 [     CXX] ARM/cpu/simple/base.cc -> .o
 [    LINK]  -> ARM/cpu/simple/lib.o.partial
 [ TRACING]  -> ARM/debug/VIO.hh
 [     CXX] ARM/dev/virtio/base.cc -> .o
 [     CXX] ARM/dev/virtio/pci.cc -> .o
 [ TRACING]  -> ARM/debug/VIOConsole.hh
 [     CXX] ARM/dev/virtio/console.cc -> .o
 [ TRACING]  -> ARM/debug/VIOBlock.hh
 [     CXX] ARM/dev/virtio/block.cc -> .o
 [ TRACING]  -> ARM/debug/VIO9P.hh
 [ TRACING]  -> ARM/debug/VIO9PData.hh
 [     CXX] ARM/dev/virtio/fs9p.cc -> .o
 [    LINK]  -> ARM/dev/virtio/lib.o.partial
 [     CXX] ARM/systemc/core/channel.cc -> .o
 [     CXX] ARM/systemc/core/event.cc -> .o
 [     CXX] ARM/systemc/core/kernel.cc -> .o
 [     CXX] ARM/systemc/core/messages.cc -> .o
 [     CXX] ARM/systemc/core/module.cc -> .o
 [     CXX] ARM/systemc/core/object.cc -> .o
 [     CXX] ARM/systemc/core/port.cc -> .o
 [     CXX] ARM/systemc/core/process.cc -> .o
 [     CXX] ARM/systemc/core/scheduler.cc -> .o
 [     CXX] ARM/systemc/core/sched_event.cc -> .o
 [     CXX] ARM/systemc/core/sensitivity.cc -> .o
 [     CXX] ARM/systemc/core/time.cc -> .o
 [     CXX] ARM/systemc/core/sc_attr.cc -> .o
 [     CXX] ARM/systemc/core/sc_event.cc -> .o
 [     CXX] ARM/systemc/core/sc_export.cc -> .o
 [     CXX] ARM/systemc/core/sc_interface.cc -> .o
 [     CXX] ARM/systemc/core/sc_join.cc -> .o
 [     CXX] ARM/systemc/core/sc_main.cc -> .o
 [     CXX] ARM/systemc/core/sc_main_fiber.cc -> .o
 [     CXX] ARM/systemc/core/sc_module.cc -> .o
 [     CXX] ARM/systemc/core/sc_module_name.cc -> .o
 [     CXX] ARM/systemc/core/sc_object.cc -> .o
 [     CXX] ARM/systemc/core/sc_port.cc -> .o
 [     CXX] ARM/systemc/core/sc_process_handle.cc -> .o
 [     CXX] ARM/systemc/core/sc_prim.cc -> .o
 [     CXX] ARM/systemc/core/sc_sensitive.cc -> .o
 [     CXX] ARM/systemc/core/sc_simcontext.cc -> .o
 [     CXX] ARM/systemc/core/sc_spawn.cc -> .o
 [     CXX] ARM/systemc/core/sc_time.cc -> .o
 [     CXX] ARM/systemc/core/python.cc -> .o
 [     CXX] ARM/systemc/core/sc_main_python.cc -> .o
 [     CXX] ARM/systemc/core/sc_time_python.cc -> .o
 [    LINK]  -> ARM/systemc/core/lib.o.partial
 [     CXX] ARM/systemc/dt/bit/messages.cc -> .o
 [     CXX] ARM/systemc/dt/bit/sc_bit.cc -> .o
 [     CXX] ARM/systemc/dt/bit/sc_bv_base.cc -> .o
 [     CXX] ARM/systemc/dt/bit/sc_logic.cc -> .o
 [     CXX] ARM/systemc/dt/bit/sc_lv_base.cc -> .o
 [    LINK]  -> ARM/systemc/dt/bit/lib.o.partial
 [     CXX] ARM/dev/i2c/bus.cc -> .o
 [    LINK]  -> ARM/dev/i2c/lib.o.partial
 [     CXX] ARM/python/pybind11/core.cc -> .o
 [     CXX] ARM/python/pybind11/debug.cc -> .o
 [     CXX] ARM/python/pybind11/event.cc -> .o
 [     CXX] ARM/python/pybind11/stats.cc -> .o
 [    LINK]  -> ARM/python/lib.o.partial
 [     CXX] ARM/systemc/dt/fx/messages.cc -> .o
 [     CXX] ARM/systemc/dt/fx/sc_fxcast_switch.cc -> .o
 [     CXX] ARM/systemc/dt/fx/sc_fxdefs.cc -> .o
 [     CXX] ARM/systemc/dt/fx/scfx_mant.cc -> .o
 [     CXX] ARM/systemc/dt/fx/sc_fxnum.cc -> .o
 [     CXX] ARM/systemc/dt/fx/sc_fxnum_observer.cc -> .o
 [     CXX] ARM/systemc/dt/fx/scfx_pow10.cc -> .o
 [     CXX] ARM/systemc/dt/fx/scfx_rep.cc -> .o
 [     CXX] ARM/systemc/dt/fx/sc_fxtype_params.cc -> .o
 [     CXX] ARM/systemc/dt/fx/scfx_utils.cc -> .o
 [     CXX] ARM/systemc/dt/fx/sc_fxval.cc -> .o
 [     CXX] ARM/systemc/dt/fx/sc_fxval_observer.cc -> .o
 [    LINK]  -> ARM/systemc/dt/fx/lib.o.partial
 [ TRACING]  -> ARM/debug/SimpleTrace.hh
 [     CXX] ARM/cpu/o3/probe/simple_trace.cc -> .o
 [    LINK]  -> ARM/cpu/o3/probe/lib.o.partial
 [     CXX] ARM/systemc/channel/messages.cc -> .o
 [     CXX] ARM/systemc/channel/sc_clock.cc -> .o
 [     CXX] ARM/systemc/channel/sc_event_queue.cc -> .o
 [     CXX] ARM/systemc/channel/sc_in_resolved.cc -> .o
 [     CXX] ARM/systemc/channel/sc_inout_resolved.cc -> .o
 [     CXX] ARM/systemc/channel/sc_out_resolved.cc -> .o
 [     CXX] ARM/systemc/channel/sc_mutex.cc -> .o
 [     CXX] ARM/systemc/channel/sc_semaphore.cc -> .o
 [     CXX] ARM/systemc/channel/sc_signal.cc -> .o
 [     CXX] ARM/systemc/channel/sc_signal_resolved.cc -> .o
 [    LINK]  -> ARM/systemc/channel/lib.o.partial
 [ TRACING]  -> ARM/debug/RubyTest.hh
 [     CXX] ARM/cpu/testers/rubytest/RubyTester.cc -> .o
 [     CXX] ARM/cpu/testers/rubytest/Check.cc -> .o
 [     CXX] ARM/cpu/testers/rubytest/CheckTable.cc -> .o
 [    LINK]  -> ARM/cpu/testers/rubytest/lib.o.partial
 [     CXX] ARM/arch/arm/decoder.cc -> .o
 [ TRACING]  -> ARM/debug/Faults.hh
 [     CXX] ARM/arch/arm/faults.cc -> .o
 [     CXX] ARM/arch/arm/insts/branch.cc -> .o
 [     CXX] ARM/arch/arm/insts/branch64.cc -> .o
 [     CXX] ARM/arch/arm/insts/data64.cc -> .o
 [     CXX] ARM/arch/arm/insts/macromem.cc -> .o
 [     CXX] ARM/arch/arm/insts/mem.cc -> .o
 [     CXX] ARM/arch/arm/insts/mem64.cc -> .o
 [     CXX] ARM/arch/arm/insts/misc.cc -> .o
 [     CXX] ARM/arch/arm/insts/misc64.cc -> .o
 [     CXX] ARM/arch/arm/insts/pred_inst.cc -> .o
 [     CXX] ARM/arch/arm/insts/pseudo.cc -> .o
 [     CXX] ARM/arch/arm/insts/static_inst.cc -> .o
 [     CXX] ARM/arch/arm/insts/sve.cc -> .o
 [     CXX] ARM/arch/arm/insts/vfp.cc -> .o
 [     CXX] ARM/arch/arm/insts/fplib.cc -> .o
 [     CXX] ARM/arch/arm/insts/crypto.cc -> .o
 [     CXX] ARM/arch/arm/interrupts.cc -> .o
 [ TRACING]  -> ARM/debug/Arm.hh
 [ TRACING]  -> ARM/debug/MiscRegs.hh
 [     CXX] ARM/arch/arm/isa.cc -> .o
 [     CXX] ARM/arch/arm/isa_device.cc -> .o
 [     CXX] ARM/arch/arm/linux/linux.cc -> .o
 [ TRACING]  -> ARM/debug/SyscallBase.hh
 [     CXX] ARM/arch/arm/linux/process.cc -> .o
 [     CXX] ARM/arch/arm/linux/system.cc -> .o
 [     CXX] ARM/arch/arm/freebsd/freebsd.cc -> .o
 [     CXX] ARM/arch/arm/freebsd/process.cc -> .o
 [     CXX] ARM/arch/arm/freebsd/system.cc -> .o
 [     CXX] ARM/arch/arm/miscregs.cc -> .o
 [ TRACING]  -> ARM/debug/ExecRegDelta.hh
 [     CXX] ARM/arch/arm/nativetrace.cc -> .o
 [     CXX] ARM/arch/arm/pmu.cc -> .o
 [     CXX] ARM/arch/arm/process.cc -> .o
 [EMBED BLOB] ext/gdb-xml/aarch64-core.xml -> ARM/blobs/gdb_xml_aarch64_core.cc, ARM/blobs/gdb_xml_aarch64_core.hh
 [EMBED BLOB] ext/gdb-xml/aarch64-fpu.xml -> ARM/blobs/gdb_xml_aarch64_fpu.cc, ARM/blobs/gdb_xml_aarch64_fpu.hh
 [EMBED BLOB] ext/gdb-xml/aarch64.xml -> ARM/blobs/gdb_xml_aarch64_target.cc, ARM/blobs/gdb_xml_aarch64_target.hh
 [EMBED BLOB] ext/gdb-xml/arm/arm-core.xml -> ARM/blobs/gdb_xml_arm_core.cc, ARM/blobs/gdb_xml_arm_core.hh
 [EMBED BLOB] ext/gdb-xml/arm/arm-with-neon.xml -> ARM/blobs/gdb_xml_arm_target.cc, ARM/blobs/gdb_xml_arm_target.hh
 [EMBED BLOB] ext/gdb-xml/arm/arm-vfpv3.xml -> ARM/blobs/gdb_xml_arm_vfpv3.cc, ARM/blobs/gdb_xml_arm_vfpv3.hh
 [ TRACING]  -> ARM/debug/GDBAcc.hh
 [     CXX] ARM/arch/arm/remote_gdb.cc -> .o
 [ TRACING]  -> ARM/debug/Semihosting.hh
 [     CXX] ARM/arch/arm/semihosting.cc -> .o
 [     CXX] ARM/arch/arm/stacktrace.cc -> .o
 [     CXX] ARM/arch/arm/system.cc -> .o
 [ TRACING]  -> ARM/debug/TLB.hh
 [ TRACING]  -> ARM/debug/TLBVerbose.hh
 [     CXX] ARM/arch/arm/table_walker.cc -> .o
 [     CXX] ARM/arch/arm/stage2_mmu.cc -> .o
 [     CXX] ARM/arch/arm/stage2_lookup.cc -> .o
 [     CXX] ARM/arch/arm/tlb.cc -> .o
 [     CXX] ARM/arch/arm/tlbi_op.cc -> .o
 [     CXX] ARM/arch/arm/utility.cc -> .o
 [     CXX] ARM/arch/arm/vtophys.cc -> .o
 [     CXX] ARM/arch/arm/generated/decoder.cc -> .o
 [     CXX] ARM/arch/arm/generated/inst-constrs-1.cc -> .o
 [     CXX] ARM/arch/arm/generated/inst-constrs-2.cc -> .o
 [     CXX] ARM/arch/arm/generated/inst-constrs-3.cc -> .o
 [     CXX] ARM/arch/arm/generated/generic_cpu_exec_1.cc -> .o
 [     CXX] ARM/arch/arm/generated/generic_cpu_exec_2.cc -> .o
 [     CXX] ARM/arch/arm/generated/generic_cpu_exec_3.cc -> .o
 [     CXX] ARM/arch/arm/generated/generic_cpu_exec_4.cc -> .o
 [     CXX] ARM/arch/arm/generated/generic_cpu_exec_5.cc -> .o
 [     CXX] ARM/arch/arm/generated/generic_cpu_exec_6.cc -> .o
In file included from build/ARM/arch/arm/generated/generic_cpu_exec_6.cc:10:0:
build/ARM/arch/arm/generated/exec-ns.cc.inc: In member function 'Fault ArmISAInst::SvePredBic<_Element>::execute(ExecContext*, Trace::InstRecord*) const':
build/ARM/arch/arm/generated/exec-ns.cc.inc:220568:40: error: '~' on an expression of type bool [-Werror=bool-operation]
                 destElem = srcElem1 & ~srcElem2;
                                        ^~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:220568:40: note: did you mean to use logical not ('!')?
build/ARM/arch/arm/generated/exec-ns.cc.inc: In member function 'Fault ArmISAInst::SvePredBics<_Element>::execute(ExecContext*, Trace::InstRecord*) const':
build/ARM/arch/arm/generated/exec-ns.cc.inc:220634:40: error: '~' on an expression of type bool [-Werror=bool-operation]
                 destElem = srcElem1 & ~srcElem2;
                                        ^~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:220634:40: note: did you mean to use logical not ('!')?
build/ARM/arch/arm/generated/exec-ns.cc.inc: In instantiation of 'Fault ArmISAInst::SvePredBic<_Element>::execute(ExecContext*, Trace::InstRecord*) const [with _Element = unsigned char; Fault = std::shared_ptr]':
build/ARM/arch/arm/generated/exec-ns.cc.inc:220588:49:   required from here
build/ARM/arch/arm/generated/exec-ns.cc.inc:220568:39: error: '~' on an expression of type bool [-Werror=bool-operation]
                 destElem = srcElem1 & ~srcElem2;
                                       ^~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:220568:39: note: did you mean to use logical not ('!')?
build/ARM/arch/arm/generated/exec-ns.cc.inc: In instantiation of 'Fault ArmISAInst::SvePredBics<_Element>::execute(ExecContext*, Trace::InstRecord*) const [with _Element = unsigned char; Fault = std::shared_ptr]':
build/ARM/arch/arm/generated/exec-ns.cc.inc:220679:49:   required from here
build/ARM/arch/arm/generated/exec-ns.cc.inc:220634:39: error: '~' on an expression of type bool [-Werror=bool-operation]
                 destElem = srcElem1 & ~srcElem2;
                                       ^~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:220634:39: note: did you mean to use logical not ('!')?
cc1plus: all warnings being treated as errors
scons: *** [build/ARM/arch/arm/generated/generic_cpu_exec_6.o] Error 1
scons: building terminated because of errors.

ここまでで2時間以上はかかったかと思いますが,みごとにビルドエラーとなりました. ビルド最初の警告メッセージを含めて幾つか気になることがありますので, 次回,順をおって解決していこうと思います.

NVIDIA Jetson 向け開発環境 (1)

NVIDIA SDK Manager のインストール

NVIDIA の Jetson を扱う作業も行っているのですが,そのための開発環境のインストール方法をメモしておきます. これは NVIDIA 社の 関連するwebサイト の 「All Jetson Developer Kits」 の部分に記載されている NVIDIA SDK Manager を入手しインストールする所から始めます. なおホストマシンは Ubuntu 18.04 の 64bit の Intel-PC です.

ダウンロードした sdkmanager_0.9.11-3405_amd64.deb は以下のようにパッケージインストールを行います

$ sudo dpkg -i ./sdkmanager_0.9.11-3405_amd64.deb 
以前に未選択のパッケージ sdkmanager を選択しています。
(データベースを読み込んでいます ... 現在 547004 個のファイルとディレクトリがインストールされています。)
.../sdkmanager_0.9.11-3405_amd64.deb を展開する準備をしています ...
sdkmanager (0.9.11-3405) を展開しています...
sdkmanager (0.9.11-3405) を設定しています ...
bamfdaemon (0.5.3+18.04.20180207.2-0ubuntu1) のトリガを処理しています ...
Rebuilding /usr/share/applications/bamf-2.index...
gnome-menus (3.13.3-11ubuntu1.1) のトリガを処理しています ...
desktop-file-utils (0.23-1ubuntu3.18.04.2) のトリガを処理しています ...
mime-support (3.60ubuntu1) のトリガを処理しています ...
hicolor-icon-theme (0.17-2) のトリガを処理しています ...

これで SDK Manager はインストール可能となります.なお残念ながらSDK ManagerはNVIDIAということを明確に指し示すことのない sdkmanager です. 他のパッケージとの競合や後々本パッケージが何であったかを確認する時に困惑するかもとは思いますが,今は以下のように実行します.

$ sdkmanager 

まんまですが.

これにより以下のウィンド画面が表示されます.

この先を進めるためには NVIDIA DEVELOPER へユーザ登録したアカウントが必要になるのですが,パスワードを忘れてしまいました. そのため,アカウントの設定を再確認した後,次の記事として作成していこうと思います.

2019年5月12日日曜日

NuttX の評価(1)

NuttX とは

NuttX とは Posix インタフェースをサポートしたフリーの RTOS (RealTime OS) です. 組込向けの Posix インタフェースに準拠したOSとして Linux が使われることが多いですが, よりコンパクトでシンプルなRTOSとしての挙動が必要な場合に使用されるとの印象です.

今回,Pthread 対応で作成されたミドルウェアを RTOS 上での動作として確認したい事案があり, 何かしらフリーかつPosixインタフェース仕様の RTOS を探していて,NuttX に出会いました.

初めて扱うRTOSのため,どのような感じかを含め,ここに記録を残していこうかと思います.

NuttX の入手

Nuttx はその オフィシャルサイト で紹介されているリポジトリサイトから入手可能です. サイトとしては SOURCEFORGE と bitbucket の2つがありますが,bitbucket から Git Repository の clone を作ることにしました.

webページに記載されている以下のコマンドを発行することで,ソースコードの入手が可能です:

$ git clone https://bitbucket.org/nuttx/nuttx.git nuttx
Cloning into 'nuttx'...
remote: Counting objects: 405581, done.
remote: Compressing objects: 100% (17927/17927), done.
remote: Total 405581 (delta 13936), reused 0 (delta 0)
Receiving objects: 100% (405581/405581), 96.67 MiB | 6.37 MiB/s, done.
Resolving deltas: 100% (317842/317842), done.
Checking out files: 100% (11222/11222), done.

ダウンロードした内容は以下のようになっています:

$ ls -al ./nuttx/
合計 2812
drwxr-xr-x  21 myname myname    4096  5月 12 15:03 .
drwxr-xr-x   3 myname myname    4096  5月 12 15:02 ..
drwxr-xr-x   8 myname myname    4096  5月 12 15:03 .git
-rw-r--r--   1 myname myname     258  5月 12 15:03 .gitignore
-rw-r--r--   1 myname myname   11658  5月 12 15:03 COPYING
-rw-r--r--   1 myname myname 1397501  5月 12 15:03 ChangeLog
drwxr-xr-x   2 myname myname    4096  5月 12 15:03 Documentation
-rw-r--r--   1 myname myname   40418  5月 12 15:03 Kconfig
-rw-r--r--   1 myname myname    2099  5月 12 15:03 Makefile
-rw-r--r--   1 myname myname   82846  5月 12 15:03 README.txt
-rw-r--r--   1 myname myname 1095746  5月 12 15:03 ReleaseNotes
-rw-r--r--   1 myname myname  147195  5月 12 15:03 TODO
drwxr-xr-x  15 myname myname    4096  5月 12 15:03 arch
drwxr-xr-x   2 myname myname    4096  5月 12 15:03 audio
drwxr-xr-x   6 myname myname    4096  5月 12 15:03 binfmt
drwxr-xr-x 173 myname myname    4096  5月 12 15:03 configs
drwxr-xr-x   2 myname myname    4096  5月 12 15:03 crypto
drwxr-xr-x  35 myname myname    4096  5月 12 15:03 drivers
drwxr-xr-x  27 myname myname    4096  5月 12 15:03 fs
drwxr-xr-x   7 myname myname    4096  5月 12 15:03 graphics
drwxr-xr-x   9 myname myname    4096  5月 12 15:03 include
drwxr-xr-x   6 myname myname    4096  5月 12 15:03 libs
drwxr-xr-x  11 myname myname    4096  5月 12 15:03 mm
drwxr-xr-x  26 myname myname    4096  5月 12 15:03 net
drwxr-xr-x   2 myname myname    4096  5月 12 15:03 pass1
drwxr-xr-x  19 myname myname    4096  5月 12 15:03 sched
drwxr-xr-x   4 myname myname    4096  5月 12 15:03 syscall
drwxr-xr-x   3 myname myname    4096  5月 12 15:03 tools
drwxr-xr-x   5 myname myname    4096  5月 12 15:03 wireless

上記でダウンロードした README.txt を見てみると,以下が書かれていました:

INSTALLATION
^^^^^^^^^^^^

  There are two ways to get NuttX:  You may download released, stable
  tarballs from either the Bitbucket or Sourceforge download locations.
  Or you may get NuttX by cloning the Bitbucket GIT repositories.  Let's
  consider the released tarballs first:

コメントに従って tarball をダウンロードする所から始めます...

NuttX の tarball の入手

README.txtに記載されている bitbucket からのファイルダウンロードページ から tar.gz を入手します. 最新のファイル名が nuttx-7.29.tar.gz なので,この記事作成時点での stable 版の最新バージョンは 7.29 ということでしょうか.

展開した tar.gz を展開すると以下のフォルダが作成されました:

$ ls -al ./nuttx-7.29
合計 2812
drwxr-x---  20 myname myname    4096  3月 25 23:08 .
drwxr-xr-x   4 myname myname    4096  5月 12 15:31 ..
-rwxr-xr-x   1 myname myname     153  3月 25 23:08 .version
-rwxr-----   1 myname myname   11658  3月 25 23:02 COPYING
-rwxr-----   1 myname myname 1397501  3月 25 23:02 ChangeLog
drwxr-x---   2 myname myname    4096  3月 25 23:07 Documentation
-rwxr-----   1 myname myname   40418  3月 25 23:02 Kconfig
-rwxr-----   1 myname myname    2099  3月 25 23:02 Makefile
-rwxr-----   1 myname myname   82804  3月 25 23:02 README.txt
-rwxr-----   1 myname myname 1095746  3月 25 23:02 ReleaseNotes
-rwxr-----   1 myname myname  147542  3月 25 23:02 TODO
drwxr-x---  15 myname myname    4096  3月 25 23:03 arch
drwxr-x---   2 myname myname    4096  3月 25 23:07 audio
drwxr-x---   6 myname myname    4096  3月 25 23:07 binfmt
drwxr-x--- 172 myname myname    4096  3月 25 23:07 configs
drwxr-x---   2 myname myname    4096  3月 25 23:03 crypto
drwxr-x---  35 myname myname    4096  3月 25 23:07 drivers
drwxr-x---  27 myname myname    4096  3月 25 23:07 fs
drwxr-x---   7 myname myname    4096  3月 25 23:07 graphics
drwxr-x---   9 myname myname    4096  3月 25 23:07 include
drwxr-x---   6 myname myname    4096  3月 25 23:03 libs
drwxr-x---  11 myname myname    4096  3月 25 23:07 mm
drwxr-x---  26 myname myname    4096  3月 25 23:07 net
drwxr-x---   2 myname myname    4096  3月 25 23:07 pass1
drwxr-x---  19 myname myname    4096  3月 25 23:07 sched
drwxr-x---   4 myname myname    4096  3月 25 23:07 syscall
drwxr-x---   3 myname myname    4096  3月 25 23:07 tools
drwxr-x---   5 myname myname    4096  3月 25 23:07 wireless

また README.txt を見てみると app も必要そうなので,同じくダウンロードページから app-7.29.tar.gz もダウンロードします.

appも展開して README.txt 記載のフォルダ構成にシンボリックリンクを作ると 以下のような感じになります:

$ ls -al
合計 23860
drwxr-xr-x  4 myname myname     4096  5月 12 15:51 .
drwxr-xr-x 39 myname myname     4096  5月 12 14:59 ..
lrwxrwxrwx  1 myname myname        9  5月 12 15:51 apps -> apps-7.29
drwxr-x--- 19 myname myname     4096  5月 12 15:50 apps-7.29
-rw-rw-r--  1 myname myname  3529151  5月 12 15:48 apps-7.29.tar.gz
lrwxrwxrwx  1 myname myname       10  5月 12 15:51 nuttx -> nuttx-7.29
drwxr-x--- 20 myname myname     4096  3月 25 23:08 nuttx-7.29
-rw-rw-r--  1 myname myname 20885489  5月 12 15:29 nuttx-7.29.tar.gz
事前に準備されているコンフィグレーション

事前に準備されているコンフィグレーションは NuttX フォルダの configs の下にあります. ls で表示させてみると,以下の通りです:

$ ls -a ./nuttx/configs/
.                    maple                     sam3u-ek
..                   max32660-evsys            sam4cmp-db
Board.mk             mbed                      sam4e-ek
Kconfig              mcb1700                   sam4l-xplained
Makefile             mcu123-lpc214x            sam4s-xplained
README.txt           metro-m4                  sam4s-xplained-pro
amber                micropendous3             sama5d2-xult
arduino-due          mikroe-stm32f4            sama5d3-xplained
arduino-mega2560     mirtoo                    sama5d3x-ek
avr32dev1            misoc                     sama5d4-ek
b-l072z-lrwan1       moteino-mega              samd20-xplained
b-l475e-iot01a       moxa                      samd21-xplained
bambino-200e         ne64badge                 same70-xplained
beaglebone-black     nr5m100-nexys4            saml21-xplained
boardctl.c           nrf52-generic             samv71-xult
c5471evm             ntosd-dm320               shenzhou
clicker2-stm32       nucleo-144                sim
cloudctrl            nucleo-f072rb             skp16c26
demo9s12ne64         nucleo-f091rc             stm3210e-eval
dk-tm4c129x          nucleo-f103rb             stm3220g-eval
dummy                nucleo-f207zg             stm3240g-eval
ea3131               nucleo-f302r8             stm32_tiny
ea3152               nucleo-f303re             stm32butterfly2
eagle100             nucleo-f303ze             stm32f051-discovery
efm32-g8xx-stk       nucleo-f334r8             stm32f072-discovery
efm32gg-stk3700      nucleo-f410rb             stm32f103-minimum
ekk-lm3s9b96         nucleo-f446re             stm32f334-disco
esp32-core           nucleo-f4x1re             stm32f3discovery
ez80f910200kitg      nucleo-h743zi             stm32f411e-disco
ez80f910200zco       nucleo-l073rz             stm32f429i-disco
fire-stm32v2         nucleo-l152re             stm32f4discovery
flipnclick-pic32mz   nucleo-l432kc             stm32f746-ws
flipnclick-sam3x     nucleo-l452re             stm32f746g-disco
freedom-k28f         nucleo-l476rg             stm32f769i-disco
freedom-k64f         nucleo-l496zg             stm32l476-mdk
freedom-k66f         nutiny-nuc120             stm32l476vg-disco
freedom-kl25z        olimex-efm32g880f128-stk  stm32l4r9ai-disco
freedom-kl26z        olimex-lpc-h3131          stm32ldiscovery
gapuino              olimex-lpc1766stk         stm32vldiscovery
hymini-stm32v        olimex-lpc2378            sure-pic32mx
imxrt1050-evk        olimex-stm32-e407         teensy-2.0
imxrt1060-evk        olimex-stm32-h405         teensy-3.x
kwikstik-k40         olimex-stm32-h407         teensy-lc
launchxl-cc1310      olimex-stm32-p107         tm4c123g-launchpad
launchxl-cc1312r1    olimex-stm32-p207         tm4c1294-launchpad
launchxl-tms57004    olimex-stm32-p407         tms570ls31x-usb-kit
lc823450-xgevk       olimex-strp711            twr-k60n512
lincoln60            olimexino-stm32           twr-k64f120m
lm3s6432-s2e         omnibusf4                 u-blox-c027
lm3s6965-ek          open1788                  ubw32
lm3s8962-ek          or1k                      us7032evb1
lm4f120-launchpad    p112                      viewtool-stm32f107
lpc4330-xplorer      pcduino-a10               xmc4500-relax
lpc4337-ws           photon                    z16f2800100zcog
lpc4357-evb          pic32mx-starterkit        z80sim
lpc4370-link2        pic32mx7mmb               z8encore000zco
lpcxpresso-lpc1115   pic32mz-starterkit        z8f64200100kit
lpcxpresso-lpc1768   qemu-i486                 zkit-arm-1769

とりあえず何かしら動作評価をしてみたいので, QEMU の i486 版 (qemu-i486) から初めてみたく思います.

QEMU 4.0.0 で Raspberry Pi 2 (1)

はじめに

最近再整備した Ubuntu 18.04 上で QEMU を立ち上げようとしています. Raspberry Pi 2 でちょっとしたポーティングを検討していまして,その開発作業をつつがなく進めるため,まずは仮想環境上で実施しようかと考えています.

最初は Ubuntu 18.04 上での通常のパッケージインストールで導入される QEMU にしようかとも考えていましたが,この4月にメジャーバージョンアップした 4.0 がリリースされているみたいなので,この 4.0 で立ち上げてみようと思います.

QEMUソースコードの入手

まずは QEMU のソースコードの入手です. オフィシャルサイトダウンロードページ から入手可能です.

ダウンロードページ上からはOS毎のバイナリパッケージが入手できますが, その並びにある Source code からソースコードを入手する形となります

QEMUのビルド

QEMUは autoconf 系で構成されているためソースコードページ記載の configure と make にてアプリケーションの構築が可能です.参考までにページ記載の手順を以下に列挙しておきます:

tar xvJf qemu-4.0.0.tar.xz
cd qemu-4.0.0
./configure
make

なお圧縮フォーマットの xz 形式は最近ちょこちょこ見かけます.圧縮に時間はかかるけど gzip や bzip2 よりも高い圧縮率みたいです.

生成されるエミュレータ

ビルド後は様々なエミュレータがフォルダ上に生成されています.CPU種別毎にどのようなエミュレータがあるかをフォルダのリストアップで調べたものが以下です. 色々と充実しています.

aarch64-linux-user/
aarch64-softmmu/
aarch64_be-linux-user/
alpha-linux-user/
alpha-softmmu/
arm-linux-user/
arm-softmmu/
armeb-linux-user/
cris-linux-user/
cris-softmmu/
hppa-linux-user/
hppa-softmmu/
i386-linux-user/
i386-softmmu/
lm32-softmmu/
m68k-linux-user/
m68k-softmmu/
microblaze-linux-user/
microblaze-softmmu/
microblazeel-linux-user/
microblazeel-softmmu/
mips-linux-user/
mips-softmmu/
mips64-linux-user/
mips64-softmmu/
mips64el-linux-user/
mips64el-softmmu/
mipsel-linux-user/
mipsel-softmmu/
mipsn32-linux-user/
mipsn32el-linux-user/
moxie-softmmu/
nios2-linux-user/
nios2-softmmu/
or1k-linux-user/
or1k-softmmu/
ppc-linux-user/
ppc-softmmu/
ppc64-linux-user/
ppc64-softmmu/
ppc64abi32-linux-user/
ppc64le-linux-user/
riscv32-linux-user/
riscv32-softmmu/
riscv64-linux-user/
riscv64-softmmu/
s390x-linux-user/
s390x-softmmu/
sh4-linux-user/
sh4-softmmu/
sh4eb-linux-user/
sh4eb-softmmu/
sparc-linux-user/
sparc-softmmu/
sparc32plus-linux-user/
sparc64-linux-user/
sparc64-softmmu/
tilegx-linux-user/
tricore-softmmu/
unicore32-softmmu/
x86_64-linux-user/
x86_64-softmmu/
xtensa-linux-user/
xtensa-softmmu/
xtensaeb-linux-user/
xtensaeb-softmmu/
ARMのエミュレータ

今回は ARM のエミュレータを使用し,またLinuxやBigEndianではないので,arm-softmmu フォルダにおかれている qemu-system-arm を使用します.バージョン表示は以下の通りです:

$ ./qemu-system-arm -version
QEMU emulator version 4.0.0
Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers

また単純にコマンドを実行すると以下の表示がなされます.

$ ./qemu-system-arm 
qemu-system-arm: No machine specified, and there is no default
Use -machine help to list supported machines

メッセージ通りにサポートされているマシンを調べると以下の模様です:

$ ./qemu-system-arm -machine help
Supported machines are:
akita                Sharp SL-C1000 (Akita) PDA (PXA270)
ast2500-evb          Aspeed AST2500 EVB (ARM1176)
borzoi               Sharp SL-C3100 (Borzoi) PDA (PXA270)
canon-a1100          Canon PowerShot A1100 IS
cheetah              Palm Tungsten|E aka. Cheetah PDA (OMAP310)
collie               Sharp SL-5500 (Collie) PDA (SA-1110)
connex               Gumstix Connex (PXA255)
cubieboard           cubietech cubieboard
emcraft-sf2          SmartFusion2 SOM kit from Emcraft (M2S010)
highbank             Calxeda Highbank (ECX-1000)
imx25-pdk            ARM i.MX25 PDK board (ARM926)
integratorcp         ARM Integrator/CP (ARM926EJ-S)
kzm                  ARM KZM Emulation Baseboard (ARM1136)
lm3s6965evb          Stellaris LM3S6965EVB
lm3s811evb           Stellaris LM3S811EVB
mainstone            Mainstone II (PXA27x)
mcimx6ul-evk         Freescale i.MX6UL Evaluation Kit (Cortex A7)
mcimx7d-sabre        Freescale i.MX7 DUAL SABRE (Cortex A7)
microbit             BBC micro:bit
midway               Calxeda Midway (ECX-2000)
mps2-an385           ARM MPS2 with AN385 FPGA image for Cortex-M3
mps2-an505           ARM MPS2 with AN505 FPGA image for Cortex-M33
mps2-an511           ARM MPS2 with AN511 DesignStart FPGA image for Cortex-M3
mps2-an521           ARM MPS2 with AN521 FPGA image for dual Cortex-M33
musca-a              ARM Musca-A board (dual Cortex-M33)
musca-b1             ARM Musca-B1 board (dual Cortex-M33)
musicpal             Marvell 88w8618 / MusicPal (ARM926EJ-S)
n800                 Nokia N800 tablet aka. RX-34 (OMAP2420)
n810                 Nokia N810 tablet aka. RX-44 (OMAP2420)
netduino2            Netduino 2 Machine
none                 empty machine
nuri                 Samsung NURI board (Exynos4210)
palmetto-bmc         OpenPOWER Palmetto BMC (ARM926EJ-S)
raspi2               Raspberry Pi 2
realview-eb          ARM RealView Emulation Baseboard (ARM926EJ-S)
realview-eb-mpcore   ARM RealView Emulation Baseboard (ARM11MPCore)
realview-pb-a8       ARM RealView Platform Baseboard for Cortex-A8
realview-pbx-a9      ARM RealView Platform Baseboard Explore for Cortex-A9
romulus-bmc          OpenPOWER Romulus BMC (ARM1176)
sabrelite            Freescale i.MX6 Quad SABRE Lite Board (Cortex A9)
smdkc210             Samsung SMDKC210 board (Exynos4210)
spitz                Sharp SL-C3000 (Spitz) PDA (PXA270)
sx1                  Siemens SX1 (OMAP310) V2
sx1-v1               Siemens SX1 (OMAP310) V1
terrier              Sharp SL-C3200 (Terrier) PDA (PXA270)
tosa                 Sharp SL-6000 (Tosa) PDA (PXA255)
verdex               Gumstix Verdex (PXA270)
versatileab          ARM Versatile/AB (ARM926EJ-S)
versatilepb          ARM Versatile/PB (ARM926EJ-S)
vexpress-a15         ARM Versatile Express for Cortex-A15
vexpress-a9          ARM Versatile Express for Cortex-A9
virt-2.10            QEMU 2.10 ARM Virtual Machine
virt-2.11            QEMU 2.11 ARM Virtual Machine
virt-2.12            QEMU 2.12 ARM Virtual Machine
virt-2.6             QEMU 2.6 ARM Virtual Machine
virt-2.7             QEMU 2.7 ARM Virtual Machine
virt-2.8             QEMU 2.8 ARM Virtual Machine
virt-2.9             QEMU 2.9 ARM Virtual Machine
virt-3.0             QEMU 3.0 ARM Virtual Machine
virt-3.1             QEMU 3.1 ARM Virtual Machine
virt                 QEMU 4.0 ARM Virtual Machine (alias of virt-4.0)
virt-4.0             QEMU 4.0 ARM Virtual Machine
witherspoon-bmc      OpenPOWER Witherspoon BMC (ARM1176)
xilinx-zynq-a9       Xilinx Zynq Platform Baseboard for Cortex-A9
z2                   Zipit Z2 (PXA27x)

めざす Raspberry Pi 2 は raspi2 のようです.

raspi2 エミュレータの起動

-machine raspi2 のオプション指定にて起動してみると以下に示すウィンドが表示されます:

このメニューバー上の Machine メニューからは Pause/Reset/Power Down および Quit の操作を実行できます. また View メニューからはフレームバッファによる描画やシリアルの出力等を確認することができます:

起動と同時に qemu-system-arm がぶん回るのでプラットフォーム上でもたつきが発生しますが, 事前に理解しておけば対応は可能だと思います.

2018年10月27日土曜日

X410 / Xサーバ

自宅PCのOSはWindows10でして,そこに WSL(Windows Subsystem for Linux)を入れて Ubuntu 18.04 LTS を併用しています.
これまでも デスクトップLinux を使っていたのですが,色々な便で言えば Windows10 が勝手が良く,ただソフトウェア開発環境としては Linux 上の方が充足しているため,両者を併用するため最近は Windows10 + Ubuntu/WSL の構成で使っていました.

その際,若干面倒だったのが Ubuntu/WSL 側からウィンド表示させる場合でして,フリーの VcXsrv をインストールし,Ubuntu/WSLからWindows10側のXサーバに画面を飛ばして使っていました.

ただ細かな所で相性かな?という部分があり,なんとかしたいなと思っていたのですが,先日,X410という Xサーバが Microsoft ストア で提供されているというネット記事を見ました.どうも Microsoft の開発チーム推奨とのこと.ざっくり5000円ぐらいの価格なのですが,期間限定で90%オフとのこと.

昨日,ふと同記事のことを思い出し Microsoft ストアを見てみました.

おお・・・
\5,270割引の\580で,割引終了まで「残り4日」・・・
・・・買っときますか

とはいえ Microsoft ストアでの支払い手続きをしたこともなく,当然クレジットカード登録もしたことがありません.
ストアアカウントの支払い内容をチェックしてみましたが,クレジットカードや銀行口座,PayPal 等が主に使用可能とのこと.

個人的にはそれらの個人情報をネット上に登録するのはあまり気が乗りません・・・

どうしようかなと考えて,ふと Microsoft ストアのプリペイドカードでもないかなと調べてみたら,Amazon で販売されていることが分かりました.


いい感じです.
価格は「1000円」「2000円」「5000円」から選べ,「オンラインコード版」も選択できるため即時に使用可能です.

Amazon での選択画面
なおパッケージ画像上では「プリペイドカード」ですが, Amazon での商品名は「Windows ストアギフトカード」です.

Amazon は生活に不可欠なためクレジットカード番号を登録していますが,ここの登録だけで他のサイトに実質的な入金ができるため,いいですね.

これでいこうと思います.

これを購入すると「Amazon.co.jp ご注文の確認」というメールが登録しているメールアドレスに届きました.そこに「PCソフトウェアダウンロードライブラリ」と書かれているリンクがあり,そこに飛んで無事にコードを入手できました.

それを Microsoft ストア画面の「…」の所にある「お支払い方法」の所に登録し,無事に1000円分のチャージが出来ました.

では X410 の購入スタートです.

特に大きな問題はありません.

画面に表示されている [購入] をクリックして進むと,


等の確認画面が表示され,支払い方法(先のプリペイドカードでチャージしたプール金から)や,人によるとは思いますが住所等を入力し,無事に購入を済ませるとダウンロード画面となります.

無事にダウンロードが完了すると起動を促す画面がでるので起動します.

特に大きく何かは現れないのですが,タスクトレイに「X」と記されたアイコンが表示されます(アイコンの一番左のもの).

シンプルでいいですね.

マウス右クリックでメニューを見てみると

と,これもとてもシンプルです.
デスクトップ画面をウィンドウとして表示するか等の設定がありますが,アプリごとにウィンド表示したいのでそのままで進めます.

あとは Ubuntu/WSL の bash を起動し,様々なアプリを起動してみました.

ざっと Emacs, Xmaxima, TexWorks, Nautils, FireFox や FireFox 上での YouTube サイトです.

特には問題ない様ですし,ストレスもありません.
これで 500円程度であれば,全然後悔もないですね.

今後,作業も効率化されると思います.

皆さまも後4日なので,購入を検討されたらいかがでしょうか.

2018年9月30日日曜日

GitBucket の設定 / データベース (2)

Tomcat8 上の GitBucket における MySQL の設定記事の後半です.

MySQL での接続は,GitBucketの説明ページにも記載されて手順:

  1. mysql -uroot -p -hlocalhost
  2. create database gitbucket;
  3. grant all privileges on `gitbucket`.* to testuser@localhost identified by 'testpassword';
  4. flush privileges; 
  5. quit

で進めていくことになります.これで問題ないとは思いますが,自分自身での確認も含めて,自分がやった方法を順を追って説明します.

まず最初は MySQL でのデータベース管理システムへの接続です.これは上記の手順1の通り,以下となります:

server:~$ sudo mysql -u root -p -h localhost 
Enter password:
Welcome to the MySQL monitor.  
Commands end with ; or \g.Your MySQL connection id is 6Server version: 5.7.23-0ubuntu0.18.04.1 (Ubuntu)
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. 
Other names may be trademarks of their respective owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>


コマンド mysql への引数の意味は
  • -u : ユーザ指定 (rootで)
  • -p : パスワード要求
  • -u : ホスト名の指定
です.
その後,MySQL のコマンドプロンプト mysql> からデータベース操作を行います.

その後の手順を進める前に,まずはデフォルトの MySQL の動作モードがどうなっているかを確認しておく方が良いのではと思います.それは以下のコマンドを mysql> のプロンプトで発行することで確認できます:

  • mysql> SELECT @@sql_mode;

上記コマンドを入力すると表形式で情報が表示されますが,そのコンテンツとしては以下が表示されるのではないかと思います:
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION 
詳細についてはネット検索や MySQL のリファレンスマニュアル で確認できると思いますが,一つのポイントは以下かと思います:
NO_AUTO_CREATE_USER認証情報が指定される場合を除き、ほかの方法で実行される場合は、GRANT ステートメントで新規ユーザーを自動的に作成しません。ステートメントは IDENTIFIED BY を使用した空以外のパスワードを指定するか、IDENTIFIED WITH を使用した認証プラグインを指定する必要があります。
その後のSQL文における GRANT ステートメント発行において IDENTIFIED BY でパスワードを指定するか,陽にユーザ作成を行ってから GRANT を発行する必要があるとの認識です.MySQL のリファレンスマニュアルでは
「通常、データベース管理者は最初に CREATE USER を使用してアカウントを作成し、次に GRANT を使用してその権限や特性を定義します」(13.7.1.4 GRANT 構文
と記載してあり,通常の順をおったやり方ではまずは CREATE USER でのアカウント作成になるかとは思います.ただし「通常」と記載されている通り,自身の理解があるのであれば簡略した手順で進めていくことも可かと思います.

それをふまえて以下を進めます.
次はデータベースの生成です(手順2).これは GitBucket のページの通りです:
mysql> create database gitbucket;
Query OK, 1 row affected (0.00 sec)
無事に成功です.

その後の手順3:
grant all privileges on `gitbucket`.* to testuser@localhost identified by 'testpassword';
ですが,これは
testpassword というパスワードにより認識されたローカルホストのユーザ名 testuser に,MySQL の gitbucket データベース下のアクセスに関するすべての権限を与える
という意味になりますかね.特に「all privileges」は
ALL [PRIVILEGES] は、GRANT OPTION および PROXY 権限を除き、権限が付与されるレベルで使用可能なすべての権限を表します
となっています.
ここではユーザ名とパスワードを適切に指定して発行します.シングルコーテーション等少しわかりずらい所がありますが,自分は以下と入力し無事にOKが出ました
mysql> grant all privileges on gitbucket.* to 'gitbucket'@'localhost' identified by 'gitbucket'; 
Query OK, 0 rows affected, 1 warning (0.01 sec)
その後は手順4の
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
です.FLUSH ステートメントは,さまざまな内部キャッシュをクリアまたはリロードしたり、テーブルをフラッシュしたりするものですが,上記の「privileges」指定は以下の意味となります:
mysql データベース内の付与テーブルから権限をリロードします。
GRANT、CREATE USER、CREATE SERVER、および INSTALL PLUGIN ステートメントの結果として、サーバーは情報をメモリーにキャッシュします。このメモリーは、対応する REVOKE、DROP USER、DROP SERVER、および UNINSTALL PLUGIN ステートメントによって解放されないため、キャッシュを発生させるステートメントの多数のインスタンスを実行するサーバーでは、メモリー使用量が増加します。このキャッシュされたメモリーは FLUSH PRIVILEGES で解放できます。
その後は最後の quit です:
mysql> quit
Bye

これで無事にデータベースが作成できました.

後は GitBucket 側での設定です.それは次に記事にて.



GitBucket の設定 / データベース (1)

GitBucket を立ち上げ後,System Administration にて各種設定をしていくのですが,その際,System Settings にて以下の表示が目につくと思います:

ピンク色で囲まれた記載:
Your GitBucket is running on embedded H2 database. Recommend to configure to use external database if you would like to use GitBucket for important purpose.
がポイントです.

 GitBucketのデフォルトでは,その各種データを Java SQL Database である
H2 Database Engine
に保存するようになっています.Wikipedia のページ で紹介されている通り,オープンソースで低フットプリントな Java プラットフォーム用データベースの様で,開発元のwebページにある History and Roadmap を拝見するに 2004 年から開発されているデータベースの様です.
 使ってみた感覚として,それなりの信頼性はありそうな気はしますが,上記の GitBucket 上の記載を見るに,重要なデータを管理する場合には,より広く使われているデータベース(MySQLなりPostgreSQLなり)を使用することが薦められています.
作者側で確認済のことがあるのやもしれませんが,一般論としても,その使用者数が多いことからくる信頼性の高さは H2 よりも MySQL/PostgreSQL の方は良いかとは思います.
 記載上にある青字の "configure to use external database" のリンクに飛ぶと,MySQL や PostgreSQL を用いた設定方法が記載されています.
External database configuration
上記ページの記述を元に設定すればデータベースは使える様ですが,さて,どちらを使うべきか,です.
 それについては,僕自身は判断根拠を持ってはいませんが,以下のページを参考にさせて頂きました:
PostgreSQLとMySQL、使うならどっち? データベース専門家が8つの視点で徹底比較!
このページの結論によると
  • PostgreSQLは「多機能であること」が最大の利点なので、その特徴が生きるようなシステムには向いていると思います。たとえば、Oracle Databaseからの移行やSIer系の企業で使われるケースが多いという印象を個人的には持っています。あとは、分析系のシステムでもよく使われます。ただこれも前述のようにMySQLの分析機能が徐々に充実してきているため、将来的に差は少なくなってくるでしょう。
  • (MySQLは) 基本的には、シンプルなWebサービスに向いていると思います。一定数の結果セットを取ってきて、そのデータを表示するといった感じの。たとえばTwitterのように、タイムラインの先頭部分を表示して、下にスクロールすると次のデータを読みこむようなサービスは、MySQLには特にマッチしていると思います。
の様です.最後は「とはいえ、バージョンが上がるごとにPostgreSQLもMySQLも高性能になってきているので、結局は使いたい方を使えばいいんじゃないでしょうか。」と結ばれていますが,上記内容を見るに「MySQL」でいこうかなと思います.GitBucketのページでも MySQL の方が最初に記載されていますし.

MySQL での設定については,少し確認したこととかもあるので後半の記事で紹介しようと思います.

Ubuntu 18.04 Bionic Beaver Linux 上への gitbucket のインストール

前回の記事(Ubuntu 18.04 Bionic Beaver Linux 上への Tomcat8 サーバのインストール)に書きました通り,ソフトウェアリポジトリとして gitbucket を使ってまして,その準備として Tomcat を前回はインストールしました.

そして本丸である gitbucket のインストールです.

Tomcat 上に gitbucket をインストールする際には,以下の Wiki 記事が参考になります:
Deployment to JEE and Servlet containers
そこには Tomcat 8 向けのインストール方法が箇条書きされてまして,まさにその通りに設定をしていく形になります:
Tomcat 8
  1. install java8
  2. install tomcat8
  3. mkdir /var/gitbucket
  4. chown tomcat8:tomcat8 /var/gitbucket
  5. echo "GITBUCKET_HOME=/var/gitbucket" >> /etc/default/tomcat8
  6. deploy gitbucket.war into /var/lib/tomcat8/webapps
  7. service tomcat8 restart
自分が実施した時は手順5のリダイレクトがエラーとなったのですが,内容が明確なため特にエラー内容は確認せずに直接ファイルを修正しました :-)

これによりすぐに gitbucket にアクセス可能となります.なお Tomcat8 のURLが
http://<tomcat8のURL.例えば 192.168.10.1:8080等>
の場合,gitbucket は
http://<tomcat8のURL.例えば 192.168.10.1:8080等>/gitbucket
からアクセス可能です :


アクセス後,画面右上に表示されている [Sign In] からログイン可能です.
なお初期アカウントは root (パスワードもroot)となります.

root でログイン後,ユーザアカウント設定等を進めていくことになりますが,まずはリポジトリ上のデータ格納場所をどうするかを考える方が良いと思います.それらの設定は右上の System Administration メニューから実施することになります:

この先はデータベースの設定等,gitbucket の各種設定に関する話になりますので,別の記事にしようと思います.

こんな便利なソフトウェアを公開していただいている作者の方には感謝です.

2018年9月5日水曜日

Ubuntu 18.04 Bionic Beaver Linux 上への Tomcat8 サーバのインストール

うちのサーバでは各種ソフトウェアのリポジトリ管理に gitbucket を使用しています.Scala で実装されたオープンソースの Git サーバです.

なお作者の方は日本人でして,僕個人は面識はありませんが,最近トレジャーデータ社に転職されたみたいですね(作者の方のブログはこちら).

gitbucket自体は単独でもサーバ動作可能なのですが,Java Servlet として実装されており,前のサーバ運用時から Tomcat 上で動作させています.

今回も Tomcat 上でのサーバ動作としたく,まずは Tomcat からのインストールです.



サービス系のソフトウェアをインストールする手順として,これまでは関連する対象ソフトウェア群を個別に apt を使って install した後,設定ファイル等を細かに修正・調整し,サービス起動を自身で行った後,サービスに対してクライアントからの接続操作を行い,その挙動を諸々と確認するということを行っていたため,なかなか手間のかかる作業でした.

最近の Ubuntu では Tasksel というインストールと設定をまとめて実施してくれるツールが使用可能であるため,サービスのインストールも大変楽になりました.

Tasksel の詳細についてはここから確認できます.

また Tasksel を用いた ubuntu18.04 上での各種サービスのインストール詳細についても
LINUXCONFIG.org / YOUR SYSADMIN GUIDE TO GNU/LINUX 
というサイトから確認できます.

今回の tomcat8 のインストールも同サイトの
Install Tomcat 8 server on Ubuntu 18.04 Bionic Beaver Linux
という記事を参考にしました.

便利になりました :-)

具体的な手順は書いてある通りなので省略させて頂く形でお願いします.

GNU Emacs for Windows における最近の IMEパッチ問題

自分は GNU Emacs 使いなのですが、Windows版の Emacs を使用する場合、IMEパッチの問題がありました。 ざっくり言うと、FSFの正規のリリースバイナリだと日本語変換のIMEに切り替えた時、インラインで候補文字が表示されないという問題です。そのために有志の方々...