svn commit: r351329 - head/usr.bin/gprof
Bjoern A. Zeeb
bz at FreeBSD.org
Wed Aug 21 10:54:53 UTC 2019
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);
More information about the svn-src-all
mailing list