aboutsummaryrefslogtreecommitdiff
path: root/gprofng
AgeCommit message (Collapse)AuthorFilesLines
2022-07-07gprofng: fix regression in testing for not yet installed versionVladimir Mezentsev3-19/+11
gprofng/ChangeLog 2022-07-07 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> * src/Settings.cc (Settings::read_rc): Read environment variable GPROFNG_SYSCONFDIR. * testsuite/lib/Makefile.skel: Export GPROFNG_SYSCONFDIR. * testsuite/gprofng.display/display.exp: Shorten the list of tests.
2022-07-06gprofng: adjust GPROFNG_VARIANTVladimir Mezentsev2-20/+26
GPROFNG_VARIANT depends on compiler options, not on $(host). gprofng/ChangeLog 2022-07-06 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/29116 * libcollector/configure.ac: Adjust GPROFNG_VARIANT. * libcollector/configure: Rebuild.
2022-07-06gprofng: implement a functional gp-display-htmlRuud van der Pas1-125/+14430
This patch enables the first support for the "gprofng display html" command. This command works for C/C++ applications on x86_64. Using one or more gprofng experiment directories as input, a new directory with html files is created. Through the index.html file in this directory, the performance results may be viewed in a browser. gprofng/Changelog: 2022-06-28 Ruud van der Pas <ruud.vanderpas@oracle.com> * gp-display-html/gp-display-html.in: implement first support for x86_64 and C/C++
2022-06-28gprofng: fix build when BUILD_MAN is falseVladimir Mezentsev4-25/+25
gprofng/ChangeLog 2022-06-28 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/29131 * gp-display-html/Makefile.am: Set man_MANS only when BUILD_MAN is true. * src/Makefile.am: Likewise. * gp-display-html/Makefile.in: Rebuild. * src/Makefile.in: Rebuild.
2022-06-28gprofng: use $(sysconfdir) instead $(prefix)/etcVladimir Mezentsev3-5/+14
gprofng/ChangeLog 2022-06-28 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/29191 * src/Makefile.am: Use $(sysconfdir) instead $(prefix)/etc. * src/Settings.cc: Likewise. * src/Makefile.in: Rebuild.
2022-06-16gprofng: fix build with -Werror=format-truncationVladimir Mezentsev7-115/+27
gprofng/ChangeLog 2022-06-16 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> * configure.ac: Remove -Wno-format-truncation. * src/Makefile.am: Likewise. * configure: Rebuild. * src/Makefile.in: Rebuild. * common/hwctable.c: Fix -Werror=format-truncation errors. * src/ipc.cc: Likewise. * src/parse.cc: Likewise.
2022-06-14gprofng docs: provide help for <rate> == <interval>Vladimir Mezentsev1-2/+18
The help message from 'gprofng collect app -h', in the section on <rate> == <interval>, had a dangling reference to a non-existent manpage. Provide basic info, including reasons for caution.
2022-06-14gprofng docs: mention HTML / PDF in the gprofng READMEVladimir Mezentsev1-0/+20
The HTML and PDF formats are described in the gprofng tutorial (info topic "Other Document Formats"). In addition, describe them in the README because: they are important; they are easily searchable; and the README is primarily oriented to the person who is installing gprofng, who may differ from the person who follows a user tutorial.
2022-06-14gprofng: fix build with -Werror=format-securityVladimir Mezentsev5-726/+141
gprofng/ChangeLog 2022-06-13 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/28968 * src/src/Hist_data.cc (print_row): Make param const. * src/src/Hist_data.h (print_row): Likewise. * src/src/Print.h: Remove unused functions and variables. * src/Print.cc: Fix -Werror=format-security errors. * src/parse.cc: Likewise.
2022-05-27gprofng: fix build with -mx32Vladimir Mezentsev5-19/+21
gprofng/ChangeLog 2022-05-27 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/28983 PR gprofng/29143 * src/Experiment.cc (write_header): Fix argument for ctime. Fix -Wformat= warnings. * src/Dbe.cc: Likewise. * src/DwarfLib.h: Fix [-Wsign-compare] warnings. * src/Experiment.h: Likewise. * src/ipc.cc: Fix -Wformat= warnings.
2022-05-26gprofng: fix build with --disable-sharedVladimir Mezentsev2-2/+3
gprofng/ChangeLog 2022-05-26 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> * libcollector/configure.ac: Use AC_MSG_WARN instead of AC_MSG_ERROR * libcollector/configure: Rebuild.
2022-05-26gprofng: fix build with -mx32Vladimir Mezentsev6-46/+39
gprofng/ChangeLog 2022-05-26 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/28983 * libcollector/libcol_util.h (__collector_getsp, __collector_getfp, __collector_getpc): Adapt for build with -mx32 * libcollector/heaptrace.c: Fix -Wpointer-to-int-cast warnings. * libcollector/hwprofile.h: Likewise. * libcollector/mmaptrace.c: Likewise. * libcollector/synctrace.c: Likewise. * libcollector/unwind.c: Likewise.
2022-05-09gprofng: include percentages in default metrics listVladimir Mezentsev1-2/+2
gprofng/ChangeLog 2022-05-09 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> * src/gprofng.rc: Include percentages in default metrics list.
2022-05-05gprofng: use $host instead $targetVladimir Mezentsev4-16/+6
By mistake, $target was used instead of $host to configure the gprogng build. gprofng/ChangeLog 2022-04-28 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/29113 PR gprofng/29116 * configure.ac: Use $host instead $target. * libcollector/configure.ac: Likewise. * configure: Rebuild. * libcollector/configure: Rebuild.
2022-04-29gprofng: assertion in gprofng/src/Expression.cc:139Vladimir Mezentsev2-18/+18
gprofng/ChangeLog 2022-04-28 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/29102 * src/Expression.h: Remove fixupValues. * src/Expression.cc (Expression::copy): Fix a bug.
2022-04-27gprofng: test suite problemsVladimir Mezentsev1-2/+2
gprofng/ChangeLog 2022-04-27 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/29065 * testsuite/lib/Makefile.skel: Search parent dir for libs too.
2022-04-11gprofng doesn't build with gcc 5.5Vladimir Mezentsev13-3586/+222
gprofng/ChangeLog 2022-04-07 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/29026 * configure.ac: Check version of bison. * src/Makefile.am (QLParser.yy): Run bison * src/QLParser.yy: Adapted for bison 3.04 or later. * src/DbeSession.cc: make some params const. * src/DbeSession.h: Likewise. * configure: Regenerate. * Makefile.in: Regenerate. * src/Makefile.in: Regenerate. * src/QLParser.tab.cc: Deleted. * src/QLParser.tab.hh: Deleted. * doc/Makefile.in: Regenerate. * gp-display-html/Makefile.in: Regenerate. * libcollector/configure: Regenerate.
2022-04-08gprofng: fprintf_styled_func not inizialized for disassemblerVladimir Mezentsev2-0/+25
gprofng/ChangeLog 2022-04-07 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> * libcollector/unwind.c: inizialize fprintf_styled_func. * src/Disasm.cc: Likewise.
2022-04-08gprofng: zlib handlingVladimir Mezentsev7-23/+71
gprofng/ChangeLog 2022-04-06 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> * configure.ac: Add AM_ZLIB. * src/Makefile.am: Add $(ZLIBINC) and $(ZLIB). * gprofng/src/DbeSession.h: Likewise. * configure: Regenerate. * Makefile.in: Regenerate. * doc/Makefile.in: Regenerate. * gp-display-html/Makefile.in: Regenerate. * src/Makefile.in: Regenerate.
2022-03-25libtool.m4: fix the NM="/nm/over/here -B/option/with/path" caseNick Alcock1-7/+13
My previous nm patch handled all cases but one -- if the user set NM in the environment to a path which contained an option, libtool's nm detection tries to run nm against a copy of nm with the options in it: e.g. if NM was set to "nm --blargle", and nm was found in /usr/bin, the test would try to run "/usr/bin/nm --blargle /usr/bin/nm --blargle". This is unlikely to be desirable: in this case we should run "/usr/bin/nm --blargle /usr/bin/nm". Furthermore, as part of this nm has to detect when the passed-in $NM contains a path, and in that case avoid doing a path search itself. This too was thrown off if an option contained something that looked like a path, e.g. NM="nm -B../prev-gcc"; libtool then tries to run "nm -B../prev-gcc nm" which rarely works well (and indeed it looks to see whether that nm exists, finds it doesn't, and wrongly concludes that nm -p or whatever does not work). Fix all of these by clipping all options (defined as everything including and after the first " -") before deciding whether nm contains a path (but not using the clipped value for anything else), and then removing all options from the path-modified nm before looking to see whether that nm existed. NM=my-nm now does a path search and runs e.g. /usr/bin/my-nm -B /usr/bin/my-nm NM=/usr/bin/my-nm now avoids a path search and runs e.g. /usr/bin/my-nm -B /usr/bin/my-nm NM="my-nm -p../wombat" now does a path search and runs e.g. /usr/bin/my-nm -p../wombat -B /usr/bin/my-nm NM="../prev-binutils/new-nm -B../prev-gcc" now avoids a path search: ../prev-binutils/my-nm -B../prev-gcc -B ../prev-binutils/my-nm This seems to be all combinations, including those used by GCC bootstrap (which, before this commit, fails to bootstrap when configured --with-build-config=bootstrap-lto, because the lto plugin is now using --export-symbols-regex, which requires libtool to find a working nm, while also using -B../prev-gcc to point at the lto plugin associated with the GCC just built.) Regenerate all affected configure scripts. * libtool.m4 (LT_PATH_NM): Handle user-specified NM with options, including options containing paths.
2022-03-23Only .so files are used in libcollector. Remove the other files.Vladimir Mezentsev2-2/+6
* libcollector/Makefile.am (install-data-local): Remove the *.la and *.a libraries. * libcollector/Makefile.in: Regenerate.
2022-03-21Install gprofng libraries under $(pkglibdir)Vladimir Mezentsev11-98/+109
gprofng/ChangeLog 2022-03-21 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/28972 * gprofng/libcollector/Makefile.am: Rename lib_LTLIBRARIES to pkglib_LTLIBRARIES. Add install-data-local. * gprofng/src/Makefile.am: Likewise. * gprofng/src/envsets.cc (putenv_libcollector_ld_misc): New location of the gprofng libraries. * gprofng/configure.ac: Removed an unused GPROFNG_LIBDIR. * gprofng/Makefile.am: Removed an unused GPROFNG_LIBDIR. Add install-data-local. * gprofng/configure: Regenerate. * gprofng/Makefile.in: Likewise. * gprofng/doc/Makefile.in: Likewise. * gprofng/gp-display-htmllibcollector/Makefile.in: Likewise. * gprofng/libcollector/Makefile.in: Likewise. * gprofng/src/Makefile.in: Likewise.
2022-03-18Fix Build issues due to patch "gprofng: a new GNU profiler"Nick Clifton12-88/+99
Find and fix more places where clock_gettime() and CLOCK_MONOTONIC_RAW are used.
2022-03-17gprofng: Skip jsynprog with a broken javacH.J. Lu5-3/+53
On CET enabled Linux/x86-64 machines, one can get $ javac simple.java Error: dl failure on line 894 Error: failed /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-6.fc35.x86_64/jre/lib/amd64/server/libjvm.so, because /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-6.fc35.x86_64/jre/lib/amd64/server/libjvm.so: rebuild shared object with SHSTK support enabled Set GPROFNG_BROKEN_JAVAC to "yes" only with a broken javac and skip the jsynprog test with a broken javac. PR gprofng/28965 * Makefile.am (GPROFNG_BROKEN_JAVAC): New. (check-DEJAGNU): Pass GPROFNG_BROKEN_JAVAC to runtest. * configure.ac (GPROFNG_BROKEN_JAVAC): New AC_SUBST. Set to yes with a broken javac. * Makefile.in: Regenerate. * configure: Likewise. * testsuite/gprofng.display/display.exp: Skip jsynprog with a broken javac.
2022-03-17gprofng configure target testsAlan Modra9-164/+286
${target} in configure.ac should be the canonical target, so that for example, someone configuring with --target=x86_64-linux will match x86_64-*-linux*. * configure.ac: Invoke AC_CANONICAL_TARGET. * libcollector/configure.ac: Likewise. * Makefile.in: Regenerate. * configure: Regenerate. * doc/Makefile.in: Regenerate. * gp-display-html/Makefile.in: Regenerate. * libcollector/Makefile.in: Regenerate. * libcollector/configure: Regenerate. * src/Makefile.in: Regenerate.
2022-03-16gprofng: Use symver attribute if availableH.J. Lu6-86/+72
Use symver attribute if available, instead of asm statement, to support LTO build. PR gprof/28962 * libcollector/dispatcher.c (timer_create@@GLIBC_2.3.3): Use SYMVER_ATTRIBUTE. (timer_create@GLIBC_2.2): Likewise. (timer_create@GLIBC_2.2.5): Likewise. (pthread_create@@GLIBC_2.1): Likewise. (pthread_create@GLIBC_2.0): Likewise. * libcollector/iotrace.c (open64@@GLIBC_2.2): Likewise. (open64@GLIBC_2.1): Likewise. (fopen@@GLIBC_2.1): Likewise. (fopen@GLIBC_2.0): Likewise. (fclose@@GLIBC_2.1): Likewise. (fclose@GLIBC_2.0): Likewise. (fdopen@@GLIBC_2.1): Likewise. (fdopen@GLIBC_2.0): Likewise. (pread@@GLIBC_2.2): Likewise. (pread@GLIBC_2.1): Likewise. (pwrite@@GLIBC_2.2): Likewise. (pwrite@GLIBC_2.1): Likewise. (pwrite64@@GLIBC_2.2): Likewise. (pwrite64@GLIBC_2.1): Likewise. (fgetpos@@GLIBC_2.2): Likewise. (fgetpos@GLIBC_2.0): Likewise. (fgetpos64@@GLIBC_2.2): Likewise. (fgetpos64@GLIBC_2.1): Likewise. (fsetpos@@GLIBC_2.2): Likewise. (fsetpos@GLIBC_2.0): Likewise. (fsetpos64@@GLIBC_2.2): Likewise. (fsetpos64@GLIBC_2.1): Likewise. * libcollector/linetrace.c (posix_spawn@@GLIBC_2.15): Likewise. (posix_spawn@GLIBC_2.2): Likewise. (posix_spawn@GLIBC_2.2.5): Likewise. (posix_spawnp@@GLIBC_2.15): Likewise. (posix_spawnp@GLIBC_2.2): Likewise. (posix_spawnp@GLIBC_2.2.5): Likewise. (popen@@GLIBC_2.1): Likewise. (popen@GLIBC_2.0): Likewise. (_popen@@GLIBC_2.1): Likewise. (_popen@GLIBC_2.0): Likewise. * libcollector/mmaptrace.c (dlopen@@GLIBC_2.1): Likewise. (dlopen@GLIBC_2.0): Likewise. * libcollector/synctrace.c (pthread_cond_wait@@GLIBC_2.3.2): Likewise. (pthread_cond_wait@GLIBC_2.0): Likewise. (pthread_cond_wait@GLIBC_2.2.5): Likewise. (pthread_cond_wait@GLIBC_2.2): Likewise. (pthread_cond_timedwait@@GLIBC_2.3.2): Likewise. (pthread_cond_timedwait@GLIBC_2.0): Likewise. (pthread_cond_timedwait@GLIBC_2.2.5): Likewise. (pthread_cond_timedwait@GLIBC_2.2): Likewise. (sem_wait@@GLIBC_2.1): Likewise. (sem_wait@GLIBC_2.0): Likewise. * src/collector_module.h (SYMVER_ATTRIBUTE): New.
2022-03-16gprofng: Don't hardcode -Wno-format-truncation/-Wno-switchH.J. Lu5-6/+134
Use -Wno-format-truncation and -Wno-switch only if they are supported. PR gprof/28969 * configure.ac (GPROFNG_NO_FORMAT_TRUNCATION_CFLAGS): New AC_SUBST for -Wno-format-truncation. (GPROFNG_NO_SWITCH_CFLAGS): New AC_SUBST for -Wno-switch. * Makefile.in: Regenerate. * configure: Likewise. * src/Makefile.am (AM_CFLAGS): Replace -Wno-format-truncation and -Wno-switch with GPROFNG_NO_FORMAT_TRUNCATION_CFLAGS and GPROFNG_NO_SWITCH_CFLAGS. * src/Makefile.in: Regenerate.
2022-03-16gprofng: Don't hardcode -Wno-nonnull-compareH.J. Lu5-4/+69
Use -Wno-nonnull-compare only if it is supported. PR gprof/28969 * libcollector/Makefile.am (AM_CFLAGS): Replace -Wno-nonnull-compare with GPROFNG_NO_NONNULL_COMPARE_CFLAGS. * libcollector/configure.ac (GPROFNG_NO_NONNULL_COMPARE_CFLAGS): New AC_SUBST for -Wno-nonnull-compare. * libcollector/Makefile.in: Regenerate. * libcollector/aclocal.m4: Likewise. * libcollector/configure: Likewise.
2022-03-16gprofng: Define ATTRIBUTE_FALLTHROUGHH.J. Lu2-1/+9
Define ATTRIBUTE_FALLTHROUGH to __attribute__ ((fallthrough)) only for GCC 7 or above. PR gprof/28969 * common/gp-defs.h (ATTRIBUTE_FALLTHROUGH): New. * src/gp-collect-app.cc (collect::check_args): Replace /* FALLTHROUGH */ with ATTRIBUTE_FALLTHROUGH.
2022-03-15gprofng: avoid using `fallthrough' attributesJose E. Marchesi1-1/+1
gprofng didn't build with gcc 6.3 due to the usage of __attribute__ ((fallthrough)). This patch uses /* FALLTHROUGH */ instead. 2022-03-15 Jose E. Marchesi <jose.marchesi@oracle.com> * gprofng/src/gp-collect-app.cc (collect::check_args): Use fallthrough comment instead of attribute.
2022-03-15gprofng: Add a configure test for clock_gettime and a use of the test in ↵Nick Clifton8-16/+93
getthrtime.c
2022-03-15gprofng: Don't generate gprofng.info in sourceH.J. Lu2-20/+12
Add info-in-builddir to AUTOMAKE_OPTIONS. PR gprof/28967 * doc/Makefile.am (AUTOMAKE_OPTIONS): Add info-in-builddir. * doc/Makefile.in: Regenerate.
2022-03-11gprofng: a new GNU profilerVladimir Mezentsev306-0/+222206
top-level * Makefile.def: Add gprofng module. * configure.ac: Add --enable-gprofng option. * src-release.sh: Add gprofng. * Makefile.in: Regenerate. * configure: Regenerate. * gprofng: New directory. binutils * MAINTAINERS: Add gprofng maintainer. * README-how-to-make-a-release: Add gprofng. include. * collectorAPI.h: New file. * libcollector.h: New file. * libfcollector.h: New file.