[gem5-dev] Change in gem5/gem5[develop]: util: Convert the other architecture's m5 utility builds to scons.
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.
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