Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 21 Aug 2019 10:54:52 +0000 (UTC)
From:      "Bjoern A. Zeeb" <bz@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r351329 - head/usr.bin/gprof
Message-ID:  <201908211054.x7LAsqO9098153@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bz
Date: Wed Aug 21 10:54:52 2019
New Revision: 351329
URL: https://svnweb.freebsd.org/changeset/base/351329

Log:
  gprof: disable building of a.out components
  
  On arm64, riscv, and s390x disable building of aout components.
  This allows gprof to build on these architectures which never supported
  the legacy a.out binary format.
  
  Obtained from:		s390x branch
  MFC after:		3 months

Modified:
  head/usr.bin/gprof/Makefile
  head/usr.bin/gprof/gprof.c
  head/usr.bin/gprof/gprof.h

Modified: head/usr.bin/gprof/Makefile
==============================================================================
--- head/usr.bin/gprof/Makefile	Wed Aug 21 10:45:28 2019	(r351328)
+++ head/usr.bin/gprof/Makefile	Wed Aug 21 10:54:52 2019	(r351329)
@@ -2,8 +2,14 @@
 #	$FreeBSD$
 
 PROG=	gprof
-SRCS=	gprof.c aout.c arcs.c dfn.c elf.c lookup.c hertz.c \
+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" && \
+    ${MACHINE_ARCH} != "s390x"
+SRCS+=	aout.c
+CFLAGS+=	-DWITH_AOUT
+.endif
 FILES=	gprof.flat gprof.callg
 FILESDIR=	${SHAREDIR}/misc
 

Modified: head/usr.bin/gprof/gprof.c
==============================================================================
--- head/usr.bin/gprof/gprof.c	Wed Aug 21 10:45:28 2019	(r351328)
+++ head/usr.bin/gprof/gprof.c	Wed Aug 21 10:54:52 2019	(r351329)
@@ -160,8 +160,11 @@ main(int argc, char **argv)
 	 *	get information from the executable file.
 	 */
     if ((Kflag && kernel_getnfile(a_outname, &defaultEs) == -1) ||
-      (!Kflag && elf_getnfile(a_outname, &defaultEs) == -1 &&
-      aout_getnfile(a_outname, &defaultEs) == -1))
+      (!Kflag && elf_getnfile(a_outname, &defaultEs) == -1
+#ifdef WITH_AOUT
+      && aout_getnfile(a_outname, &defaultEs) == -1
+#endif
+      ))
 	errx(1, "%s: bad format", a_outname);
 	/*
 	 *	sort symbol table.

Modified: head/usr.bin/gprof/gprof.h
==============================================================================
--- head/usr.bin/gprof/gprof.h	Wed Aug 21 10:45:28 2019	(r351328)
+++ head/usr.bin/gprof/gprof.h	Wed Aug 21 10:54:52 2019	(r351329)
@@ -256,7 +256,9 @@ void		addarc(nltype *, nltype *, long);
 bool		addcycle(arctype **, arctype **);
 void		addlist(struct stringlist *, char *);
 void		alignentries(void);
+#ifdef WITH_AOUT
 int		aout_getnfile(const char *, char ***);
+#endif
 int		arccmp(arctype *, arctype *);
 arctype		*arclookup(nltype *, nltype *);
 void		asgnsamples(void);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201908211054.x7LAsqO9098153>