[gem5-dev] Change in gem5/gem5[develop]: util: Convert the other architecture's m5 utility builds to scons.

2020-04-27 Thread Gabe Black (Gerrit) via gem5-dev
Gabe Black has submitted this change. (  
https://gem5-review.googlesource.com/c/public/gem5/+/27219 )


Change subject: util: Convert the other architecture's m5 utility builds to  
scons.

..

util: Convert the other architecture's m5 utility builds to scons.

Because I don't have a canonical toolchain to set SPARC's defaults to,
it will by default build for Linux instead of Solaris like it used to.
This will make it hard to test, but without a compiler there's not much
I can do.

This also coincidentally brings the SPARC version more in line with the
other variants which all target Linux.

Change-Id: Ie19217e988782da124306160920f40ef168840e4
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/27219
Maintainer: Bobby R. Bruce 
Tested-by: kokoro 
Reviewed-by: Daniel Carvalho 
---
D util/m5/src/Makefile.arm
D util/m5/src/Makefile.thumb
D util/m5/src/Makefile.x86
C util/m5/src/arm/SConsopts
R util/m5/src/arm/m5op.S
C util/m5/src/sparc/SConsopts
R util/m5/src/sparc/m5op.S
R util/m5/src/thumb/SConsopts
C util/m5/src/thumb/m5op.S
C util/m5/src/x86/SConsopts
R util/m5/src/x86/m5op.S
11 files changed, 21 insertions(+), 343 deletions(-)

Approvals:
  Daniel Carvalho: Looks good to me, approved
  Bobby R. Bruce: Looks good to me, approved
  kokoro: Regressions pass



diff --git a/util/m5/src/Makefile.arm b/util/m5/src/Makefile.arm
deleted file mode 100644
index 2588f09..000
--- a/util/m5/src/Makefile.arm
+++ /dev/null
@@ -1,95 +0,0 @@
-# Copyright (c) 2010 ARM Limited
-# All rights reserved.
-#
-# The license below extends only to copyright in the software and shall
-# not be construed as granting a license to any other intellectual
-# property including but not limited to intellectual property relating
-# to a hardware implementation of the functionality of the software
-# licensed hereunder.  You may use the software subject to the license
-# terms below provided that you ensure that this notice is replicated
-# unmodified and in its entirety in all distributions of the software,
-# modified or unmodified, in source code or in binary form.
-#
-# Copyright (c) 2005-2006 The Regents of The University of Michigan
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met: redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer;
-# redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution;
-# neither the name of the copyright holders nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-### If we are not compiling on an arm, we must use cross tools ###
-ifneq ($(shell uname -m), armv7l)
-CROSS_COMPILE?=arm-linux-gnueabi-
-endif
-CC=$(CROSS_COMPILE)gcc
-AS=$(CROSS_COMPILE)as
-LD=$(CROSS_COMPILE)ld
-AR=$(CROSS_COMPILE)ar
-
-JC=javac
-JR=jar
-### JDK_PATH must be set to build gem5OpJni
-#JDK_PATH=/path/to/jdk/version_number
-
-CFLAGS=-O2 -I $(JDK_PATH)/include/ -I $(JDK_PATH)/include/linux \
-   -I../../../include -march=armv7-a
-LDFLAGS=-L. -lm5 -static
-
-LIB_OBJS=m5op_arm.o m5_mmap.o
-OBJS=m5.o
-JNI_OBJS=m5op_arm.o jni_gem5Op.o
-LUA_OBJS=lua_gem5Op.o m5op_arm.o m5_mmap.o
-
-### Need to install lua5.1 library to compile gem5OpLua.so
-LUA_HEADER_INCLUDE=$(shell pkg-config --cflags lua51) \
-   -I/usr/include/x86_64-linux-gnu
-
-all: libm5.a m5
-
-%.o: %.S
-   $(CC) $(CFLAGS) -o $@ -c $<
-
-%.o: %.c
-   $(CC)  $(CFLAGS) -o $@ -c $<
-
-m5: $(OBJS) libm5.a
-   $(CC) -o $@ $^ $(LDFLAGS)
-
-libm5.a: $(LIB_OBJS)
-   $(AR) rcs $@ $^
-
-gem5OpJni: gem5OpJni.jar $(JNI_OBJS)
-   $(CC) --shared -o lib$@.so $(JNI_OBJS)
-
-gem5OpJni.jar:
-   $(JC) jni/gem5Op.java -h .; \
-   $(JR) cvf $@ jni/*.class
-
-lua_gem5Op.o: lua_gem5Op.c
-   $(CC) $(CFLAGS) $(LUA_HEADER_INCLUDE) -o $@ -c $< -fPIC
-

[gem5-dev] Change in gem5/gem5[develop]: util: Convert the other architecture's m5 utility builds to scons.

2020-03-27 Thread Gabe Black (Gerrit)
Gabe Black has uploaded this change for review. (  
https://gem5-review.googlesource.com/c/public/gem5/+/27219 )



Change subject: util: Convert the other architecture's m5 utility builds to  
scons.

..

util: Convert the other architecture's m5 utility builds to scons.

Because I don't have a canonical toolchain to set SPARC's defaults to,
it will by default build for Linux instead of Solaris like it used to.
This will make it hard to test, but without a compiler there's not much
I can do.

This also coincidentally brings the SPARC version more in line with the
other variants which all target Linux.

Change-Id: Ie19217e988782da124306160920f40ef168840e4
---
D util/m5/src/Makefile.arm
D util/m5/src/Makefile.thumb
D util/m5/src/Makefile.x86
C util/m5/src/arm/SConsopts
R util/m5/src/arm/m5op.S
C util/m5/src/sparc/SConsopts
R util/m5/src/sparc/m5op.S
R util/m5/src/thumb/SConsopts
C util/m5/src/thumb/m5op.S
C util/m5/src/x86/SConsopts
R util/m5/src/x86/m5op.S
11 files changed, 21 insertions(+), 343 deletions(-)



diff --git a/util/m5/src/Makefile.arm b/util/m5/src/Makefile.arm
deleted file mode 100644
index 2588f09..000
--- a/util/m5/src/Makefile.arm
+++ /dev/null
@@ -1,95 +0,0 @@
-# Copyright (c) 2010 ARM Limited
-# All rights reserved.
-#
-# The license below extends only to copyright in the software and shall
-# not be construed as granting a license to any other intellectual
-# property including but not limited to intellectual property relating
-# to a hardware implementation of the functionality of the software
-# licensed hereunder.  You may use the software subject to the license
-# terms below provided that you ensure that this notice is replicated
-# unmodified and in its entirety in all distributions of the software,
-# modified or unmodified, in source code or in binary form.
-#
-# Copyright (c) 2005-2006 The Regents of The University of Michigan
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met: redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer;
-# redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution;
-# neither the name of the copyright holders nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-### If we are not compiling on an arm, we must use cross tools ###
-ifneq ($(shell uname -m), armv7l)
-CROSS_COMPILE?=arm-linux-gnueabi-
-endif
-CC=$(CROSS_COMPILE)gcc
-AS=$(CROSS_COMPILE)as
-LD=$(CROSS_COMPILE)ld
-AR=$(CROSS_COMPILE)ar
-
-JC=javac
-JR=jar
-### JDK_PATH must be set to build gem5OpJni
-#JDK_PATH=/path/to/jdk/version_number
-
-CFLAGS=-O2 -I $(JDK_PATH)/include/ -I $(JDK_PATH)/include/linux \
-   -I../../../include -march=armv7-a
-LDFLAGS=-L. -lm5 -static
-
-LIB_OBJS=m5op_arm.o m5_mmap.o
-OBJS=m5.o
-JNI_OBJS=m5op_arm.o jni_gem5Op.o
-LUA_OBJS=lua_gem5Op.o m5op_arm.o m5_mmap.o
-
-### Need to install lua5.1 library to compile gem5OpLua.so
-LUA_HEADER_INCLUDE=$(shell pkg-config --cflags lua51) \
-   -I/usr/include/x86_64-linux-gnu
-
-all: libm5.a m5
-
-%.o: %.S
-   $(CC) $(CFLAGS) -o $@ -c $<
-
-%.o: %.c
-   $(CC)  $(CFLAGS) -o $@ -c $<
-
-m5: $(OBJS) libm5.a
-   $(CC) -o $@ $^ $(LDFLAGS)
-
-libm5.a: $(LIB_OBJS)
-   $(AR) rcs $@ $^
-
-gem5OpJni: gem5OpJni.jar $(JNI_OBJS)
-   $(CC) --shared -o lib$@.so $(JNI_OBJS)
-
-gem5OpJni.jar:
-   $(JC) jni/gem5Op.java -h .; \
-   $(JR) cvf $@ jni/*.class
-
-lua_gem5Op.o: lua_gem5Op.c
-   $(CC) $(CFLAGS) $(LUA_HEADER_INCLUDE) -o $@ -c $< -fPIC
-
-gem5OpLua.so: $(LUA_OBJS)
-   $(CC) $(CFLAGS) $^ -o $@ -shared
-
-clean:
-   rm -f *.o m5 libgem5OpJni.so gem5OpJni.jar jni/*.class libm5.a \
-   jni_gem5Op.h gem5OpLua.so
diff --git a/util/m5/src/Makefile.thumb b/util/m5/src/Makefile.thumb
deleted file mode