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);
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to