Commit Graph

107 Commits

Author SHA1 Message Date
Vladimir Mezentsev
46c5675798 gprofng: updated man pages and user guide
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-29 10:18:34 -08:00
Sam James
9e11e7460d Finalized intl-update patches (deux)
Doing this on behalf of Arsen as obvious.

* gdb: Regenerate.
* gdbserver: Regenerate.
* gprofng: Regenerate.
2023-11-15 13:47:03 +00:00
Arsen Arsenovi?
862776f26a Finalized intl-update patches
* 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-15 12:53:04 +00:00
Vladimir Mezentsev
7b32e37eb6 gprofng: remove dependency on help2man
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-11-01 19:25:06 -07:00
Vladimir Mezentsev
53beac2e23 gprofng: Fix -Wformat= warnings
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-24 23:27:30 -07:00
Vladimir Mezentsev
f6ca448ab7 gprofng: Use the correct application name in error messages
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-10 20:53:22 -07:00
Vladimir Mezentsev
08330ace11 gprofng: 30910 cross test fail: can't read "CHECK_TARGET": no such variable
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-06 17:29:22 -07:00
Vladimir Mezentsev
e5b3bfa519 gprofng: 30894 bison should be no hard dependency
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-10-05 08:09:45 -07:00
Vladimir Mezentsev
7434de7ef9 gprofng: 30834 improve disassembly output for call and branch instructions
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-21 18:56:30 -07:00
Vladimir Mezentsev
a13e4c5c10 Fix 30808 gprofng tests failed
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-09-05 13:01:46 -07:00
Vladimir Mezentsev
1f572864da gprofng: Use execvp instead of execv
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-17 13:15:10 -07:00
Vladimir Mezentsev
84004b2a70 gprofng: pass gprofng location to gp-display-gui
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-12 19:46:52 -07:00
Vladimir Mezentsev
e15197c804 gprofng: fix typos in get_realpath() and check_executable()
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-12 19:46:52 -07:00
Alan Modra
6a6859cbff regen config
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-12 10:27:57 +09:30
Vladimir Mezentsev
e0282cf128 gprofng: 30700 tmpdir/gp-collect-app_F test fails
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-07 14:32:36 -07:00
Sam James
b5c37946cc Revert "2.41 Release sources"
This reverts commit 675b9d612c.

See https://sourceware.org/pipermail/binutils/2023-August/128761.html.
2023-08-02 12:06:23 +01:00
Nick Clifton
675b9d612c 2.41 Release sources 2023-08-02 09:23:36 +01:00
Khem Raj
69c37f53e2 gprofng: Fix build with 64bit file offset on 32bit machines
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-08-01 20:57:42 -07:00
Vladimir Mezentsev
c8e1332cc7 gprofng: create a list of available views
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-31 17:05:35 -07:00
Vladimir Mezentsev
9d9f26d8b1 gprofng: 30602 [2.41] gprofng test hangs on i686-linux-gnu
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-13 21:53:36 -07:00
Nick Clifton
87485f5349 Change version number to 2.41.50 and regenerate files 2023-07-03 11:54:06 +01:00
Vladimir Mezentsev
c476793d5b gprofng: fix data race
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-07-01 08:33:11 -07:00
Vladimir Mezentsev
a06dd73324 gprofng: Add new tests
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-28 10:27:01 -07:00
Cui, Lili
3d990b8548 gprofng: Update intel url
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-06-27 08:01:21 +00:00
Vladimir Mezentsev
dd8a4e320b gprofng: Fix -Wsign-compare warning
gprofng/ChangeLog
2023-05-25  Vladimir Mezentsev  <vladimir.mezentsev@oracle.com>

	PR gprofng/30490
	* src/LoadObject.cc: Fix -Wsign-compare warning.
