aboutsummaryrefslogtreecommitdiff
path: root/gprofng
AgeCommit message (Collapse)AuthorFilesLines
2024-01-04Update year range in copyright notice of binutils filesAlan Modra299-311/+311
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 Mezentsev11-25/+41
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-29gprofng: support GNU option syntax in gp-display-html, plus various fixesVladimir Mezentsev1-2820/+4147
This is a major update of gp-display-html. The option handling has been modified to support the GNU style long option syntax. Compatibility with the previous syntax has been preserved. If still used, a warning is issued. Through the --nowarnings option, this can be suppressed. In addition to this, various lay-out changes have been implemented. In particular to reduce the number of lines that extend beyond column 79. Several bugs have been fixed, for example in the handling of directory names. gprofng/ChangeLog 2023-11-28 Ruud van der Pas <ruud.vanderpas@oracle.com> * gp-display-html/gp-display-html.in: Change option syntax plus fixes.
2023-11-29gprofng: updated man pages and user guideVladimir Mezentsev9-268/+635
This is a major update of all the man pages. Bugs 30679 and 30895 are addressed. In addition to fixes for typos, the texts have been expanded and clarified, and line lengths no longer extend beyond column 79. In case of gp-display-html, the new option syntax is documented. The user guide has a new section on the gprofng GUI. gprofng/ChangeLog 2023-11-28 Ruud van der Pas <ruud.vanderpas@oracle.com> PR 30679 PR 30895 * doc/gp-archive.texi: Expand the description of the options. * doc/gp-collect-app.texi: Fix various typos and textual improvements. * doc/gp-display-html.texi: Cover the new GNU long option syntax. * doc/gp-display-src.texi: Fix various typos and textual improvements. * doc/gp-display-text.texi: Fix typos fixed and textual improvements. * doc/gp-macros.texi: Fix a bug in the vspace macro and add new macro. * doc/gprofng.texi: Cover the GPROFNG_SYSCONFDIR environment variable. * doc/gprofng_ug.texi: Fix various typos and textual improvements. * doc/version.texi: Adapt the date and version number.
2023-11-15Finalized intl-update patches (deux)Sam James2-9/+9
Doing this on behalf of Arsen as obvious. * gdb: Regenerate. * gdbserver: Regenerate. * gprofng: Regenerate.
2023-11-15Finalized intl-update patchesArsen Arsenovi?1-2/+2
* intl: Remove directory. Replaced with out-of-tree GNU gettext. * .gitignore: Add '/gettext*'. * configure.ac (host_libs): Replace intl with gettext. (hbaseargs, bbaseargs, baseargs): Split baseargs into {h,b}baseargs. (skip_barg): New flag. Skips appending current flag to bbaseargs. <library exemptions>: Exempt --with-libintl-{type,prefix} from target and build machine argument passing. * configure: Regenerate. * Makefile.def (host_modules): Replace intl module with gettext module. (configure-ld): Depend on configure-gettext. * Makefile.in: Regenerate. * src-release.sh: Remove references to the intl/ directory.
2023-11-01gprofng: remove dependency on help2manVladimir Mezentsev6-66/+2
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 Mezentsev13-82/+149
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-06gprofng: 30910 cross test fail: can't read "CHECK_TARGET": no such variableVladimir Mezentsev2-23/+12
When TCL_TRY is FALSE, the wrong check-DEJAGNU is generated. Place "if TCL_TRY / endif" in the right place. gprofng/ChangeLog 2023-10-05 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/30910 * Makefile.am: Correct "if TCL_TRY / endif". * Makefile.in: Rebuild.
2023-10-05gprofng: 30894 bison should be no hard dependencyVladimir Mezentsev4-24/+43
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-09-05Fix 30808 gprofng tests failedVladimir Mezentsev2-11/+14
In gprofng testing, we need a tempory gprofng installation to resolve run-time dependencies on libraries (libgprofng, libopcodes, libbfd, etc). We set LD_LIBRARY_PATH and GPROFNG_SYSCONFDIR to find our libraries and configuration file. These variables must be set for all gprofng tests. Tested on aarch64 and x86_64 with and without --enable-shared and --target=<>. gprofng/ChangeLog 2023-08-31 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/30808 * testsuite/config/default.exp: Make a temporary install dir. Set LD_LIBRARY_PATH, GPROFNG_SYSCONFDIR. * testsuite/lib/Makefile.skel: Move LD_LIBRARY_PATH and GPROFNG_SYSCONFDIR setting in testsuite/config/default.exp.
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-12regen configAlan Modra2-60/+172
This regenerates config files changed by the previous 44 commits. Note that subject lines in these commits mostly match the gcc git originating commit.
2023-08-07gprofng: 30700 tmpdir/gp-collect-app_F test failsVladimir Mezentsev1-2/+2
gprofng/ChangeLog 2023-08-03 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/30700 * testsuite/gprofng.display/gp-collect-app_F.exp: Fix -name argument for sub-experiment filtering.
2023-08-02Revert "2.41 Release sources"Sam James6-29/+44
This reverts commit 675b9d612cc59446e84e2c6d89b45500cb603a8d. See https://sourceware.org/pipermail/binutils/2023-August/128761.html.
2023-08-022.41 Release sourcesbinutils-2_41-releaseNick Clifton6-44/+29
2023-08-01gprofng: Fix build with 64bit file offset on 32bit machinesKhem Raj1-3/+6
gprofng/ChangeLog 2023-07-31 Khem Raj <raj.khem@gmail.com> * libcollector/iotrace.c: Define open64, fgetpos64, and fsetpos64 only when __USE_LARGEFILE64 and __USE_FILE_OFFSET64 are not defined.
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-13gprofng: 30602 [2.41] gprofng test hangs on i686-linux-gnuVladimir Mezentsev9-58/+44
There were several problems in the gprofng testing: - we did not catch a timeout for each test. - we used exit() to stop a failed test. But this stops all other tests. - we used a time_t (long) type in smalltest.c instead of a long long type. PR gprofng/30602 * configure.ac: Launch only native testing. * configure: Rebuild. * testsuite/config/default.exp: Set TEST_TIMEOUT. * testsuite/gprofng.display/setpath_map.exp: Use return instead of exit. * testsuite/gprofng.display/gp-archive.exp: Likewise. * testsuite/gprofng.display/gp-collect-app_F.exp: Likewise. * testsuite/gprofng.display/display.exp: Delete an unnecessary test for native testing. * testsuite/lib/display-lib.exp (run_native_host_cmd): Add timeout. * testsuite/lib/smalltest.c: Use a long long type instead of time_t.
2023-07-03Change version number to 2.41.50 and regenerate filesNick Clifton3-24/+24
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-06-28gprofng: Add new testsVladimir Mezentsev6-0/+238
gprofng/ChangeLog 2023-06-26 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> * Makefile.am: Pass CLOCK_GETTIME_LINK to the testsuite * Makefile.in: Rebuild. * testsuite/gprofng.display/gp-archive.exp: New file. * testsuite/gprofng.display/gp-collect-app_F.exp: New file. * testsuite/gprofng.display/setpath_map.exp: New file. * testsuite/lib/smalltest.c: New file.
2023-06-27gprofng: Update intel urlCui, Lili1-1/+1
Since the old software.intel.com has been removed, update a new one. gprofng/ChangeLog 2023-06-27 Lili Cui <lili.cui@intel.com> * gp-display-html/gp-display-html.in: Update intel url.
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-31gprofng: 29470 The test suite should be made more flexibleVladimir Mezentsev17-119/+311
I add two new targets (check-extra, check-install) for gprofng testing: `make check` runs sanity testing for gprofng and takes ~30 secunds. `make check-extra` runs all gprofng tests and takes ~20 minutus. `make check-install` runs all gprofng tests and uses gprofng installation. On aarch64, there are unwind problems in libgp-collector.so. I set ACCT_FILTER to temporarily ignore problematic functions. gprofng/ChangeLog 2023-05-25 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/29470 * Makefile.am: Add check-extra, check-install. * Makefile.in: Rebuild * testsuite/config/default.exp: Set the GPROFNG variable. * testsuite/gprofng.display/display.exp: Updated the test list. * testsuite/gprofng.display/jsynprog/Intface.java: Correct copyright. * testsuite/gprofng.display/jsynprog/Launcher.java: Likewise. * testsuite/gprofng.display/jsynprog/Makefile: Likewise. * testsuite/gprofng.display/jsynprog/Routine.java: Likewise. * testsuite/gprofng.display/jsynprog/Sub_Routine.java: Likewise. * testsuite/gprofng.display/jsynprog/cloop.cc: Likewise. * testsuite/gprofng.display/jsynprog/jsynprog.h: Likewise. * testsuite/gprofng.display/jsynprog/jsynprog.java: Correct copyright. Add the -j option to run the selected functions. * testsuite/gprofng.display/synprog/check_results.pl: Remove unused environment variable. * testsuite/gprofng.display/synprog/synprog.c: Updated DEFAULT_COMMAND. * testsuite/lib/Makefile.skel: Apply $(ACCT_FILTER). * testsuite/lib/acct.pm: Ignore errors when $(ACCT_FILTER) is set. * testsuite/lib/display-lib.exp: Add TARGET_FLAGS in make_args.
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: 30360 Seg. Fault when application uses std::threadVladimir Mezentsev6-94/+136
We interpose a lot of libC functions (dlopen, fork, pthread_create, etc.). Some of these functions have versions. For example, % nm -D /lib64/gprofng/libgp-collector.so | grep thread_create@ | sort 000000000004b420 T pthread_create@GLIBC_2.34 000000000004b490 T pthread_create@GLIBC_2.17 000000000004b500 T pthread_create@GLIBC_2.2.5 000000000004b570 T pthread_create@GLIBC_2.1 000000000004b5e0 T pthread_create@GLIBC_2.0 Our library does not set the default version for symbols. This is correct because we don't know which libC will be used. gcc and g++ links differently the version symbols when the default version is not set. c-linker is using our pthread_create@GLIBC_2.34 and c++-linker is using our pthread_create@GLIBC_2.0 by default. The current implementation of the interposed functions is: If we are in our pthread_create@GLIBC_<NN>, we use dlvsym (dlflag, "pthread_create", "GLIBC_<NN>") to find and call the same function from libC. In the test from PR 30360, pthread_create@GLIBC_2.0 is not in the current libC. We need to call the default version symbol from libC. gprofng/ChangeLog 2023-04-16 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/30360 * libcollector/iotrace.c: Find and call a default libC version symbol. * libcollector/dispatcher.c: Likewise. * libcollector/iotrace.c: Likewise. * libcollector/linetrace.c: Likewise. * libcollector/mmaptrace.c: Likewise. * libcollector/synctrace.c: Likewise. * libcollector/collector.h (REAL_DCL): Remove an unused argument.
2023-04-17gprofng: Update documentationVladimir Mezentsev15-3761/+6291
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-29gprofng: Add version symbols to libgprofng.verVladimir Mezentsev2-42/+62
gprofng/ChangeLog 2023-03-29 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/30089 * libcollector/libgprofng.ver: Add version symbols. * libcollector/synctrace.c: Fix typo for pthread_mutex_lock.
2023-03-27gprofng: 30089 [display text] Invalid number of threadsVladimir Mezentsev18-2339/+1229
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-19gprofng: Use prototype to call libc functionsVladimir Mezentsev8-174/+150
libcollector may not link against libC. We use dlsym() to get a function from libc. In some files, pointers to these functions do not have prototypes. I also moved the shared definitions to libcollector/collect.h. gprofng/ChangeLog 2023-03-15 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> libcollector/collector.c: Add prototypes. libcollector/dispatcher.c: Likewise. libcollector/heaptrace.c: Likewise. libcollector/iotrace.c: Likewise. libcollector/linetrace.c: Likewise. libcollector/mmaptrace.c: Likewise. libcollector/synctrace.c: Likewise. libcollector/collector.h: Add CALL_REAL(), NULL_PTR(), and DBG_LT.
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-17gprofng: PR30036 Build failure on aarch64 w/ glibc: symbol `pwrite64' is ↵Vladimir Mezentsev2-8/+9
already defined gprofng/ChangeLog 2023-02-16 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/30036 * libcollector/iotrace.c: Define creat64 and pwrite64 only when __USE_LARGEFILE64 and __USE_FILE_OFFSET64 are not defined. * libcollector/mmaptrace.c: Likewise for mmap64.
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 Mezentsev9-42/+364
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 Mezentsev7-4/+26
`filename_ncmp'" This reverts commit c2a5d74050ea9d7897b4122ef57c627d395683b3.
2023-01-13gprofng: PR29987 bfd/archive.c:1447: undefined reference to `filename_ncmp'Vladimir Mezentsev7-26/+4
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 Modra285-287/+287
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-31Update version number and regenerate filesNick Clifton3-24/+24
2022-12-21gprofng/testsuite: restrict testing to native configurationsJan Beulich1-0/+7
The binaries involved in testing gprofng are native ones, and hence a cross build of binutils won't really test intended functionality. Since this testing takes quite a bit of time (typically more than running all of binutils, gas, and ld testsuites together), restrict the testing to native configurations only.