aboutsummaryrefslogtreecommitdiff
path: root/gprofng/src
AgeCommit message (Collapse)AuthorFilesLines
3 hoursgprofng: add hardware counters for Intel Ice Lake processorHEADmasterVladimir Mezentsev2-1/+1173
gprofng/ChangeLog 2024-07-07 Vladimir Mezentsev <vladimir.mezentsev@oracle.com>. * common/hwc_cpus.h: New constant for Intel Ice Lake processor. * common/hwcdrv.c: Add a new argument to hwcfuncs_get_x86_eventsel. Set config1 in perf_event_attr. Remove the use of memset. * common/core_pcbe.c (core_pcbe_get_eventnum): Return 0. * common/hwcentry.h: Add config1. * src/collctrl.cc (Coll_Ctrl::build_data_desc):Set config1. * common/hwcfuncs.c (process_data_descriptor): Set config1. * common/hwctable.c: Add the hwc table for Intel Ice Lake processor. * src/hwc_intel_icelake.h: New file.
2024-06-03gprofng: add hardware counters for AMD Zen4Vladimir Mezentsev2-1/+867
ChangeLog 2024-06-01 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> * common/hwctable.c: Add the hwc table for AMD Zen4. * src/hwc_amd_zen4.h: New file. * src/hwc_amd_zen3.h: Define _HWC_AMD_ZEN3_H.
2024-05-21gprofng: use StringBuilder to create long messagesVladimir Mezentsev2-283/+179
ChangeLog 2024-05-20 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> * src/collctrl.cc: Use StringBuilder to create messages. Remove unused variables and arrays. * src/collctrl.h: Remove unused variables.
2024-05-17gprofng: add hardware counters for AMD Zen3Vladimir Mezentsev3-4/+636
Historically, we have used several APIs (perfctr, libcpc, perf_event_open) for profiling. For each hardware we have several tables of hardware counters. Some information is duplicated in these tables. Some of the information is no longer used. I did not touch the existing hwc tables. I added a new hwc table for an AMD Zen3 machine. ChangeLog 2024-05-16 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/31123 * common/core_pcbe.c (core_pcbe_get_events): Add new argument. * common/hwc_cpus.h: New constants for AMD hardware. * common/hwcdrv.c: Add new argument to hwcdrv_get_descriptions. Clean up the code. * common/hwcdrv.h: Likewise. * common/hwcfuncs.c (hwcdrv_get_descriptions): Add new argument. * common/hwctable.c: Add the hwc table for AMD Zen3. * src/hwc_amd_zen3.h: New file. * common/opteron_pcbe.c: Add new argument to opt_pcbe_get_events. * src/collctrl.cc: Remove unused variable. * src/collctrl.h: Likewise.
2024-05-17gprofng: remove old interface with libcpcVladimir Mezentsev2-18/+1
interface with libcpc was used on Solaris. gprofng doesn't support profiling on Solaris. I removed this old code and other unused macros and variables. gprofng/ChangeLog 2024-04-29 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/31123 * common/hwcdrv.c: remove old interface with libcpc. * common/hwcdrv.h: Likewise. * common/hwcentry.h: Likewise. * common/hwcfuncs.c: Likewise. * common/hwcfuncs.h: Likewise. * common/hwctable.c: Likewise. * src/Dbe.cc: Likewise. * src/collctrl.cc: Likewise.
2024-05-08Fix hard-coded bash path in gprofngVladimir Mezentsev1-0/+1
When running 'make check', the default gprofng test suite creates a shell script for which it used a hardcoded shebang of '/usr/bin/bash' this script would not run if bash is in a different location, like /bin/bash This commit adds 'AC_PATH_PROG(BASH, bash)' to configure.ac so the installation path of bash is detected at configuration time. The configuration is propagated to the runtest command line where it is needed.
2024-01-22Fix 31252 gprofng causes testsuite parallel jobs failVladimir Mezentsev1-7/+29
Before running our tests, we made a fake installation into ./tmpdir. This installation changes libopcodes.la in the build area. Gas testing may fail if gas and gprofng tests are run in parallel. I create a script to run gprofng. Inside this script, LD_LIBRARY_PATH, GPROFNG_SYSCONFDIR are set. putenv_libcollector_ld_misc() first uses $GPROFNG_PRELOAD_LIBDIRS to create directories for SP_COLLECTOR_LIBRARY_PATH ($SP_COLLECTOR_LIBRARY_PATH is used to set up LD_PRELOAD). gprofng/ChangeLog 2024-01-19 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/31252 PR gprofng/30808 * src/envsets.cc (putenv_libcollector_ld_misc): Use $GPROFNG_PRELOAD_LIBDIRS first to build SP_COLLECTOR_LIBRARY_PATH. * testsuite/config/default.exp: Create a script to run gprofng. * testsuite/lib/display-lib.exp: Fix typo.
2024-01-12gprofng: 30889 can't compile without large file supportVladimir Mezentsev1-0/+4
gprofng/ChangeLog 2024-01-12 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR 30889 * src/util.h (O_LARGEFILE): Define to 0, if not defined.
2024-01-10gprofng: 31123 improvements to hardware event implementationVladimir Mezentsev1-100/+111
Our hardware counter profiling is based on perf_event_open(). Our HWC tables are absent for new machines. I have added HWC tables for the following events: PERF_TYPE_HARDWARE, PERF_TYPE_SOFTWARE, PERF_TYPE_HW_CACHE. Other events require additional fixes. Did a little cleaning: marked the symbols as static, used Stringbuilder, created a function to read /proc/cpuinfo. gprofng/ChangeLog 2024-01-08 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/31123 * common/core_pcbe.c: Mark the symbols as static. Add events_generic[]. * common/hwc_cpus.h: Declare a new function read_cpuinfo. * common/hwcdrv.c: Add a new parameter in init_perf_event(). * common/hwcentry.h: Add use_perf_event_type in Hwcentry. * common/hwcfuncs.c (process_data_descriptor): Read use_perf_event_type, type, config. * common/hwctable.c: Add a new HWC table generic_list[]. * common/opteron_pcbe.c (opt_pcbe_init): Accept AMD machines. * src/collctrl.cc: Use StringBuilder in Coll_Ctrl::build_data_desc(). Add a new function read_cpuinfo.
2024-01-04Update year range in copyright notice of binutils filesAlan Modra192-193/+193
Adds two new external authors to etc/update-copyright.py to cover bfd/ax_tls.m4, and adds gprofng to dirs handled automatically, then updates copyright messages as follows: 1) Update cgen/utils.scm emitted copyrights. 2) Run "etc/update-copyright.py --this-year" with an extra external author I haven't committed, 'Kalray SA.', to cover gas testsuite files (which should have their copyright message removed). 3) Build with --enable-maintainer-mode --enable-cgen-maint=yes. 4) Check out */po/*.pot which we don't update frequently.
2023-12-22gprofng: fix build problems on linux-muslVladimir Mezentsev9-25/+31
ino64_t, off64_t, fpos64_t, stat64, __u64 are not defined on linux-musl. Fixed by declaring these types for linux-musl. 2023-12-21 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/30779 PR gprofng/29593 * common/gp-defs.h: Define ino64_t, off64_t, fpos64_t for linux-musl. * libcollector/unwind.c: Define __u64 for linux-musl. * src/util.h: Define dbe_stat_t. * src/ClassFile.cc: Use dbe_stat_t instead of "struct stat64". * src/Dbe.cc: Likewise. * src/DbeFile.cc: Likewise. * src/DbeFile.h: Likewise. * src/DbeSession.cc: Likewise. * src/Experiment.cc: Likewise. * src/checks.cc: Likewise. * src/util.cc: Likewise.
2023-12-20gprofng: 31169 Source code locations can not be found in a C++ applicationVladimir Mezentsev1-1/+4
gprofng incorrectly reads the form of the DW_FORM_ref_addr attribute for DWARF Version 3 or later. From DWARF specification: References that use the attribute form DW_FORM_ref_addr are specified to be four bytes in the DWARF 32-bit format and eight bytes in the DWARF 64-bit format, while DWARF Version 2 specifies that such references have the same size as an address on the target system. 2023-12-18 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/31169 * src/DwarfLib.cc: Fix the reader for DW_FORM_ref_addr.
2023-12-14gprofng: fix -Wuse-after-free warningVladimir Mezentsev1-4/+0
Removed incorrect unnecessary code. gprofng/ChangeLog 2023-12-13 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> * src/collctrl.cc (set_synctrace): Fix -Wuse-after-free warning.
2023-11-01gprofng: remove dependency on help2manVladimir Mezentsev1-1/+0
help2man is no longer used to create the gprofng man pages. gprofng/ChangeLog 2023-10-31 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> * configure.ac: Remove HELP2MAN. * Makefile.in: Rebuild. * configure: Rebuild. * doc/Makefile.in: Rebuild. * gp-display-html/Makefile.in: Rebuild. * src/Makefile.in: Rebuild.
2023-10-24gprofng: Fix -Wformat= warningsVladimir Mezentsev5-8/+15
Added format attribute to several gprofng functions. Fixed -Wformat= warnings. gprofng/ChangeLog 2023-10-23 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> * libcollector/heaptrace.c: Fixed -Wformat= warnings. * libcollector/hwprofile.c: Likewise. * libcollector/iolib.c: Likewise. * libcollector/iotrace.c: Likewise. * libcollector/jprofile.c: Likewise. * libcollector/profile.c: Likewise. * libcollector/synctrace.c: Likewise. * src/ClassFile.cc: Likewise. * src/SourceFile.cc: Likewise. * libcollector/libcol_util.h: Added format attribute. * src/Emsg.h: Likewise. * src/collector_module.h: Likewise. * src/data_pckts.h: Define fld_sizeof.
2023-10-10gprofng: Use the correct application name in error messagesVladimir Mezentsev2-39/+40
The old application name (er_archive) is used in many places. gprofng/ChangeLog 2023-10-09 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> * src/Experiment.cc: Replace er_archive with gp-archive. * src/Experiment.cc: Likewise.
2023-10-05gprofng: 30894 bison should be no hard dependencyVladimir Mezentsev2-8/+33
When running from a distribution tarball, bison should not be necessary. The generated files (QLParser.tab.cc, QLParser.tab.hh) should be distributed. configure.ac should not abort if bison is missing. configure.ac should remove temporary files (dummy.c, Simple.class). bison must be run once to create QLParser.tab.cc and QLParser.tab.hh. gprofng/ChangeLog 2023-10-03 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/30894 * configure.ac: Don't abort if bison is missing. Remove temporary files. * src/Makefile.am: Distribute QLParser.tab.cc and QLParser.tab.hh. * Run bison once to create QLParser.tab.cc and QLParser.tab.hh. * configure: Rebuild. * src/Makefile.in: Rebuild.
2023-09-21gprofng: 30834 improve disassembly output for call and branch instructionsVladimir Mezentsev5-121/+185
This patch makes the gprofng disassembler to emit, e.g. call fprintf@plt [ 0x401060, .-0x49c] instead of call 0xfffffffffffffb64 I use bfd_get_synthetic_symtab() to get function names in the .plt section. I have not yet modified Elf-reader in gprofng to remove parsing of .symtab or .dynsym sections. But we plan to do it. gprofng/ChangeLog 2023-09-20 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/30834 * src/Disasm.cc: Show the function name in the call instruction and the relative address in the branch instruction. Remove unused code. * src/Disasm.h (map_PC_to_func, get_funcname_in_plt): New functions. * src/Elf.cc: Get function names for the .plt section. * src/Elf.h (get_funcname_in_plt, get_bfd_symbols): New functions. * src/Stabs.cc: Add pltSym to SymLst. Remove the conversion to uint32_t.
2023-08-17gprofng: Use execvp instead of execvVladimir Mezentsev1-1/+6
gp-display-gui (https://savannah.gnu.org/projects/gprofng-gui) can be installed in a different directory. In this case, $PATH is used to look up gp-display-text. execv() does not use $PATH to find the executable. gprofng/ChangeLog 2023-08-15 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> * src/gp-display-text.cc (reexec): Use execvp instead of execv.
2023-08-12gprofng: pass gprofng location to gp-display-guiVladimir Mezentsev1-5/+18
gprofng GUI can be installed to the other directory. In this case, $PATH is used to find gp-display-gui from gprofng and option --gprofngdir is passed to gp-display-gui. gprofng/ChangeLog 2023-08-09 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> * src/gprofng.cc (Gprofng::exec_cmd): Add option --gprofngdir.
2023-08-12gprofng: fix typos in get_realpath() and check_executable()Vladimir Mezentsev2-8/+4
gprofng/ChangeLog 2023-08-09 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> * src/Application.cc (Application::get_realpath): Fix typo. * src/checks.cc (collect::check_executable): Likewise.
2023-08-02Revert "2.41 Release sources"Sam James2-2/+14
This reverts commit 675b9d612cc59446e84e2c6d89b45500cb603a8d. See https://sourceware.org/pipermail/binutils/2023-August/128761.html.
2023-08-022.41 Release sourcesbinutils-2_41-releaseNick Clifton2-14/+2
2023-07-31gprofng: create a list of available viewsVladimir Mezentsev2-2/+14
In our GUI project (https://savannah.gnu.org/projects/gprofng-gui), we use the output of gp-display-text to display the data. gp-display-text did not report available views. gprofng/ChangeLog 2023-07-26 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> * src/Command.cc: Add commands for gprofng GUI. * src/gprofng.rc: Set defaults for gprofng GUI.
2023-07-01gprofng: fix data raceVladimir Mezentsev5-93/+34
In our GUI project (https://savannah.gnu.org/projects/gprofng-gui), we use the output of gprofng to display the data. Sometimes this data is corrupted. gprofng/ChangeLog 2023-06-29 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> * src/ipc.cc (ipc_doWork): Fix data race. * src/ipcio.cc (IPCresponse::print): Fix data race. Remove unused variables and functions. * src/ipcio.h: Declare two variables. * src/StringBuilder.cc (StringBuilder::write): New function. * src/StringBuilder.h: Likewise.
2023-05-31gprofng: Fix -Wsign-compare warningVladimir Mezentsev1-1/+2
gprofng/ChangeLog 2023-05-25 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/30490 * src/LoadObject.cc: Fix -Wsign-compare warning.
2023-05-16gprofng: include a new function in the right placeVladimir Mezentsev1-45/+18
Static function name is not available in stripped libraries. In this case, gprofng maps PC to a fake function like <static>@0xPC (<libname>). Sometimes gprofng creates two functions instead of one. Also FUNC_FLAG_SIMULATED is needed for these fake functions. gprofng/ChangeLog 2023-05-11 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> * src/LoadObject.cc (LoadObject::find_function): Set FUNC_FLAG_SIMULATED. Include a new function in the right place.
2023-04-17gprofng: Update documentationVladimir Mezentsev2-160/+10
This patch addresses bugzilla 29521: Bug 29521 - [docs] man pages are not in the release tarball The dependence on help2man to create the man pages has been eliminated. All man pages are now written in Texinfo. Texi2pod and pod2man are used to generate the man pages from the source. The user guide has been significantly expanded. It also includes all the man pages. These are formatted appropriately in the INFO, PDF, and HTML formats. The index in the user guide has been enhanced to include an overview of all options and commands that have been documented so far. The work on the documentation has not been completed, but this is a significant step forward. gprofng/ChangeLog 2023-04-15 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/29521 * doc/Makefile.am: Build documentation. * doc/gprofng.texi: Update documentation. * doc/version.texi: Likewise. * src/Makefile.am: Move the man pages generation to doc/Makefile.am. * gp-display-html/Makefile.am: Likewise. * doc/gp-archive.texi: New file. * doc/gp-collect-app.texi: New file. * doc/gp-display-html.texi: New file. * doc/gp-display-src.texi: New file. * doc/gp-display-text.texi: New file. * doc/gp-macros.texi: New file. * doc/gprofng_ug.texi: New file. * doc/Makefile.in: Rebuild. * gp-display-html/Makefile.in: Rebuild. * src/Makefile.in" Rebuild.
2023-03-27gprofng: 30089 [display text] Invalid number of threadsVladimir Mezentsev1-11/+0
The real problem is that libcollector doesn't interpose thread_create@GLIBC_2.34 We interpose a lot of libC functions (dlopen, fork, pthread_create, etc.). Some of these functions have versions. For example, dlopen@GLIBC_2.34, dlopen@GLIBC_2.17, dlopen@GLIBC_2.2.5, etc. We have to interpose each of the functions because we don't know which version of libC will be used during profiling. Historically, we have used three versions of scripts (mapfile.aarch64-Linux, mapfile.amd64-Linux, mapfile.intel-Linux). Three are not needed. One is enough The fixes below include: - merged all version symbols into one version script. - added new version symbols which are defined in latest versions of libC. - removed unused defines and duplicated code. - added the DCL_FUNC_VER macro to define the version symbols. Tested on x86_64 and aarch64 (OL8/OL9). No regression. gprofng/ChangeLog 2023-03-23 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/30089 * libcollector/Makefile.am: Use libgprofng.ver instead of mapfile.* * libcollector/configure.ac: Delete GPROFNG_VARIANT. * src/collector_module.h: Move the SYMVER_ATTRIBUTE macro to collector.h * libcollector/collector.h: Add macros (SYMVER_ATTRIBUTE, DCL_FUNC_VER). Remove unused defines. * libcollector/dispatcher.c: Interpose functions from libC. Clean up the old code. * libcollector/iotrace.c: Likewise. * libcollector/libcol_util.c: Likewise. * libcollector/linetrace.c: Likewise. * libcollector/mmaptrace.c: Likewise. * libcollector/synctrace.c: Likewise. * libcollector/libgprofng.ver: New file. * libcollector/Makefile.in: Rebuild. * libcollector/configure: Rebuild. * libcollector/mapfile.aarch64-Linux: Removed. * libcollector/mapfile.amd64-Linux: Removed. * libcollector/mapfile.intel-Linux: Removed. * libcollector/mapfile.sparc-Linux: Removed. * libcollector/mapfile.sparcv9-Linux: Removed.
2023-03-11gprofng: fix the Dwarf readerVladimir Mezentsev1-1/+9
gprofng/ChangeLog 2023-03-10 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> gprofng/src/DwarfLib.cc (DwrLineRegs::getPath): Add a DW_AT_comp_dir string if the directoty table has relative names.
2023-03-10gprofng: PR30195 [display text] Source code location can not be foundVladimir Mezentsev1-1/+1
gprofng/ChangeLog 2023-03-10 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/30195 gprofng/src/DwarfLib.cc (DwrLineRegs::reset): Set 'file = 1;'.
2023-03-07gprofng: read Dwarf 5Vladimir Mezentsev5-105/+382
gprofng reads Dwarf to find function names, sources, and line numbers. gprofng skips other debug information. I fixed three places in gprofng Dwarf reader: - parsing the compilation unit header. - parsing the line number table header. - parsing new DW_FORMs. Tested on aarch64-linux/x86_64-linux. gprofng/ChangeLog 2023-03-05 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/30195 gprofng/src/Dwarf.cc: Support Dwarf-5. gprofng/src/DwarfLib.cc: Likewise. gprofng/src/Dwarf.h: Likewise. gprofng/src/DwarfLib.h: Likewise. gprofng/src/collctrl.cc: Don't read freed memory.
2023-02-17gprofng: fix Dwarf reader for DW_TAG_subprogramVladimir Mezentsev1-2/+1
gprofng/ChangeLog 2023-02-16 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> * src/Dwarf.cc: Skip DW_TAG_subprogram when DW_AT_declaration is 1.
2023-02-07gprofng: fix SIGSEGV when processing unusual dwarfVladimir Mezentsev2-14/+22
gprofng/ChangeLog 2023-02-07 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/30093 * src/Dwarf.cc: add nullptr check. * src/DwarfLib.cc: Likewise.
2023-01-26gprofng: PR30043 libgprofng.so.* are installed to a wrong locationVladimir Mezentsev2-46/+37
gprofng/ChangeLog 2023-01-25 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/30043 PR gprofng/28972 * src/Makefile.am: Use lib_LTLIBRARIES instead of pkglib_LTLIBRARIES. * src/Makefile.in: Rebuild.
2023-01-24gprofng: PR29521 [docs] man pages are not in the release tarballVladimir Mezentsev2-10/+6
gprofng/ChangeLog 2023-01-20 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/29521 * configure.ac: Check if $MAKEINFO and $HELP2MAN are missing. * Makefile.am: Build doc if $MAKEINFO exists. * doc/gprofng.texi: Update documentation for gprofng. * doc/Makefile.am: Build gprofng.1. * src/Makefile.am: Move the build of gprofng.1 to doc/Makefile.am. * configure: Rebuild. * Makefile.in: Rebuild. * doc/Makefile.in: Rebuild. * src/Makefile.in: Rebuild.
2023-01-17Revert "gprofng: PR29987 bfd/archive.c:1447: undefined reference to ↵Vladimir Mezentsev2-2/+8
`filename_ncmp'" This reverts commit c2a5d74050ea9d7897b4122ef57c627d395683b3.
2023-01-13gprofng: PR29987 bfd/archive.c:1447: undefined reference to `filename_ncmp'Vladimir Mezentsev2-8/+2
gprofng/ChangeLog 2023-01-12 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/29987 * configure.ac: Remove dependencies on libbfd and libiberty. * gprofng/src/Makefile.am: Likewise. * configure: Rebuild. * Makefile.in: Rebuild. * src/Makefile.in: Rebuild. * doc/Makefile.in: Rebuild. * gp-display-html/Makefile.in: Rebuild.
2023-01-01Update year range in gprofng copyright noticesAlan Modra192-193/+193
This adds 'Innovative Computing Labs' as an external author to update-copyright.py, to cover the copyright notice in gprofng/common/opteron_pcbe.c, and uses that plus another external author 'Oracle and' to update gprofng copyright dates. I'm not going to commit 'Oracle and' as an accepted author, but that covers the string "Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved." found in gprofng/testsuite/gprofng.display/jsynprog files.
2022-12-19gprofng: PR29646 Various warningsVladimir Mezentsev5-9/+11
gprofng/ChangeLog 2022-12-19 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/29646 * common/core_pcbe.c: Fix missingReturn warning. * libcollector/iolib.c: Fix -Waddress warnings. * src/Settings.cc: Likewise. * src/checks.cc: Likewise. * libcollector/linetrace.c: Likewise. * libcollector/iotrace.c: Fix va_end_missing error. * libcollector/libcol_util.c: Fix uninitvar warning. * src/Command.cc: Fix arrayIndexOutOfBounds error. * src/Function.cc: Fix uninitStructMember warning. * src/ipc.cc: Fix -Wwrite-strings warnings.
2022-11-28gprofng: remove unused gprofng/src/DbeSession.cc.1Vladimir Mezentsev1-3531/+0
2022-11-16PR29788, gprofng cannot display Java's generated assembly codeVladimir Mezentsev2-6/+7
gprofng/ChangeLog 2022-11-15 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/29788 * src/Experiment.h: Declare dyntext_name. * src/Experiment.cc: Use dyntext_name to initialize img_fname.
2022-10-11gprofng: use the --libdir path to find librariesVladimir Mezentsev3-3/+9
gprofng/ChangeLog 2022-10-10 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/29663 * src/Makefile.am: Add -DLIBDIR to CPPFLAGS. * src/Makefile.in: Rebuild. * src/envsets.cc (putenv_libcollector_ld_misc): Use LIBDIR to find the gprofng libraries.
2022-09-29gprofng: fix cppcheck warningsVladimir Mezentsev2-2/+2
gprofng/ChangeLog 2022-09-29 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> * common/hwcdrv.c: Fix cppcheck warning. * src/ABS.h: Likewise. * src/CompCom.cc: Likewise.
2022-09-21gprofng: fix -Wduplicated-cond warningVladimir Mezentsev1-1/+1
gprofng/ChangeLog 2022-09-21 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> * src/collctrl.cc: Fix -Wduplicated-cond warning.
2022-09-14gprofng: fix build issues on muslVladimir Mezentsev3-7/+9
gprofng/ChangeLog 2022-09-14 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/29477 * configure.ac: Set __MUSL_LIBC. * configure: Rebuild. * common/config.h.in: Rebuild. * src/collector_module.h: Fix compiler errors because mmap64, open64, pwrite64 are macros and getcontext() is absent on musl. * libcollector/collector.c: Likewise. * libcollector/hwprofile.c: Likewise. * libcollector/iolib.c: Likewise. * libcollector/libcol_util.c: Likewise. * libcollector/linetrace.c: Likewise. * libcollector/memmgr.c: Likewise. * libcollector/profile.c: Likewise. * libcollector/unwind.c: Likewise. * libcollector/dispatcher.c: Likewise. * src/Experiment.cc: Likewise. * libcollector/collector.h: Use dlsym() because dlvsym() is not defined on musl. * libcollector/iotrace.c: Remove interposition of versioned functions. * libcollector/mmaptrace.c: Likewise. * libcollector/libcol_util.h: Fix -Wint-to-pointer-cast warnings. * libcollector/jprofile.c: Likewise. * libcollector/synctrace.c: Include "collector.h". * src/Print.cc: Use get_basename() because basename() is not defined on musl. * common/hwcdrv.c: Fix -Wformat= warnings.
2022-07-18gprofng: link libgprofng.so against -lpthreadVladimir Mezentsev2-4/+11
gprofng/ChangeLog 2022-07-15 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/29364 * src/Makefile.am (libgprofng_la_LIBADD): Add -lpthread. * src/Makefile.in: Rebuild.
2022-07-09Regenerate with automake-1.15.1Alan Modra1-351/+138
Until we update the recommended versions of autoconf/automake, files should be regenerated with automake-1.15.1 and autoconf-2.69. That's not because we think those versions are golden, and newer versions are bad. It's simply because maintainers want to be able to update configury files without trouble, and if someone regenerates files with automake-1.16.5 then --enable-maintainer-mode builds will hit errors: checking that generated files are newer than configure... configure.ac:26: error: version mismatch. This is Automake 1.15.1, configure.ac:26: but the definition used by this AM_INIT_AUTOMAKE configure.ac:26: comes from Automake 1.16.5. You should recreate configure.ac:26: aclocal.m4 with aclocal and run automake again. WARNING: 'automake-1.15' is probably too old. Correcting this requires regenerating the files by hand.
2022-07-08Update version to 2.39.50 and regenerate filesNick Clifton1-138/+351
2022-07-07gprofng: fix regression in testing for not yet installed versionVladimir Mezentsev1-1/+4
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.