2023-05-31 11:46:22 -07:00
Vladimir Mezentsev
defb734195 gprofng: 29470 The test suite should be made more flexible
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-31 11:46:21 -07:00
Vladimir Mezentsev
b5fbb4c2b4 gprofng: include a new function in the right place
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-05-16 12:04:51 -07:00
Vladimir Mezentsev
35fab451d9 gprofng: 30360 Seg. Fault when application uses std::thread
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-17 13:01:38 -07:00
Vladimir Mezentsev
7a515757db gprofng: Update documentation
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-04-17 13:00:03 -07:00
Vladimir Mezentsev
f2f9bde5cd gprofng: Add version symbols to libgprofng.ver
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-29 23:09:40 -07:00
Vladimir Mezentsev
66f76c545b gprofng: 30089 [display text] Invalid number of threads
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-27 11:47:52 -07:00
Vladimir Mezentsev
de8e705968 gprofng: Use prototype to call libc functions
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-19 18:03:58 -07:00
Vladimir Mezentsev
10577a3b13 gprofng: fix the Dwarf reader
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-11 15:12:08 -08:00
Vladimir Mezentsev
f4bcff7cae gprofng: PR30195 [display text] Source code location can not be found
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-10 13:26:49 -08:00
Vladimir Mezentsev
74f1d7f4a3 gprofng: read Dwarf 5
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-03-07 09:56:19 -08:00
Vladimir Mezentsev
490ea364df gprofng: fix Dwarf reader for DW_TAG_subprogram
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-17 14:00:54 -08:00
Vladimir Mezentsev
f6f19a39ec gprofng: PR30036 Build failure on aarch64 w/ glibc: symbol `pwrite64' is 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-17 14:00:54 -08:00
Vladimir Mezentsev
e02841b095 gprofng: fix SIGSEGV when processing unusual dwarf
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-02-07 21:26:21 -08:00
Vladimir Mezentsev
2b304f501f gprofng: PR30043 libgprofng.so.* are installed to a wrong location
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-26 11:00:51 -08:00
Vladimir Mezentsev
b1a41f5927 gprofng: PR29521 [docs] man pages are not in the release tarball
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-24 11:54:37 -08:00
Vladimir Mezentsev
47f72fdba3 Revert "gprofng: PR29987 bfd/archive.c:1447: undefined reference to `filename_ncmp'"
This reverts commit c2a5d74050.
2023-01-17 19:10:22 -08:00
Vladimir Mezentsev
c2a5d74050 gprofng: PR29987 bfd/archive.c:1447: undefined reference to `filename_ncmp'
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-13 11:54:08 -08:00
Alan Modra
76bdc7266a Update year range in gprofng copyright notices
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.
2023-01-01 23:26:30 +10:30
Nick Clifton
96e786d198 Update version number and regenerate files 2022-12-31 12:23:00 +00:00
Jan Beulich
6b7d3204b5 gprofng/testsuite: restrict testing to native configurations
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.
2022-12-21 09:05:43 +01:00
Vladimir Mezentsev
309b9a1abf gprofng: PR29646 Various warnings
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-12-19 17:02:29 -08:00
Jan Beulich
b1fb503404 gprofng/testsuite: skip Java test without JDK
There's no point in even trying the Java test when gprofng was built
without Java support, and when the building of the constituents of the
testcase also would fail. On such systems this converts the respective
tests from "unresolved" to "unsupported", making the overall testsuite
run no longer report failure just because of this.
2022-12-19 09:36:21 +01:00
Jan Beulich
f8b6a781fb gprofng/testsuite: eliminate bogus casts
Casting pointers to unsigned int is generally problematic and hence
compilers tend to warn about such. While here they're used only in
fprintf(), it still seems better to omit such casts, even if only to
avoid setting bad precedents.
2022-12-19 09:36:00 +01:00
Jan Beulich
08b50e1e03 gprofng/testsuite: correct line continuation in endcases.c
A backslash used to indicate line continuation (in a macro definition
here) is not supposed to be followed by blanks or other white space; the
end-of-line indicator is to follow immediately.
2022-12-19 09:35:37 +01:00
Jan Beulich
6cafa87824 gprofng/testsuite: correct names for signal handling tests
The signal handling tests spend most of their time in the signal
handlers, and hence for profile output to match anything in program
output, the respective name fields need to hold the handler function
names. This converts both respective tests from "unresolved" to actually
succeeding.
2022-12-19 09:35:18 +01:00