svn commit: r356687 - in head/usr.bin: . gprof

Kristof Provost kp at FreeBSD.org
Mon Jan 13 16:52:27 UTC 2020


Author: kp
Date: Mon Jan 13 16:52:26 2020
New Revision: 356687
URL: https://svnweb.freebsd.org/changeset/base/356687

Log:
  gprof: Enable riscv
  
  Add a missing riscv.h header file, and fix the check for riscv (must test
  MACHINE_CPUARCH, not MACHINE_ARCH, if we want to use 'riscv').
  
  Sponsored by:	Axiado

Added:
  head/usr.bin/gprof/riscv.h   (contents, props changed)
Modified:
  head/usr.bin/Makefile
  head/usr.bin/gprof/Makefile
  head/usr.bin/gprof/gprof.h

Modified: head/usr.bin/Makefile
==============================================================================
--- head/usr.bin/Makefile	Mon Jan 13 16:31:58 2020	(r356686)
+++ head/usr.bin/Makefile	Mon Jan 13 16:52:26 2020	(r356687)
@@ -261,7 +261,7 @@ SUBDIR.${MK_TOOLCHAIN}+=	objcopy
 SUBDIR.${MK_TOOLCHAIN}+=	file2c
 # ARM64TODO gprof does not build
 # RISCVTODO gprof does not build
-.if ${MACHINE_ARCH} != "aarch64" && ${MACHINE_CPUARCH} != "riscv"
+.if ${MACHINE_ARCH} != "aarch64"
 SUBDIR.${MK_TOOLCHAIN}+=	gprof
 .endif
 SUBDIR.${MK_TOOLCHAIN}+=	indent

Modified: head/usr.bin/gprof/Makefile
==============================================================================
--- head/usr.bin/gprof/Makefile	Mon Jan 13 16:31:58 2020	(r356686)
+++ head/usr.bin/gprof/Makefile	Mon Jan 13 16:52:26 2020	(r356687)
@@ -5,7 +5,7 @@ PROG=	gprof
 SRCS=	gprof.c arcs.c dfn.c elf.c lookup.c hertz.c \
 	printgprof.c printlist.c kernel.c
 
-.if ${MACHINE_ARCH} != "aarch64" && ${MACHINE_ARCH} != "riscv" && \
+.if ${MACHINE_ARCH} != "aarch64" && ${MACHINE_CPUARCH} != "riscv" && \
     ${MACHINE_ARCH} != "s390x"
 SRCS+=	aout.c
 CFLAGS+=	-DWITH_AOUT

Modified: head/usr.bin/gprof/gprof.h
==============================================================================
--- head/usr.bin/gprof/gprof.h	Mon Jan 13 16:31:58 2020	(r356686)
+++ head/usr.bin/gprof/gprof.h	Mon Jan 13 16:52:26 2020	(r356687)
@@ -57,6 +57,9 @@
 #if __sparc64__
 #   include "sparc64.h"
 #endif
+#if __riscv
+#    include "riscv.h"
+#endif
 
     /*
      * booleans

Added: head/usr.bin/gprof/riscv.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/usr.bin/gprof/riscv.h	Mon Jan 13 16:52:26 2020	(r356687)
@@ -0,0 +1,41 @@
+/*-
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
+ * Copyright (c) 1991, 1993
+ *	The Regents of the University of California.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. 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.
+ * 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
+ *
+ * $FreeBSD$
+ */
+
+    /*
+     *	offset (in bytes) of the code from the entry address of a routine.
+     *	(see asgnsamples for use and explanation.)
+     */
+#define OFFSET_OF_CODE	0
+
+enum opermodes { dummy };
+typedef enum opermodes	operandenum;


More information about the svn-src-head mailing list