mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-08-01 21:23:51 -09:00
package/binutils: remove support for binutils 2.42
Now that binutils 2.45 has been introduced and binutils 2.44 made the default version, drop the oldest supported version, binutils 2.42, keeping only the 3 last versions supported: 2.43, 2.44 and 2.45. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Julien Olivain <ju.o@free.fr>
This commit is contained in:
committed by
Julien Olivain
parent
08fa58f1da
commit
cad4f06931
@@ -144,6 +144,15 @@ endif
|
||||
|
||||
###############################################################################
|
||||
|
||||
comment "Legacy options removed in 2026.02"
|
||||
|
||||
config BR2_BINUTILS_VERSION_2_42_X
|
||||
bool "binutils 2.42 has been removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
binutils 2.42 has been removed, select a newer version
|
||||
instead.
|
||||
|
||||
comment "Legacy options removed in 2025.11"
|
||||
|
||||
config BR2_PACKAGE_OLA
|
||||
|
||||
@@ -1,50 +0,0 @@
|
||||
From d71fb5a9999ee7c8963342caa0d5cbb16872ab07 Mon Sep 17 00:00:00 2001
|
||||
From: Romain Naour <romain.naour@gmail.com>
|
||||
Date: Fri, 25 Dec 2015 11:38:13 +0100
|
||||
Subject: [PATCH] sh-conf
|
||||
|
||||
Likewise, binutils has no idea about any of these new targets either, so we
|
||||
fix that up too.. now we're able to actually build a real toolchain for
|
||||
sh2a_nofpu- and other more ineptly named toolchains (and yes, there are more
|
||||
inept targets than that one, really. Go look, I promise).
|
||||
|
||||
Upstream: N/A [Buildroot specific]
|
||||
|
||||
[Romain: rebase on top of 2.32]
|
||||
Signed-off-by: Romain Naour <romain.naour@gmail.com>
|
||||
[Thomas: rebase on top of 2.29, in which sh64 support was removed.]
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
configure | 2 +-
|
||||
configure.ac | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index 670684d83d1..967c6708a0c 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -4042,7 +4042,7 @@ case "${target}" in
|
||||
nvptx*-*-*)
|
||||
noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc"
|
||||
;;
|
||||
- sh-*-*)
|
||||
+ sh*-*-*)
|
||||
case "${target}" in
|
||||
sh*-*-elf)
|
||||
;;
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 88b4800e298..2c8d08ff6ec 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1269,7 +1269,7 @@ case "${target}" in
|
||||
nvptx*-*-*)
|
||||
noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc"
|
||||
;;
|
||||
- sh-*-*)
|
||||
+ sh*-*-*)
|
||||
case "${target}" in
|
||||
sh*-*-elf)
|
||||
;;
|
||||
--
|
||||
2.43.0
|
||||
|
||||
@@ -1,309 +0,0 @@
|
||||
From 00f6b0a7d31085831429834b2bc8f511b8fab6ce Mon Sep 17 00:00:00 2001
|
||||
From: Romain Naour <romain.naour@gmail.com>
|
||||
Date: Fri, 25 Dec 2015 11:45:38 +0100
|
||||
Subject: [PATCH] poison-system-directories
|
||||
|
||||
Patch adapted to binutils 2.23.2 and extended to use
|
||||
BR_COMPILER_PARANOID_UNSAFE_PATH by Thomas Petazzoni.
|
||||
|
||||
[Waldemar: rebase on top of 2.39]
|
||||
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
|
||||
[Romain: rebase on top of 2.33.1]
|
||||
Signed-off-by: Romain Naour <romain.naour@gmail.com>
|
||||
[Gustavo: adapt to binutils 2.25]
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
||||
|
||||
Upstream-Status: Inappropriate [distribution: codesourcery]
|
||||
Upstream: N/A [Buildroot specific]
|
||||
|
||||
Patch originally created by Mark Hatle, forward-ported to
|
||||
binutils 2.21 by Scott Garman.
|
||||
|
||||
purpose: warn for uses of system directories when cross linking
|
||||
|
||||
Code Merged from Sourcery G++ binutils 2.19 - 4.4-277
|
||||
|
||||
2008-07-02 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
ld/
|
||||
* ld.h (args_type): Add error_poison_system_directories.
|
||||
* ld.texinfo (--error-poison-system-directories): Document.
|
||||
* ldfile.c (ldfile_add_library_path): Check
|
||||
command_line.error_poison_system_directories.
|
||||
* ldmain.c (main): Initialize
|
||||
command_line.error_poison_system_directories.
|
||||
* lexsup.c (enum option_values): Add
|
||||
OPTION_ERROR_POISON_SYSTEM_DIRECTORIES.
|
||||
(ld_options): Add --error-poison-system-directories.
|
||||
(parse_args): Handle new option.
|
||||
|
||||
2007-06-13 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
ld/
|
||||
* config.in: Regenerate.
|
||||
* ld.h (args_type): Add poison_system_directories.
|
||||
* ld.texinfo (--no-poison-system-directories): Document.
|
||||
* ldfile.c (ldfile_add_library_path): Check
|
||||
command_line.poison_system_directories.
|
||||
* ldmain.c (main): Initialize
|
||||
command_line.poison_system_directories.
|
||||
* lexsup.c (enum option_values): Add
|
||||
OPTION_NO_POISON_SYSTEM_DIRECTORIES.
|
||||
(ld_options): Add --no-poison-system-directories.
|
||||
(parse_args): Handle new option.
|
||||
|
||||
2007-04-20 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
Merge from Sourcery G++ binutils 2.17:
|
||||
|
||||
2007-03-20 Joseph Myers <joseph@codesourcery.com>
|
||||
Based on patch by Mark Hatle <mark.hatle@windriver.com>.
|
||||
ld/
|
||||
* configure.ac (--enable-poison-system-directories): New option.
|
||||
* configure, config.in: Regenerate.
|
||||
* ldfile.c (ldfile_add_library_path): If
|
||||
ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of /lib,
|
||||
/usr/lib, /usr/local/lib or /usr/X11R6/lib.
|
||||
|
||||
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
||||
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
|
||||
---
|
||||
ld/config.in | 3 +++
|
||||
ld/configure | 14 ++++++++++++++
|
||||
ld/configure.ac | 10 ++++++++++
|
||||
ld/ld.h | 8 ++++++++
|
||||
ld/ld.texi | 12 ++++++++++++
|
||||
ld/ldfile.c | 17 +++++++++++++++++
|
||||
ld/ldlex.h | 2 ++
|
||||
ld/ldmain.c | 2 ++
|
||||
ld/lexsup.c | 21 +++++++++++++++++++++
|
||||
9 files changed, 89 insertions(+)
|
||||
|
||||
diff --git a/ld/config.in b/ld/config.in
|
||||
index 52d62f06ff0..b5944e7ba55 100644
|
||||
--- a/ld/config.in
|
||||
+++ b/ld/config.in
|
||||
@@ -70,6 +70,9 @@
|
||||
language is requested. */
|
||||
#undef ENABLE_NLS
|
||||
|
||||
+/* Define to warn for use of native system library directories */
|
||||
+#undef ENABLE_POISON_SYSTEM_DIRECTORIES
|
||||
+
|
||||
/* Additional extension a shared object might have. */
|
||||
#undef EXTRA_SHLIB_EXTENSION
|
||||
|
||||
diff --git a/ld/configure b/ld/configure
|
||||
index ba1e5e2a215..2220d7afe2a 100755
|
||||
--- a/ld/configure
|
||||
+++ b/ld/configure
|
||||
@@ -844,6 +844,7 @@ with_lib_path
|
||||
enable_targets
|
||||
enable_64_bit_bfd
|
||||
with_sysroot
|
||||
+enable_poison_system_directories
|
||||
enable_gold
|
||||
enable_got
|
||||
enable_compressed_debug_sections
|
||||
@@ -1534,6 +1535,8 @@ Optional Features:
|
||||
--enable-checking enable run-time checks
|
||||
--enable-targets alternative target configurations
|
||||
--enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes)
|
||||
+ --enable-poison-system-directories
|
||||
+ warn for use of native system library directories
|
||||
--enable-gold[=ARG] build gold [ARG={default,yes,no}]
|
||||
--enable-got=<type> GOT handling scheme (target, single, negative,
|
||||
multigot)
|
||||
@@ -15587,7 +15590,18 @@ else
|
||||
fi
|
||||
|
||||
|
||||
+# Check whether --enable-poison-system-directories was given.
|
||||
+if test "${enable_poison_system_directories+set}" = set; then :
|
||||
+ enableval=$enable_poison_system_directories;
|
||||
+else
|
||||
+ enable_poison_system_directories=no
|
||||
+fi
|
||||
+
|
||||
+if test "x${enable_poison_system_directories}" = "xyes"; then
|
||||
|
||||
+$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
|
||||
# Check whether --enable-got was given.
|
||||
if test "${enable_got+set}" = set; then :
|
||||
diff --git a/ld/configure.ac b/ld/configure.ac
|
||||
index 4a11787ae71..104a531fb0f 100644
|
||||
--- a/ld/configure.ac
|
||||
+++ b/ld/configure.ac
|
||||
@@ -103,6 +103,16 @@ AC_SUBST(use_sysroot)
|
||||
AC_SUBST(TARGET_SYSTEM_ROOT)
|
||||
AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE)
|
||||
|
||||
+AC_ARG_ENABLE([poison-system-directories],
|
||||
+ AS_HELP_STRING([--enable-poison-system-directories],
|
||||
+ [warn for use of native system library directories]),,
|
||||
+ [enable_poison_system_directories=no])
|
||||
+if test "x${enable_poison_system_directories}" = "xyes"; then
|
||||
+ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES],
|
||||
+ [1],
|
||||
+ [Define to warn for use of native system library directories])
|
||||
+fi
|
||||
+
|
||||
dnl Use --enable-gold to decide if this linker should be the default.
|
||||
dnl "install_as_default" is set to false if gold is the default linker.
|
||||
dnl "installed_linker" is the installed BFD linker name.
|
||||
diff --git a/ld/ld.h b/ld/ld.h
|
||||
index 54d9079678c..9f0163b2911 100644
|
||||
--- a/ld/ld.h
|
||||
+++ b/ld/ld.h
|
||||
@@ -166,6 +166,14 @@ typedef struct
|
||||
in the linker script. */
|
||||
bool force_group_allocation;
|
||||
|
||||
+ /* If TRUE (the default) warn for uses of system directories when
|
||||
+ cross linking. */
|
||||
+ bool poison_system_directories;
|
||||
+
|
||||
+ /* If TRUE (default FALSE) give an error for uses of system
|
||||
+ directories when cross linking instead of a warning. */
|
||||
+ bool error_poison_system_directories;
|
||||
+
|
||||
/* Big or little endian as set on command line. */
|
||||
enum endian_enum endian;
|
||||
|
||||
diff --git a/ld/ld.texi b/ld/ld.texi
|
||||
index 4fda259a552..11fd8f7547b 100644
|
||||
--- a/ld/ld.texi
|
||||
+++ b/ld/ld.texi
|
||||
@@ -3108,6 +3108,18 @@ string identifying the original linked file does not change.
|
||||
Passing @code{none} for @var{style} disables the setting from any
|
||||
@code{--build-id} options earlier on the command line.
|
||||
|
||||
+@kindex --no-poison-system-directories
|
||||
+@item --no-poison-system-directories
|
||||
+Do not warn for @option{-L} options using system directories such as
|
||||
+@file{/usr/lib} when cross linking. This option is intended for use
|
||||
+in chroot environments when such directories contain the correct
|
||||
+libraries for the target system rather than the host.
|
||||
+
|
||||
+@kindex --error-poison-system-directories
|
||||
+@item --error-poison-system-directories
|
||||
+Give an error instead of a warning for @option{-L} options using
|
||||
+system directories when cross linking.
|
||||
+
|
||||
@kindex --package-metadata=@var{JSON}
|
||||
@item --package-metadata=@var{JSON}
|
||||
Request the creation of a @code{.note.package} ELF note section. The
|
||||
diff --git a/ld/ldfile.c b/ld/ldfile.c
|
||||
index dc9875d8813..49d899ee49d 100644
|
||||
--- a/ld/ldfile.c
|
||||
+++ b/ld/ldfile.c
|
||||
@@ -327,6 +327,23 @@ ldfile_add_library_path (const char *name, bool cmdline)
|
||||
new_dirs->name = concat (ld_sysroot, name + strlen ("$SYSROOT"), (const char *) NULL);
|
||||
else
|
||||
new_dirs->name = xstrdup (name);
|
||||
+
|
||||
+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES
|
||||
+ if (command_line.poison_system_directories
|
||||
+ && ((!strncmp (name, "/lib", 4))
|
||||
+ || (!strncmp (name, "/usr/lib", 8))
|
||||
+ || (!strncmp (name, "/usr/local/lib", 14))
|
||||
+ || (!strncmp (name, "/usr/X11R6/lib", 14))))
|
||||
+ {
|
||||
+ if (command_line.error_poison_system_directories)
|
||||
+ einfo (_("%X%P: error: library search path \"%s\" is unsafe for "
|
||||
+ "cross-compilation\n"), name);
|
||||
+ else
|
||||
+ einfo (_("%P: warning: library search path \"%s\" is unsafe for "
|
||||
+ "cross-compilation\n"), name);
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
}
|
||||
|
||||
/* Try to open a BFD for a lang_input_statement. */
|
||||
diff --git a/ld/ldlex.h b/ld/ldlex.h
|
||||
index 161a9d4d8dc..4ca50b9c299 100644
|
||||
--- a/ld/ldlex.h
|
||||
+++ b/ld/ldlex.h
|
||||
@@ -168,6 +168,8 @@ enum option_values
|
||||
OPTION_CTF_VARIABLES,
|
||||
OPTION_NO_CTF_VARIABLES,
|
||||
OPTION_CTF_SHARE_TYPES,
|
||||
+ OPTION_NO_POISON_SYSTEM_DIRECTORIES,
|
||||
+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES,
|
||||
OPTION_ERROR_EXECSTACK,
|
||||
OPTION_NO_ERROR_EXECSTACK,
|
||||
OPTION_WARN_EXECSTACK_OBJECTS,
|
||||
diff --git a/ld/ldmain.c b/ld/ldmain.c
|
||||
index e90c2021b33..43fe888eba8 100644
|
||||
--- a/ld/ldmain.c
|
||||
+++ b/ld/ldmain.c
|
||||
@@ -325,6 +325,8 @@ main (int argc, char **argv)
|
||||
command_line.warn_mismatch = true;
|
||||
command_line.warn_search_mismatch = true;
|
||||
command_line.check_section_addresses = -1;
|
||||
+ command_line.poison_system_directories = true;
|
||||
+ command_line.error_poison_system_directories = false;
|
||||
|
||||
/* We initialize DEMANGLING based on the environment variable
|
||||
COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the
|
||||
diff --git a/ld/lexsup.c b/ld/lexsup.c
|
||||
index 099dff8ecde..01626712c77 100644
|
||||
--- a/ld/lexsup.c
|
||||
+++ b/ld/lexsup.c
|
||||
@@ -642,6 +642,14 @@ static const struct ld_option ld_options[] =
|
||||
" <method> is: share-unconflicted (default),\n"
|
||||
" share-duplicated"),
|
||||
TWO_DASHES },
|
||||
+ { {"no-poison-system-directories", no_argument, NULL,
|
||||
+ OPTION_NO_POISON_SYSTEM_DIRECTORIES},
|
||||
+ '\0', NULL, N_("Do not warn for -L options using system directories"),
|
||||
+ TWO_DASHES },
|
||||
+ { {"error-poison-system-directories", no_argument, NULL,
|
||||
+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES},
|
||||
+ '\0', NULL, N_("Give an error for -L options using system directories"),
|
||||
+ TWO_DASHES },
|
||||
};
|
||||
|
||||
#define OPTION_COUNT ARRAY_SIZE (ld_options)
|
||||
@@ -654,6 +662,7 @@ parse_args (unsigned argc, char **argv)
|
||||
int ingroup = 0;
|
||||
char *default_dirlist = NULL;
|
||||
char *shortopts;
|
||||
+ char *BR_paranoid_env;
|
||||
struct option *longopts;
|
||||
struct option *really_longopts;
|
||||
int last_optind;
|
||||
@@ -1769,6 +1778,14 @@ parse_args (unsigned argc, char **argv)
|
||||
}
|
||||
break;
|
||||
|
||||
+ case OPTION_NO_POISON_SYSTEM_DIRECTORIES:
|
||||
+ command_line.poison_system_directories = false;
|
||||
+ break;
|
||||
+
|
||||
+ case OPTION_ERROR_POISON_SYSTEM_DIRECTORIES:
|
||||
+ command_line.error_poison_system_directories = true;
|
||||
+ break;
|
||||
+
|
||||
case OPTION_PUSH_STATE:
|
||||
input_flags.pushed = xmemdup (&input_flags,
|
||||
sizeof (input_flags),
|
||||
@@ -1922,6 +1939,10 @@ parse_args (unsigned argc, char **argv)
|
||||
command_line.soname = NULL;
|
||||
}
|
||||
|
||||
+ BR_paranoid_env = getenv("BR_COMPILER_PARANOID_UNSAFE_PATH");
|
||||
+ if (BR_paranoid_env && strlen(BR_paranoid_env) > 0)
|
||||
+ command_line.error_poison_system_directories = true;
|
||||
+
|
||||
while (ingroup)
|
||||
{
|
||||
einfo (_("%P: missing --end-group; added as last command line option\n"));
|
||||
--
|
||||
2.43.0
|
||||
|
||||
@@ -1,125 +0,0 @@
|
||||
From 900c0f0aa3d78cd9e67ccd26fbc86224cef4c5b1 Mon Sep 17 00:00:00 2001
|
||||
From: Alan Modra <amodra@gmail.com>
|
||||
Date: Fri, 16 Feb 2024 22:33:29 +1030
|
||||
Subject: [PATCH] PR27597, nios: assertion fail in nios2_elf32_install_imm16
|
||||
|
||||
The assertion in nios2_elf32_install_imm16 triggers when the PLT is
|
||||
twice the maximum allowable size for a branch from PLTn to reach
|
||||
.PLTresolve, and on no other call to nios2_elf32_install_imm16. That
|
||||
makes the assertion completely useless. We can handle a PIC PLT
|
||||
exceeding 0x8000 in size by bouncing branches that won't reach through
|
||||
previous branches.
|
||||
|
||||
PR 27597
|
||||
* elf32-nios2.c (nios2_elf32_install_imm16): Delete BFD_ASSERT.
|
||||
(nios2_build_one_stub): Don't bother masking value passed to
|
||||
nios2_elf32_install_imm16.
|
||||
(nios2_elf32_finish_dynamic_symbol): Likewise. Handle overflow
|
||||
of PLTn branch to .PLTresolve by bouncing through prior branches.
|
||||
|
||||
Upstream: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=900c0f0aa3d78cd9e67ccd26fbc86224cef4c5b1
|
||||
|
||||
Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
|
||||
---
|
||||
bfd/elf32-nios2.c | 40 ++++++++++++++++++++++++----------------
|
||||
1 file changed, 24 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/bfd/elf32-nios2.c b/bfd/elf32-nios2.c
|
||||
index bebf4239958..7f61e2f8507 100644
|
||||
--- a/bfd/elf32-nios2.c
|
||||
+++ b/bfd/elf32-nios2.c
|
||||
@@ -1878,8 +1878,6 @@ nios2_elf32_install_imm16 (asection *sec, bfd_vma offset, bfd_vma value)
|
||||
{
|
||||
bfd_vma word = bfd_get_32 (sec->owner, sec->contents + offset);
|
||||
|
||||
- BFD_ASSERT (value <= 0xffff || ((bfd_signed_vma) value) >= -0xffff);
|
||||
-
|
||||
bfd_put_32 (sec->owner, word | ((value & 0xffff) << 6),
|
||||
sec->contents + offset);
|
||||
}
|
||||
@@ -2518,7 +2516,7 @@ nios2_build_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg ATTRIBUTE_U
|
||||
nios2_elf32_install_imm16 (stub_sec, hsh->stub_offset,
|
||||
hiadj (sym_value));
|
||||
nios2_elf32_install_imm16 (stub_sec, hsh->stub_offset + 4,
|
||||
- (sym_value & 0xffff));
|
||||
+ sym_value);
|
||||
stub_sec->size += 12;
|
||||
break;
|
||||
default:
|
||||
@@ -4986,16 +4984,28 @@ nios2_elf32_finish_dynamic_symbol (bfd *output_bfd,
|
||||
/* Emit the PLT entry. */
|
||||
if (bfd_link_pic (info))
|
||||
{
|
||||
+ bfd_vma br_offset;
|
||||
+
|
||||
nios2_elf32_install_data (splt, nios2_so_plt_entry, h->plt.offset,
|
||||
3);
|
||||
plt_index = (h->plt.offset - 24) / 12;
|
||||
got_offset = (plt_index + 3) * 4;
|
||||
nios2_elf32_install_imm16 (splt, h->plt.offset,
|
||||
- hiadj(plt_index * 4));
|
||||
+ hiadj (plt_index * 4));
|
||||
nios2_elf32_install_imm16 (splt, h->plt.offset + 4,
|
||||
- (plt_index * 4) & 0xffff);
|
||||
- nios2_elf32_install_imm16 (splt, h->plt.offset + 8,
|
||||
- 0xfff4 - h->plt.offset);
|
||||
+ plt_index * 4);
|
||||
+ br_offset = -(h->plt.offset + 12);
|
||||
+ /* If this plt entry is too far away from the start of .plt
|
||||
+ for the "br" to reach .PLTresolve, bounce through one or
|
||||
+ more of the previous "br" instructions. */
|
||||
+ if (br_offset < (bfd_vma) -32768)
|
||||
+ {
|
||||
+ br_offset += 32768 / 12 * 12 - 4;
|
||||
+ while (br_offset < (bfd_vma) -32768)
|
||||
+ br_offset += 32768 / 12 * 12;
|
||||
+ }
|
||||
+ nios2_elf32_install_imm16 (splt, h->plt.offset + 8, br_offset);
|
||||
+
|
||||
got_address = (sgotplt->output_section->vma + sgotplt->output_offset
|
||||
+ got_offset);
|
||||
|
||||
@@ -5014,9 +5024,8 @@ nios2_elf32_finish_dynamic_symbol (bfd *output_bfd,
|
||||
nios2_elf32_install_data (splt, nios2_plt_entry, h->plt.offset, 3);
|
||||
got_address = (sgotplt->output_section->vma + sgotplt->output_offset
|
||||
+ got_offset);
|
||||
- nios2_elf32_install_imm16 (splt, h->plt.offset, hiadj(got_address));
|
||||
- nios2_elf32_install_imm16 (splt, h->plt.offset + 4,
|
||||
- got_address & 0xffff);
|
||||
+ nios2_elf32_install_imm16 (splt, h->plt.offset, hiadj (got_address));
|
||||
+ nios2_elf32_install_imm16 (splt, h->plt.offset + 4, got_address);
|
||||
|
||||
/* Fill in the entry in the global offset table. */
|
||||
bfd_put_32 (output_bfd,
|
||||
@@ -5217,8 +5226,8 @@ nios2_elf32_finish_dynamic_sections (bfd *output_bfd,
|
||||
BFD_ASSERT ((got_pcrel & 0xf) == 0);
|
||||
nios2_elf32_install_data (splt, nios2_so_plt0_entry, 0, 6);
|
||||
nios2_elf32_install_imm16 (splt, 4, hiadj (got_pcrel));
|
||||
- nios2_elf32_install_imm16 (splt, 12, got_pcrel & 0xffff);
|
||||
- nios2_elf32_install_imm16 (splt, 16, (got_pcrel + 4) & 0xffff);
|
||||
+ nios2_elf32_install_imm16 (splt, 12, got_pcrel);
|
||||
+ nios2_elf32_install_imm16 (splt, 16, got_pcrel + 4);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -5240,14 +5249,13 @@ nios2_elf32_finish_dynamic_sections (bfd *output_bfd,
|
||||
|
||||
nios2_elf32_install_data (splt, nios2_plt0_entry, res_size, 7);
|
||||
nios2_elf32_install_imm16 (splt, res_size, hiadj (res_start));
|
||||
- nios2_elf32_install_imm16 (splt, res_size + 4,
|
||||
- res_start & 0xffff);
|
||||
+ nios2_elf32_install_imm16 (splt, res_size + 4, res_start);
|
||||
nios2_elf32_install_imm16 (splt, res_size + 12,
|
||||
hiadj (got_address));
|
||||
nios2_elf32_install_imm16 (splt, res_size + 16,
|
||||
- (got_address + 4) & 0xffff);
|
||||
+ got_address + 4);
|
||||
nios2_elf32_install_imm16 (splt, res_size + 20,
|
||||
- (got_address + 8) & 0xffff);
|
||||
+ got_address + 8);
|
||||
}
|
||||
}
|
||||
}
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -1,90 +0,0 @@
|
||||
From 8ebe62f3f0d27806b1bf69f301f5e188b4acd2b4 Mon Sep 17 00:00:00 2001
|
||||
From: Sam James <sam@gentoo.org>
|
||||
Date: Sat, 16 Nov 2024 05:03:52 +0000
|
||||
Subject: [PATCH] opcodes: fix -std=gnu23 compatibility wrt static_assert
|
||||
|
||||
static_assert is declared in C23 so we can't reuse that identifier:
|
||||
* Define our own static_assert conditionally;
|
||||
|
||||
* Rename "static assert" hacks to _N as we do already in some places
|
||||
to avoid a conflict.
|
||||
|
||||
ChangeLog:
|
||||
PR ld/32372
|
||||
|
||||
* i386-gen.c (static_assert): Define conditionally.
|
||||
* mips-formats.h (MAPPED_INT): Rename identifier.
|
||||
(MAPPED_REG): Rename identifier.
|
||||
(OPTIONAL_MAPPED_REG): Rename identifier.
|
||||
* s390-opc.c (static_assert): Define conditionally.
|
||||
|
||||
Upstream: https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=8ebe62f3f0d27806b1bf69f301f5e188b4acd2b4
|
||||
Signed-off-by: Raphaël Mélotte <raphael.melotte@mind.be>
|
||||
---
|
||||
opcodes/i386-gen.c | 2 ++
|
||||
opcodes/mips-formats.h | 6 +++---
|
||||
opcodes/s390-opc.c | 2 ++
|
||||
3 files changed, 7 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/opcodes/i386-gen.c b/opcodes/i386-gen.c
|
||||
index 053b66675c5..7ee8a30310c 100644
|
||||
--- a/opcodes/i386-gen.c
|
||||
+++ b/opcodes/i386-gen.c
|
||||
@@ -30,7 +30,9 @@
|
||||
|
||||
/* Build-time checks are preferrable over runtime ones. Use this construct
|
||||
in preference where possible. */
|
||||
+#ifndef static_assert
|
||||
#define static_assert(e) ((void)sizeof (struct { int _:1 - 2 * !(e); }))
|
||||
+#endif
|
||||
|
||||
static const char *program_name = NULL;
|
||||
static int debug = 0;
|
||||
diff --git a/opcodes/mips-formats.h b/opcodes/mips-formats.h
|
||||
index 90df7100803..c4dec6352bf 100644
|
||||
--- a/opcodes/mips-formats.h
|
||||
+++ b/opcodes/mips-formats.h
|
||||
@@ -49,7 +49,7 @@
|
||||
#define MAPPED_INT(SIZE, LSB, MAP, PRINT_HEX) \
|
||||
{ \
|
||||
typedef char ATTRIBUTE_UNUSED \
|
||||
- static_assert[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \
|
||||
+ static_assert_3[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \
|
||||
static const struct mips_mapped_int_operand op = { \
|
||||
{ OP_MAPPED_INT, SIZE, LSB }, MAP, PRINT_HEX \
|
||||
}; \
|
||||
@@ -83,7 +83,7 @@
|
||||
#define MAPPED_REG(SIZE, LSB, BANK, MAP) \
|
||||
{ \
|
||||
typedef char ATTRIBUTE_UNUSED \
|
||||
- static_assert[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \
|
||||
+ static_assert_4[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \
|
||||
static const struct mips_reg_operand op = { \
|
||||
{ OP_REG, SIZE, LSB }, OP_REG_##BANK, MAP \
|
||||
}; \
|
||||
@@ -93,7 +93,7 @@
|
||||
#define OPTIONAL_MAPPED_REG(SIZE, LSB, BANK, MAP) \
|
||||
{ \
|
||||
typedef char ATTRIBUTE_UNUSED \
|
||||
- static_assert[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \
|
||||
+ static_assert_5[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \
|
||||
static const struct mips_reg_operand op = { \
|
||||
{ OP_OPTIONAL_REG, SIZE, LSB }, OP_REG_##BANK, MAP \
|
||||
}; \
|
||||
diff --git a/opcodes/s390-opc.c b/opcodes/s390-opc.c
|
||||
index 9d9f0973e55..49efd714157 100644
|
||||
--- a/opcodes/s390-opc.c
|
||||
+++ b/opcodes/s390-opc.c
|
||||
@@ -36,7 +36,9 @@
|
||||
|
||||
/* Build-time checks are preferrable over runtime ones. Use this construct
|
||||
in preference where possible. */
|
||||
+#ifndef static_assert
|
||||
#define static_assert(e) ((void)sizeof (struct { int _:1 - 2 * !(e); }))
|
||||
+#endif
|
||||
|
||||
#define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))
|
||||
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -1,770 +0,0 @@
|
||||
From 0cec0418dacd30f4215d0d778b4e5d23f6a93801 Mon Sep 17 00:00:00 2001
|
||||
From: Vladimir Mezentsev <vladimir.mezentsev@oracle.com>
|
||||
Date: Tue, 3 Sep 2024 21:30:31 -0700
|
||||
Subject: [PATCH] Fix 32097 Warnings when building gprofng with Clang
|
||||
|
||||
gprofng/ChangeLog
|
||||
2024-09-03 Vladimir Mezentsev <vladimir.mezentsev@oracle.com>.
|
||||
|
||||
PR gprofng/32097
|
||||
* common/hwcdrv.c: Fix -Wempty-body warnings.
|
||||
* common/hwcentry.h: Fix -Wdeprecated-non-prototype warnings.
|
||||
* common/hwctable.c: Fix -Wdeprecated-non-prototype warnings.
|
||||
* libcollector/collector.c: Likewise.
|
||||
* libcollector/collector.h: Likewise.
|
||||
* libcollector/collectorAPI.c: Likewise.
|
||||
* libcollector/dispatcher.c: Likewise.
|
||||
* libcollector/iotrace.c: Likewise.
|
||||
* libcollector/libcol_util.c: Fix -Wunused-but-set-variable warnings.
|
||||
* libcollector/libcol_util.h: Remove unused declarations.
|
||||
* libcollector/linetrace.c: Fix -Wdeprecated-non-prototype warnings.
|
||||
* src/BaseMetricTreeNode.h: Fix -Wunused-private-field warnings.
|
||||
* src/Dbe.cc: Fix -Wself-assign warnings.
|
||||
* src/DbeSession.cc: Fix -Wunused-but-set-variable warnings.
|
||||
* src/Disasm.cc: Fix -Wunused-const-variable warnings.
|
||||
* src/Experiment.cc: Fix -Wunused-private-field warnings.
|
||||
* src/HashMap.h: Fix -Wself-assign warnings.
|
||||
* src/IOActivity.h: Fix -Wunused-private-field warnings.
|
||||
* src/collctrl.cc: Fix -Wself-assign, -Wparentheses-equality warnings.
|
||||
* src/collctrl.h: Fix -Wunused-private-field warnings.
|
||||
* src/collector_module.h: Fix -Wdeprecated-non-prototype warnings.
|
||||
* src/gp-display-src.cc: Fix -Wunused-private-field warnings.
|
||||
* src/gp-print.h: Fix -Wheader-guard warnings.
|
||||
* src/hwc_intel_icelake.h: Fix -Winitializer-overrides warnings.
|
||||
* src/util.cc: Fix -Wunused-but-set-variable warnings.
|
||||
|
||||
Upstream: b79c457ca01df82dbe1facb708e45def4584c903
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
gprofng/common/hwcdrv.c | 3 ++-
|
||||
gprofng/common/hwcentry.h | 7 +----
|
||||
gprofng/common/hwctable.c | 13 +---------
|
||||
gprofng/libcollector/collector.c | 15 ++++-------
|
||||
gprofng/libcollector/collector.h | 2 +-
|
||||
gprofng/libcollector/collectorAPI.c | 15 ++++++-----
|
||||
gprofng/libcollector/dispatcher.c | 19 ++++++++------
|
||||
gprofng/libcollector/iotrace.c | 12 ++++-----
|
||||
gprofng/libcollector/libcol_util.c | 2 --
|
||||
gprofng/libcollector/libcol_util.h | 6 -----
|
||||
gprofng/libcollector/linetrace.c | 40 +++++++++++++++++------------
|
||||
gprofng/src/BaseMetricTreeNode.h | 1 -
|
||||
gprofng/src/Dbe.cc | 12 ++++-----
|
||||
gprofng/src/DbeSession.cc | 3 ---
|
||||
gprofng/src/Disasm.cc | 1 -
|
||||
gprofng/src/Experiment.cc | 2 --
|
||||
gprofng/src/HashMap.h | 3 +--
|
||||
gprofng/src/IOActivity.h | 1 -
|
||||
gprofng/src/collctrl.cc | 14 +++++-----
|
||||
gprofng/src/collector_module.h | 20 +++++++--------
|
||||
gprofng/src/gp-display-src.cc | 8 ------
|
||||
gprofng/src/gp-print.h | 2 +-
|
||||
gprofng/src/util.cc | 10 +++-----
|
||||
23 files changed, 84 insertions(+), 127 deletions(-)
|
||||
|
||||
diff --git a/gprofng/common/hwcdrv.c b/gprofng/common/hwcdrv.c
|
||||
index 2d549b0d6a5..fa1ad32430b 100644
|
||||
--- a/gprofng/common/hwcdrv.c
|
||||
+++ b/gprofng/common/hwcdrv.c
|
||||
@@ -650,6 +650,7 @@ read_sample (counter_state_t *ctr_state, int msgsz, uint64_t *rvalue,
|
||||
static void
|
||||
dump_perf_event_attr (struct perf_event_attr *at)
|
||||
{
|
||||
+#if defined(DEBUG)
|
||||
TprintfT (DBG_LT2, "dump_perf_event_attr: size=%d type=%d sample_period=%lld\n"
|
||||
" config=0x%llx config1=0x%llx config2=0x%llx wakeup_events=%lld __reserved_1=%lld\n",
|
||||
(int) at->size, (int) at->type, (unsigned long long) at->sample_period,
|
||||
@@ -665,13 +666,13 @@ dump_perf_event_attr (struct perf_event_attr *at)
|
||||
DUMP_F (exclude_kernel);
|
||||
DUMP_F (exclude_hv);
|
||||
DUMP_F (exclude_idle);
|
||||
- // DUMP_F(xmmap);
|
||||
DUMP_F (comm);
|
||||
DUMP_F (freq);
|
||||
DUMP_F (inherit_stat);
|
||||
DUMP_F (enable_on_exec);
|
||||
DUMP_F (task);
|
||||
DUMP_F (watermark);
|
||||
+#endif
|
||||
}
|
||||
|
||||
static void
|
||||
diff --git a/gprofng/common/hwcentry.h b/gprofng/common/hwcentry.h
|
||||
index a35a363e693..7899875cf96 100644
|
||||
--- a/gprofng/common/hwcentry.h
|
||||
+++ b/gprofng/common/hwcentry.h
|
||||
@@ -202,17 +202,12 @@ extern "C"
|
||||
extern char *hwc_get_docref (char *buf, size_t buflen);
|
||||
/* Return a CPU HWC document reference, or NULL. */
|
||||
|
||||
- // TBR
|
||||
- extern char *hwc_get_default_cntrs ();
|
||||
- /* Return a default HW counter string; may be NULL, or zero-length */
|
||||
- /* NULL means none is defined in the table; or zero-length means string defined could not be loaded */
|
||||
-
|
||||
extern char *hwc_get_default_cntrs2 (int forKernel, int style);
|
||||
/* like hwc_get_default_cntrs() for style==1 */
|
||||
/* but allows other styles of formatting as well */
|
||||
/* deprecate and eventually remove hwc_get_default_cntrs() */
|
||||
|
||||
- extern char *hwc_get_orig_default_cntrs ();
|
||||
+ extern char *hwc_get_orig_default_cntrs (int forKernel);
|
||||
/* Get the default HW counter string as set in the table */
|
||||
/* NULL means none is defined in the table */
|
||||
|
||||
diff --git a/gprofng/common/hwctable.c b/gprofng/common/hwctable.c
|
||||
index d0735132fac..fe9153190e7 100644
|
||||
--- a/gprofng/common/hwctable.c
|
||||
+++ b/gprofng/common/hwctable.c
|
||||
@@ -3231,7 +3231,7 @@ check_tables ()
|
||||
}
|
||||
#endif
|
||||
|
||||
-static int try_a_counter ();
|
||||
+static int try_a_counter (int forKernel);
|
||||
static void hwc_process_raw_ctrs (int forKernel, Hwcentry ***pstd_out,
|
||||
Hwcentry ***praw_out, Hwcentry ***phidden_out,
|
||||
Hwcentry**static_tables,
|
||||
@@ -4321,17 +4321,6 @@ hwc_get_docref (char *buf, size_t buflen)
|
||||
return buf;
|
||||
}
|
||||
|
||||
-//TBR:
|
||||
-
|
||||
-extern char*
|
||||
-hwc_get_default_cntrs ()
|
||||
-{
|
||||
- setup_cpcx ();
|
||||
- if (cpcx_default_hwcs[0] != NULL)
|
||||
- return strdup (cpcx_default_hwcs[0]); // TBR deprecate this
|
||||
- return NULL;
|
||||
-}
|
||||
-
|
||||
extern char*
|
||||
hwc_get_default_cntrs2 (int forKernel, int style)
|
||||
{
|
||||
diff --git a/gprofng/libcollector/collector.c b/gprofng/libcollector/collector.c
|
||||
index 39529758600..ef580dcbdd9 100644
|
||||
--- a/gprofng/libcollector/collector.c
|
||||
+++ b/gprofng/libcollector/collector.c
|
||||
@@ -210,15 +210,10 @@ get_collector_interface ()
|
||||
static void
|
||||
collector_module_init (CollectorInterface *col_intf)
|
||||
{
|
||||
- int nmodules = 0;
|
||||
-
|
||||
ModuleInitFunc next_init = (ModuleInitFunc) dlsym (RTLD_DEFAULT, "__collector_module_init");
|
||||
if (next_init != NULL)
|
||||
- {
|
||||
- nmodules++;
|
||||
- next_init (col_intf);
|
||||
- }
|
||||
- TprintfT (DBG_LT1, "collector_module_init: %d modules\n", nmodules);
|
||||
+ next_init (col_intf);
|
||||
+ TprintfT (DBG_LT1, "collector_module_init: %d modules\n", next_init ? 1 : 0);
|
||||
}
|
||||
|
||||
/* Routines concerned with general experiment start and stop */
|
||||
@@ -1784,7 +1779,7 @@ __collector_pause ()
|
||||
}
|
||||
|
||||
void
|
||||
-__collector_pause_m (char *reason)
|
||||
+__collector_pause_m (const char *reason)
|
||||
{
|
||||
hrtime_t now;
|
||||
char xreason[MAXPATHLEN];
|
||||
@@ -2451,8 +2446,8 @@ __collector_dlog (int tflag, int level, char *format, ...)
|
||||
|
||||
static void (*__real__exit) (int status) = NULL; /* libc only: _exit */
|
||||
static void (*__real__Exit) (int status) = NULL; /* libc only: _Exit */
|
||||
-void _exit () __attribute__ ((weak, alias ("__collector_exit")));
|
||||
-void _Exit () __attribute__ ((weak, alias ("__collector_Exit")));
|
||||
+void _exit (int status) __attribute__ ((weak, alias ("__collector_exit")));
|
||||
+void _Exit (int status) __attribute__ ((weak, alias ("__collector_Exit")));
|
||||
|
||||
void
|
||||
__collector_exit (int status)
|
||||
diff --git a/gprofng/libcollector/collector.h b/gprofng/libcollector/collector.h
|
||||
index 07a03bdd17a..eda68a0e4f5 100644
|
||||
--- a/gprofng/libcollector/collector.h
|
||||
+++ b/gprofng/libcollector/collector.h
|
||||
@@ -123,7 +123,7 @@ extern void __collector_terminate_expt ();
|
||||
extern void __collector_terminate_hook ();
|
||||
extern void __collector_sample (char *name);
|
||||
extern void __collector_pause ();
|
||||
-extern void __collector_pause_m ();
|
||||
+extern void __collector_pause_m (const char *reason);
|
||||
extern void __collector_resume ();
|
||||
extern int collector_sigemt_sigaction (const struct sigaction*,
|
||||
struct sigaction*);
|
||||
diff --git a/gprofng/libcollector/collectorAPI.c b/gprofng/libcollector/collectorAPI.c
|
||||
index 5fa6403ad49..449bbbaab65 100644
|
||||
--- a/gprofng/libcollector/collectorAPI.c
|
||||
+++ b/gprofng/libcollector/collectorAPI.c
|
||||
@@ -26,16 +26,17 @@
|
||||
#include "collectorAPI.h"
|
||||
#include "gp-experiment.h"
|
||||
|
||||
-static void *__real_collector_sample = NULL;
|
||||
-static void *__real_collector_pause = NULL;
|
||||
-static void *__real_collector_resume = NULL;
|
||||
-static void *__real_collector_terminate_expt = NULL;
|
||||
-static void *__real_collector_func_load = NULL;
|
||||
-static void *__real_collector_func_unload = NULL;
|
||||
+static void (*__real_collector_sample)(const char *) = NULL;
|
||||
+static void (*__real_collector_pause)() = NULL;
|
||||
+static void (*__real_collector_resume)() = NULL;
|
||||
+static void (*__real_collector_terminate_expt)() = NULL;
|
||||
+static void (*__real_collector_func_load)(const char *, const char *,
|
||||
+ const char *, void *, int, int, Lineno *) = NULL;
|
||||
+static void (*__real_collector_func_unload)(void *) = NULL;
|
||||
|
||||
#define INIT_API if (init_API == 0) collectorAPI_initAPI()
|
||||
#define NULL_PTR(x) (__real_##x == NULL)
|
||||
-#define CALL_REAL(x) (*(void(*)())__real_##x)
|
||||
+#define CALL_REAL(x) (__real_##x)
|
||||
#define CALL_IF_REAL(x) INIT_API; if (!NULL_PTR(x)) CALL_REAL(x)
|
||||
|
||||
static int init_API = 0;
|
||||
diff --git a/gprofng/libcollector/dispatcher.c b/gprofng/libcollector/dispatcher.c
|
||||
index d2a4ad0b60b..867753a22ec 100644
|
||||
--- a/gprofng/libcollector/dispatcher.c
|
||||
+++ b/gprofng/libcollector/dispatcher.c
|
||||
@@ -909,8 +909,9 @@ sigset (int sig, sighandler_t handler)
|
||||
|
||||
// map interposed symbol versions
|
||||
static int
|
||||
-gprofng_timer_create (int (real_func) (), clockid_t clockid,
|
||||
- struct sigevent *sevp, timer_t *timerid)
|
||||
+gprofng_timer_create (int (real_func) (clockid_t, struct sigevent *, timer_t *),
|
||||
+ clockid_t clockid,
|
||||
+ struct sigevent *sevp, timer_t *timerid)
|
||||
{
|
||||
// collector reserves SIGPROF
|
||||
if (sevp == NULL || sevp->sigev_notify != SIGEV_SIGNAL ||
|
||||
@@ -1045,7 +1046,7 @@ __collector_thr_sigsetmask (int how, const sigset_t* iset, sigset_t* oset)
|
||||
// map interposed symbol versions
|
||||
|
||||
static int
|
||||
-gprofng_pthread_sigmask (int (real_func) (),
|
||||
+gprofng_pthread_sigmask (int (real_func) (int, const sigset_t *, sigset_t*),
|
||||
int how, const sigset_t *iset, sigset_t* oset)
|
||||
{
|
||||
sigset_t lsigset;
|
||||
@@ -1140,9 +1141,10 @@ collector_root (void *cargs)
|
||||
// map interposed symbol versions
|
||||
|
||||
static int
|
||||
-gprofng_pthread_create (int (real_func) (), pthread_t *thread,
|
||||
- const pthread_attr_t *attr,
|
||||
- void *(*func)(void*), void *arg)
|
||||
+gprofng_pthread_create (int (real_func) (pthread_t *, const pthread_attr_t *,
|
||||
+ void *(*)(void *), void *),
|
||||
+ pthread_t *thread, const pthread_attr_t *attr,
|
||||
+ void *(*func)(void*), void *arg)
|
||||
{
|
||||
TprintfT (DBG_LTT, "gprofng_pthread_create @%p\n", real_func);
|
||||
if (dispatch_mode != DISPATCH_ON)
|
||||
@@ -1277,6 +1279,7 @@ __collector_ext_clone_pthread (int (*fn)(void *), void *child_stack, int flags,
|
||||
}
|
||||
|
||||
// weak symbols:
|
||||
-int sigprocmask () __attribute__ ((weak, alias ("__collector_sigprocmask")));
|
||||
-int thr_sigsetmask () __attribute__ ((weak, alias ("__collector_thr_sigsetmask")));
|
||||
+int sigprocmask (int, const sigset_t*, sigset_t*) __attribute__ ((weak, alias ("__collector_sigprocmask")));
|
||||
+int thr_sigsetmask (int, const sigset_t*, sigset_t*) __attribute__ ((weak, alias ("__collector_thr_sigsetmask")));
|
||||
int setitimer () __attribute__ ((weak, alias ("_setitimer")));
|
||||
+
|
||||
diff --git a/gprofng/libcollector/iotrace.c b/gprofng/libcollector/iotrace.c
|
||||
index 18060864796..3deb441d9c7 100644
|
||||
--- a/gprofng/libcollector/iotrace.c
|
||||
+++ b/gprofng/libcollector/iotrace.c
|
||||
@@ -1350,7 +1350,7 @@ mkstemp (char *template)
|
||||
unsigned pktSize;
|
||||
if (NULL_PTR (mkstemp))
|
||||
init_io_intf ();
|
||||
- if (CHCK_REENTRANCE (guard) || template == NULL)
|
||||
+ if (CHCK_REENTRANCE (guard))
|
||||
return CALL_REAL (mkstemp)(template);
|
||||
PUSH_REENTRANCE (guard);
|
||||
hrtime_t reqt = gethrtime ();
|
||||
@@ -1405,7 +1405,7 @@ mkstemps (char *template, int slen)
|
||||
unsigned pktSize;
|
||||
if (NULL_PTR (mkstemps))
|
||||
init_io_intf ();
|
||||
- if (CHCK_REENTRANCE (guard) || template == NULL)
|
||||
+ if (CHCK_REENTRANCE (guard))
|
||||
return CALL_REAL (mkstemps)(template, slen);
|
||||
PUSH_REENTRANCE (guard);
|
||||
hrtime_t reqt = gethrtime ();
|
||||
@@ -1485,7 +1485,7 @@ close (int fildes)
|
||||
|
||||
/*------------------------------------------------------------- fopen */
|
||||
static FILE*
|
||||
-gprofng_fopen (FILE*(real_fopen) (), const char *filename, const char *mode)
|
||||
+gprofng_fopen (FILE*(real_fopen) (const char *, const char *), const char *filename, const char *mode)
|
||||
{
|
||||
int *guard;
|
||||
FILE *fp = NULL;
|
||||
@@ -1559,7 +1559,7 @@ DCL_FOPEN (fopen)
|
||||
|
||||
/*------------------------------------------------------------- fclose */
|
||||
static int
|
||||
-gprofng_fclose (int(real_fclose) (), FILE *stream)
|
||||
+gprofng_fclose (int(real_fclose) (FILE *), FILE *stream)
|
||||
{
|
||||
int *guard;
|
||||
int stat;
|
||||
@@ -1645,7 +1645,7 @@ fflush (FILE *stream)
|
||||
|
||||
/*------------------------------------------------------------- fdopen */
|
||||
static FILE*
|
||||
-gprofng_fdopen (FILE*(real_fdopen) (), int fildes, const char *mode)
|
||||
+gprofng_fdopen (FILE*(real_fdopen) (int, const char *), int fildes, const char *mode)
|
||||
{
|
||||
int *guard;
|
||||
FILE *fp = NULL;
|
||||
@@ -2957,7 +2957,7 @@ DCL_FGETPOS (fgetpos)
|
||||
|
||||
/*------------------------------------------------------------- fgetpos64 */
|
||||
static int
|
||||
-gprofng_fgetpos64 (int(real_fgetpos64) (), FILE *stream, fpos64_t *pos)
|
||||
+gprofng_fgetpos64 (int(real_fgetpos64) (FILE *, fpos64_t *), FILE *stream, fpos64_t *pos)
|
||||
{
|
||||
int *guard;
|
||||
int ret;
|
||||
diff --git a/gprofng/libcollector/libcol_util.c b/gprofng/libcollector/libcol_util.c
|
||||
index 15ba24d2ab5..c2b82894e6b 100644
|
||||
--- a/gprofng/libcollector/libcol_util.c
|
||||
+++ b/gprofng/libcollector/libcol_util.c
|
||||
@@ -1013,7 +1013,6 @@ __collector_open (const char *path, int oflag, ...)
|
||||
mode_t mode = 0;
|
||||
|
||||
hrtime_t t_timeout = __collector_gethrtime () + 5 * ((hrtime_t) NANOSEC);
|
||||
- int nretries = 0;
|
||||
long long delay = 100; /* start at some small, arbitrary value */
|
||||
|
||||
/* get optional mode argument if it's expected/required */
|
||||
@@ -1058,7 +1057,6 @@ __collector_open (const char *path, int oflag, ...)
|
||||
delay *= 2;
|
||||
if (delay > 100000000)
|
||||
delay = 100000000; /* cap at some large, arbitrary value */
|
||||
- nretries++;
|
||||
}
|
||||
return fd;
|
||||
}
|
||||
diff --git a/gprofng/libcollector/libcol_util.h b/gprofng/libcollector/libcol_util.h
|
||||
index 2eeeaeed50b..1b1b928180a 100644
|
||||
--- a/gprofng/libcollector/libcol_util.h
|
||||
+++ b/gprofng/libcollector/libcol_util.h
|
||||
@@ -81,12 +81,6 @@ extern int __collector_mutex_trylock (collector_mutex_t *mp);
|
||||
#define __collector_mutex_init(xx) \
|
||||
do { collector_mutex_t tmp=COLLECTOR_MUTEX_INITIALIZER; *(xx)=tmp; } while(0)
|
||||
|
||||
-void __collector_sample (char *name);
|
||||
-void __collector_terminate_expt ();
|
||||
-void __collector_pause ();
|
||||
-void __collector_pause_m ();
|
||||
-void __collector_resume ();
|
||||
-
|
||||
struct DT_lineno;
|
||||
|
||||
typedef enum
|
||||
diff --git a/gprofng/libcollector/linetrace.c b/gprofng/libcollector/linetrace.c
|
||||
index 67b2d7e9030..66844bc1337 100644
|
||||
--- a/gprofng/libcollector/linetrace.c
|
||||
+++ b/gprofng/libcollector/linetrace.c
|
||||
@@ -1207,7 +1207,7 @@ __collector_vfork (void)
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------- execve */
|
||||
-int execve () __attribute__ ((weak, alias ("__collector_execve")));
|
||||
+int execve (const char *, char *const [], char *const []) __attribute__ ((weak, alias ("__collector_execve")));
|
||||
|
||||
int
|
||||
__collector_execve (const char* path, char *const argv[], char *const envp[])
|
||||
@@ -1237,7 +1237,7 @@ __collector_execve (const char* path, char *const argv[], char *const envp[])
|
||||
return ret;
|
||||
}
|
||||
|
||||
-int execvp () __attribute__ ((weak, alias ("__collector_execvp")));
|
||||
+int execvp (const char *, char *const []) __attribute__ ((weak, alias ("__collector_execvp")));
|
||||
|
||||
int
|
||||
__collector_execvp (const char* file, char *const argv[])
|
||||
@@ -1269,7 +1269,7 @@ __collector_execvp (const char* file, char *const argv[])
|
||||
return ret;
|
||||
}
|
||||
|
||||
-int execv () __attribute__ ((weak, alias ("__collector_execv")));
|
||||
+int execv (const char *, char *const []) __attribute__ ((weak, alias ("__collector_execv")));
|
||||
|
||||
int
|
||||
__collector_execv (const char* path, char *const argv[])
|
||||
@@ -1408,7 +1408,10 @@ __collector_execl (const char* path, const char *arg0, ...)
|
||||
/*-------------------------------------------------------- posix_spawn */
|
||||
// map interposed symbol versions
|
||||
static int
|
||||
-gprofng_posix_spawn (int(real_posix_spawn) (),
|
||||
+gprofng_posix_spawn (int(real_posix_spawn) (pid_t *, const char *,
|
||||
+ const posix_spawn_file_actions_t *,
|
||||
+ const posix_spawnattr_t *,
|
||||
+ char *const [], char *const []),
|
||||
pid_t *pidp, const char *path,
|
||||
const posix_spawn_file_actions_t *file_actions,
|
||||
const posix_spawnattr_t *attrp,
|
||||
@@ -1466,7 +1469,10 @@ DCL_POSIX_SPAWN (posix_spawn)
|
||||
|
||||
/*-------------------------------------------------------- posix_spawnp */
|
||||
static int
|
||||
-gprofng_posix_spawnp (int (real_posix_spawnp) (),
|
||||
+gprofng_posix_spawnp (int (real_posix_spawnp) (pid_t *, const char *,
|
||||
+ const posix_spawn_file_actions_t *,
|
||||
+ const posix_spawnattr_t *,
|
||||
+ char *const [], char *const []),
|
||||
pid_t *pidp, const char *path,
|
||||
const posix_spawn_file_actions_t *file_actions,
|
||||
const posix_spawnattr_t *attrp,
|
||||
@@ -1754,8 +1760,8 @@ __collector_clone (int (*fn)(void *), void *child_stack, int flags, void *arg,
|
||||
}
|
||||
|
||||
/*-------------------------------------------------------------------- setuid */
|
||||
-int setuid () __attribute__ ((weak, alias ("__collector_setuid")));
|
||||
-int _setuid () __attribute__ ((weak, alias ("__collector_setuid")));
|
||||
+int setuid (uid_t) __attribute__ ((weak, alias ("__collector_setuid")));
|
||||
+int _setuid (uid_t) __attribute__ ((weak, alias ("__collector_setuid")));
|
||||
|
||||
int
|
||||
__collector_setuid (uid_t ruid)
|
||||
@@ -1770,8 +1776,8 @@ __collector_setuid (uid_t ruid)
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------------- seteuid */
|
||||
-int seteuid () __attribute__ ((weak, alias ("__collector_seteuid")));
|
||||
-int _seteuid () __attribute__ ((weak, alias ("__collector_seteuid")));
|
||||
+int seteuid (uid_t) __attribute__ ((weak, alias ("__collector_seteuid")));
|
||||
+int _seteuid (uid_t) __attribute__ ((weak, alias ("__collector_seteuid")));
|
||||
|
||||
int
|
||||
__collector_seteuid (uid_t euid)
|
||||
@@ -1786,8 +1792,8 @@ __collector_seteuid (uid_t euid)
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------------ setreuid */
|
||||
-int setreuid () __attribute__ ((weak, alias ("__collector_setreuid")));
|
||||
-int _setreuid () __attribute__ ((weak, alias ("__collector_setreuid")));
|
||||
+int setreuid (uid_t, uid_t) __attribute__ ((weak, alias ("__collector_setreuid")));
|
||||
+int _setreuid (uid_t, uid_t) __attribute__ ((weak, alias ("__collector_setreuid")));
|
||||
|
||||
int
|
||||
__collector_setreuid (uid_t ruid, uid_t euid)
|
||||
@@ -1802,8 +1808,8 @@ __collector_setreuid (uid_t ruid, uid_t euid)
|
||||
}
|
||||
|
||||
/*-------------------------------------------------------------------- setgid */
|
||||
-int setgid () __attribute__ ((weak, alias ("__collector_setgid")));
|
||||
-int _setgid () __attribute__ ((weak, alias ("__collector_setgid")));
|
||||
+int setgid (gid_t) __attribute__ ((weak, alias ("__collector_setgid")));
|
||||
+int _setgid (gid_t) __attribute__ ((weak, alias ("__collector_setgid")));
|
||||
|
||||
int
|
||||
__collector_setgid (gid_t rgid)
|
||||
@@ -1818,8 +1824,8 @@ __collector_setgid (gid_t rgid)
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------------- setegid */
|
||||
-int setegid () __attribute__ ((weak, alias ("__collector_setegid")));
|
||||
-int _setegid () __attribute__ ((weak, alias ("__collector_setegid")));
|
||||
+int setegid (gid_t) __attribute__ ((weak, alias ("__collector_setegid")));
|
||||
+int _setegid (gid_t) __attribute__ ((weak, alias ("__collector_setegid")));
|
||||
|
||||
int
|
||||
__collector_setegid (gid_t egid)
|
||||
@@ -1834,8 +1840,8 @@ __collector_setegid (gid_t egid)
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------------ setregid */
|
||||
-int setregid () __attribute__ ((weak, alias ("__collector_setregid")));
|
||||
-int _setregid () __attribute__ ((weak, alias ("__collector_setregid")));
|
||||
+int setregid (gid_t, gid_t) __attribute__ ((weak, alias ("__collector_setregid")));
|
||||
+int _setregid (gid_t, gid_t) __attribute__ ((weak, alias ("__collector_setregid")));
|
||||
|
||||
int
|
||||
__collector_setregid (gid_t rgid, gid_t egid)
|
||||
diff --git a/gprofng/src/BaseMetricTreeNode.h b/gprofng/src/BaseMetricTreeNode.h
|
||||
index d73d244e27e..7698f9c6eaf 100644
|
||||
--- a/gprofng/src/BaseMetricTreeNode.h
|
||||
+++ b/gprofng/src/BaseMetricTreeNode.h
|
||||
@@ -85,7 +85,6 @@ private:
|
||||
|
||||
BaseMetricTreeNode *root; // root of tree
|
||||
BaseMetricTreeNode *parent; // my parent
|
||||
- bool aggregation; // value is based on children's values
|
||||
char *name; // bm->get_cmd() for metrics, unique string otherwise
|
||||
char *uname; // user-visible text
|
||||
char *unit; // see UNIT_* defines
|
||||
diff --git a/gprofng/src/Dbe.cc b/gprofng/src/Dbe.cc
|
||||
index 91a5aa5ef05..bcbf4694565 100644
|
||||
--- a/gprofng/src/Dbe.cc
|
||||
+++ b/gprofng/src/Dbe.cc
|
||||
@@ -9594,14 +9594,12 @@ dbeGetTLDataRepVals (VMode view_mode, hrtime_t start_ts, hrtime_t delta,
|
||||
}
|
||||
if (sampleVals != NULL)
|
||||
{
|
||||
- Sample* sample = (Sample*) packets->getObjValue (PROP_SMPLOBJ, packetIdx);
|
||||
- if (!sample || !sample->get_usage ())
|
||||
- sample = sample;
|
||||
- else
|
||||
+ Sample *sample = (Sample*) packets->getObjValue (PROP_SMPLOBJ, packetIdx);
|
||||
+ if (sample != NULL)
|
||||
{
|
||||
- PrUsage* prusage = sample->get_usage ();
|
||||
- Vector<long long> *mstateVals = prusage->getMstateValues ();
|
||||
- sampleVals->store (eventIdx, mstateVals);
|
||||
+ PrUsage *prusage = sample->get_usage ();
|
||||
+ if (prusage != NULL)
|
||||
+ sampleVals->store (eventIdx, prusage->getMstateValues ());
|
||||
}
|
||||
}
|
||||
}
|
||||
diff --git a/gprofng/src/DbeSession.cc b/gprofng/src/DbeSession.cc
|
||||
index 20329091167..5d6bab75638 100644
|
||||
--- a/gprofng/src/DbeSession.cc
|
||||
+++ b/gprofng/src/DbeSession.cc
|
||||
@@ -1162,8 +1162,6 @@ DbeSession::open_experiment (Experiment *exp, char *path)
|
||||
closedir (exp_dir);
|
||||
exp_names->sort (dir_name_cmp);
|
||||
Experiment **t_exp_list = new Experiment *[exp_names->size ()];
|
||||
- int nsubexps = 0;
|
||||
-
|
||||
for (int j = 0, jsz = exp_names->size (); j < jsz; j++)
|
||||
{
|
||||
t_exp_list[j] = NULL;
|
||||
@@ -1220,7 +1218,6 @@ DbeSession::open_experiment (Experiment *exp, char *path)
|
||||
dexp->open (dpath);
|
||||
append (dexp);
|
||||
t_exp_list[j] = dexp;
|
||||
- nsubexps++;
|
||||
dexp->set_clock (exp->clock);
|
||||
|
||||
// DbeView add_experiment() is split into two parts
|
||||
diff --git a/gprofng/src/Disasm.cc b/gprofng/src/Disasm.cc
|
||||
index 1396e4fb072..d78212cee39 100644
|
||||
--- a/gprofng/src/Disasm.cc
|
||||
+++ b/gprofng/src/Disasm.cc
|
||||
@@ -49,7 +49,6 @@ struct DisContext
|
||||
};
|
||||
|
||||
static const int MAX_DISASM_STR = 2048;
|
||||
-static const int MAX_INSTR_SIZE = 8;
|
||||
|
||||
Disasm::Disasm (char *fname)
|
||||
{
|
||||
diff --git a/gprofng/src/Experiment.cc b/gprofng/src/Experiment.cc
|
||||
index 02a24ebc40d..a31550aff66 100644
|
||||
--- a/gprofng/src/Experiment.cc
|
||||
+++ b/gprofng/src/Experiment.cc
|
||||
@@ -1935,8 +1935,6 @@ private:
|
||||
}
|
||||
|
||||
Experiment *exp;
|
||||
- char *hostname;
|
||||
- hrtime_t time, tstamp;
|
||||
};
|
||||
|
||||
void
|
||||
diff --git a/gprofng/src/HashMap.h b/gprofng/src/HashMap.h
|
||||
index 918c0dc95f9..c5fdd345ba8 100644
|
||||
--- a/gprofng/src/HashMap.h
|
||||
+++ b/gprofng/src/HashMap.h
|
||||
@@ -78,9 +78,8 @@ copy_key (uint64_t a)
|
||||
}
|
||||
|
||||
template<> inline void
|
||||
-delete_key (uint64_t a)
|
||||
+delete_key (uint64_t)
|
||||
{
|
||||
- a = a;
|
||||
}
|
||||
|
||||
template<> inline int
|
||||
diff --git a/gprofng/src/IOActivity.h b/gprofng/src/IOActivity.h
|
||||
index cf462cf8d55..f3a22ada6b1 100644
|
||||
--- a/gprofng/src/IOActivity.h
|
||||
+++ b/gprofng/src/IOActivity.h
|
||||
@@ -78,7 +78,6 @@ private:
|
||||
Hist_data *hist_data_file_all;
|
||||
Hist_data *hist_data_vfd_all;
|
||||
Hist_data *hist_data_callstack_all;
|
||||
- Hist_data *hist_data_callstack;
|
||||
|
||||
DbeView *dbev;
|
||||
};
|
||||
diff --git a/gprofng/src/collctrl.cc b/gprofng/src/collctrl.cc
|
||||
index ebf888c5a20..b0ed66efcdc 100644
|
||||
--- a/gprofng/src/collctrl.cc
|
||||
+++ b/gprofng/src/collctrl.cc
|
||||
@@ -952,9 +952,7 @@ Coll_Ctrl::set_clkprof (const char *string, char** warn)
|
||||
double dval = strtod (string, &endchar);
|
||||
if (*endchar == 'm' || *endchar == 0) /* user specified milliseconds */
|
||||
dval = dval * 1000.;
|
||||
- else if (*endchar == 'u') /* user specified microseconds */
|
||||
- dval = dval;
|
||||
- else
|
||||
+ else if (*endchar != 'u')
|
||||
return dbe_sprintf (GTXT ("Unrecognized clock-profiling interval `%s'\n"), string);
|
||||
nclkprof_timer = (int) (dval + 0.5);
|
||||
}
|
||||
@@ -2901,7 +2899,7 @@ Coll_Ctrl::get (char * control)
|
||||
}
|
||||
if (!strncmp (control, ipc_str_javaprof, len))
|
||||
{
|
||||
- if ((java_mode == 0))
|
||||
+ if (java_mode == 0)
|
||||
return strdup (ipc_str_off);
|
||||
return strdup (ipc_str_on);
|
||||
}
|
||||
@@ -2917,7 +2915,7 @@ Coll_Ctrl::get (char * control)
|
||||
}
|
||||
if (!strncmp (control, ipc_str_sample_sig, len))
|
||||
{
|
||||
- if ((sample_sig == 0))
|
||||
+ if (sample_sig == 0)
|
||||
return strdup (ipc_str_off);
|
||||
char *str_signal = find_signal_name (sample_sig);
|
||||
if (str_signal != NULL)
|
||||
@@ -2951,15 +2949,15 @@ Coll_Ctrl::get (char * control)
|
||||
}
|
||||
if (!strncmp (control, ipc_str_iotrace, len))
|
||||
{
|
||||
- if ((iotrace_enabled == 0))
|
||||
+ if (iotrace_enabled == 0)
|
||||
return strdup (ipc_str_off);
|
||||
return strdup (ipc_str_on);
|
||||
}
|
||||
if (!strncmp (control, ipc_str_count, len))
|
||||
{
|
||||
- if ((count_enabled == 0))
|
||||
+ if (count_enabled == 0)
|
||||
return strdup (ipc_str_off);
|
||||
- if ((count_enabled < 0))
|
||||
+ if (count_enabled < 0)
|
||||
return strdup ("on\nstatic");
|
||||
return strdup (ipc_str_on);
|
||||
}
|
||||
diff --git a/gprofng/src/collector_module.h b/gprofng/src/collector_module.h
|
||||
index bb48eadb9f8..ebcdbca561f 100644
|
||||
--- a/gprofng/src/collector_module.h
|
||||
+++ b/gprofng/src/collector_module.h
|
||||
@@ -40,12 +40,12 @@ struct tm;
|
||||
* If you add any, please put it in the right place */
|
||||
typedef struct CollectorUtilFuncs
|
||||
{
|
||||
- int (*access)();
|
||||
+ int (*access)(const char *, int);
|
||||
int (*atoi)(const char *nptr);
|
||||
void *(*calloc)(size_t nelem, size_t elsize);
|
||||
int (*clearenv)(void);
|
||||
int (*close)(int);
|
||||
- int (*closedir)();
|
||||
+ int (*closedir)(DIR *);
|
||||
int (*execv)(const char *path, char *const argv[]);
|
||||
void (*exit)(int status);
|
||||
int (*fclose)(FILE *stream);
|
||||
@@ -66,20 +66,20 @@ typedef struct CollectorUtilFuncs
|
||||
off_t (*lseek)(int fd, off_t offset, int whence);
|
||||
void *(*malloc)(size_t size);
|
||||
void *(*memset)(void *s1, int c, size_t n);
|
||||
- int (*mkdir)();
|
||||
+ int (*mkdir)(const char *, mode_t);
|
||||
time_t (*mktime)(struct tm *timeptr);
|
||||
void *(*mmap)(void *, size_t, int, int, int, off_t);
|
||||
- void *(*mmap64_)();
|
||||
- int (*munmap)();
|
||||
+ void *(*mmap64_)(void *, size_t, int, int, int, off_t);
|
||||
+ int (*munmap)(void *, size_t);
|
||||
int (*open)(const char *, int, ...);
|
||||
int (*open_bare)(const char *, int, ...);
|
||||
- DIR *(*opendir)();
|
||||
+ DIR *(*opendir)(const char *);
|
||||
int (*pclose)(FILE *stream);
|
||||
FILE *(*popen)(const char *command, const char *mode);
|
||||
int (*putenv)(char *string);
|
||||
- ssize_t (*pwrite)();
|
||||
- ssize_t (*pwrite64_)();
|
||||
- ssize_t (*read)();
|
||||
+ ssize_t (*pwrite)(int, const void *, size_t, off_t);
|
||||
+ ssize_t (*pwrite64_)(int, const void *, size_t, off_t);
|
||||
+ ssize_t (*read)(int, void *, size_t);
|
||||
int (*setenv)(const char *name, const char *value, int overwrite);
|
||||
int (*sigfillset)(sigset_t *set);
|
||||
int (*sigprocmask)(int how, const sigset_t *set, sigset_t *oldset);
|
||||
@@ -112,7 +112,7 @@ typedef struct CollectorUtilFuncs
|
||||
int (*unsetenv)(const char *name);
|
||||
int (*vsnprintf)(char *str, size_t size, const char *format, va_list ap);
|
||||
pid_t (*waitpid)(pid_t pid, int *stat_loc, int options);
|
||||
- ssize_t (*write)();
|
||||
+ ssize_t (*write)(int, void *, size_t);
|
||||
double (*atof)();
|
||||
void *n_a;
|
||||
} CollectorUtilFuncs;
|
||||
diff --git a/gprofng/src/gp-display-src.cc b/gprofng/src/gp-display-src.cc
|
||||
index 200e6080d2e..24af375edf1 100644
|
||||
--- a/gprofng/src/gp-display-src.cc
|
||||
+++ b/gprofng/src/gp-display-src.cc
|
||||
@@ -75,14 +75,6 @@ private:
|
||||
bool v_opt;
|
||||
int multiple;
|
||||
char *str_compcom;
|
||||
- bool hex_visible;
|
||||
- int src_visible;
|
||||
- int vis_src;
|
||||
- int vis_dis;
|
||||
- int threshold_src;
|
||||
- int threshold_dis;
|
||||
- int threshold;
|
||||
- int vis_bits;
|
||||
};
|
||||
|
||||
static int
|
||||
diff --git a/gprofng/src/gp-print.h b/gprofng/src/gp-print.h
|
||||
index 1b748ea60a3..1a8ad3b6c13 100644
|
||||
--- a/gprofng/src/gp-print.h
|
||||
+++ b/gprofng/src/gp-print.h
|
||||
@@ -19,7 +19,7 @@
|
||||
MA 02110-1301, USA. */
|
||||
|
||||
#ifndef _GP_PRINT_H
|
||||
-#define _ER_PRINT_H
|
||||
+#define _GP_PRINT_H
|
||||
|
||||
#include "Command.h"
|
||||
#include "DbeApplication.h"
|
||||
diff --git a/gprofng/src/util.cc b/gprofng/src/util.cc
|
||||
index 201f7088b66..228140b61ae 100644
|
||||
--- a/gprofng/src/util.cc
|
||||
+++ b/gprofng/src/util.cc
|
||||
@@ -741,17 +741,13 @@ get_relative_link (const char *path_from, const char *path_to)
|
||||
s2 = canonical_path (s2);
|
||||
long l = dbe_sstrlen (s1);
|
||||
// try to find common directories
|
||||
- int common_slashes = 0;
|
||||
int last_common_slash = -1;
|
||||
for (int i = 0; i < l; i++)
|
||||
{
|
||||
- if (s1[i] != s2[i]) break;
|
||||
- if (s1[i] == 0) break;
|
||||
+ if (s1[i] != s2[i] || s1[i] == 0)
|
||||
+ break;
|
||||
if (s1[i] == '/')
|
||||
- {
|
||||
- common_slashes++;
|
||||
- last_common_slash = i;
|
||||
- }
|
||||
+ last_common_slash = i;
|
||||
}
|
||||
// find slashes in remaining path_to
|
||||
int slashes = 0;
|
||||
--
|
||||
2.50.1
|
||||
|
||||
@@ -1,619 +0,0 @@
|
||||
From 2e59be3bc9dad69af4f62d26107b6ace23e9998a Mon Sep 17 00:00:00 2001
|
||||
From: Sam James <sam@gentoo.org>
|
||||
Date: Sat, 16 Nov 2024 05:13:48 +0000
|
||||
Subject: [PATCH] gprofng: fix -std=gnu23 compatibility wrt unprototyped
|
||||
functions
|
||||
|
||||
C23 removes support for unprototyped functions. Fix function pointer types
|
||||
accordingly.
|
||||
|
||||
This does not fix all instances, there's a few left as I commented on in
|
||||
PR32374 (e.g. setitimer which I have a local workaround for but it involves
|
||||
a glibc implementation detail; the Linaro precommit CI tester pointed that
|
||||
out too, so dropped that).
|
||||
|
||||
ChangeLog:
|
||||
PR gprofng/32374
|
||||
|
||||
* libcollector/collector.c (collector_sample): Fix prototype.
|
||||
* libcollector/envmgmt.c (putenv): Ditto.
|
||||
(_putenv): Ditto.
|
||||
(__collector_putenv): Ditto.
|
||||
(setenv): Ditto.
|
||||
(_setenv): Ditto.
|
||||
(__collector_setenv): Ditto.
|
||||
(unsetenv): Ditto.
|
||||
(_unsetenv): Ditto.
|
||||
(__collector_unsetenv): Ditto.
|
||||
* libcollector/jprofile.c (open_experiment): Ditto.
|
||||
(__collector_jprofile_enable_synctrace): Ditto.
|
||||
(jprof_find_asyncgetcalltrace): Ditto.
|
||||
* libcollector/libcol_util.c (__collector_util_init): Ditto.
|
||||
(ARCH): Ditto.
|
||||
* libcollector/mmaptrace.c (collector_func_load): Ditto.
|
||||
(collector_func_unload): Ditto.
|
||||
* libcollector/unwind.c (__collector_ext_unwind_init): Ditto.
|
||||
* src/collector_module.h: Ditto.
|
||||
|
||||
Upstream: a2f774427e078f3da2c06bdea25f77a61979a695
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
gprofng/libcollector/collector.c | 2 +-
|
||||
gprofng/libcollector/dispatcher.c | 1 -
|
||||
gprofng/libcollector/envmgmt.c | 24 ++++-----
|
||||
gprofng/libcollector/jprofile.c | 10 ++--
|
||||
gprofng/libcollector/libcol_util.c | 84 +++++++++++++++---------------
|
||||
gprofng/libcollector/mmaptrace.c | 4 +-
|
||||
gprofng/libcollector/unwind.c | 2 +-
|
||||
gprofng/src/collector_module.h | 2 +-
|
||||
8 files changed, 64 insertions(+), 65 deletions(-)
|
||||
|
||||
diff --git a/gprofng/libcollector/collector.c b/gprofng/libcollector/collector.c
|
||||
index ef580dcbdd9..899f08a5381 100644
|
||||
--- a/gprofng/libcollector/collector.c
|
||||
+++ b/gprofng/libcollector/collector.c
|
||||
@@ -1579,7 +1579,7 @@ __collector_resume_experiment ()
|
||||
}
|
||||
|
||||
/* Code to support Samples and Pause/Resume */
|
||||
-void collector_sample () __attribute__ ((weak, alias ("__collector_sample")));
|
||||
+void collector_sample (char *name) __attribute__ ((weak, alias ("__collector_sample")));
|
||||
void
|
||||
__collector_sample (char *name)
|
||||
{
|
||||
diff --git a/gprofng/libcollector/dispatcher.c b/gprofng/libcollector/dispatcher.c
|
||||
index 867753a22ec..5ee0bf895bf 100644
|
||||
--- a/gprofng/libcollector/dispatcher.c
|
||||
+++ b/gprofng/libcollector/dispatcher.c
|
||||
@@ -1282,4 +1282,3 @@ __collector_ext_clone_pthread (int (*fn)(void *), void *child_stack, int flags,
|
||||
int sigprocmask (int, const sigset_t*, sigset_t*) __attribute__ ((weak, alias ("__collector_sigprocmask")));
|
||||
int thr_sigsetmask (int, const sigset_t*, sigset_t*) __attribute__ ((weak, alias ("__collector_thr_sigsetmask")));
|
||||
int setitimer () __attribute__ ((weak, alias ("_setitimer")));
|
||||
-
|
||||
diff --git a/gprofng/libcollector/envmgmt.c b/gprofng/libcollector/envmgmt.c
|
||||
index ebe08f82007..0ff7621070d 100644
|
||||
--- a/gprofng/libcollector/envmgmt.c
|
||||
+++ b/gprofng/libcollector/envmgmt.c
|
||||
@@ -692,8 +692,8 @@ __collector_env_update (char *envp[])
|
||||
|
||||
|
||||
/*------------------------------------------------------------- putenv */
|
||||
-int putenv () __attribute__ ((weak, alias ("__collector_putenv")));
|
||||
-int _putenv () __attribute__ ((weak, alias ("__collector_putenv")));
|
||||
+int putenv (char*) __attribute__ ((weak, alias ("__collector_putenv")));
|
||||
+int _putenv (char*) __attribute__ ((weak, alias ("__collector_putenv")));
|
||||
|
||||
int
|
||||
__collector_putenv (char * string)
|
||||
@@ -701,9 +701,9 @@ __collector_putenv (char * string)
|
||||
if (CALL_UTIL (putenv) == __collector_putenv ||
|
||||
CALL_UTIL (putenv) == NULL)
|
||||
{ // __collector_libc_funcs_init failed
|
||||
- CALL_UTIL (putenv) = (int(*)())dlsym (RTLD_NEXT, "putenv");
|
||||
+ CALL_UTIL (putenv) = (int(*)(char*))dlsym (RTLD_NEXT, "putenv");
|
||||
if (CALL_UTIL (putenv) == NULL || CALL_UTIL (putenv) == __collector_putenv)
|
||||
- CALL_UTIL (putenv) = (int(*)())dlsym (RTLD_DEFAULT, "putenv");
|
||||
+ CALL_UTIL (putenv) = (int(*)(char*))dlsym (RTLD_DEFAULT, "putenv");
|
||||
if (CALL_UTIL (putenv) == NULL || CALL_UTIL (putenv) == __collector_putenv)
|
||||
{
|
||||
TprintfT (DBG_LT2, "__collector_putenv(): ERROR: no pointer found.\n");
|
||||
@@ -719,8 +719,8 @@ __collector_putenv (char * string)
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------- setenv */
|
||||
-int setenv () __attribute__ ((weak, alias ("__collector_setenv")));
|
||||
-int _setenv () __attribute__ ((weak, alias ("__collector_setenv")));
|
||||
+int setenv (const char*, const char*, int) __attribute__ ((weak, alias ("__collector_setenv")));
|
||||
+int _setenv (const char*, const char*, int) __attribute__ ((weak, alias ("__collector_setenv")));
|
||||
|
||||
int
|
||||
__collector_setenv (const char *name, const char *value, int overwrite)
|
||||
@@ -728,9 +728,9 @@ __collector_setenv (const char *name, const char *value, int overwrite)
|
||||
if (CALL_UTIL (setenv) == __collector_setenv ||
|
||||
CALL_UTIL (setenv) == NULL)
|
||||
{ // __collector_libc_funcs_init failed
|
||||
- CALL_UTIL (setenv) = (int(*)())dlsym (RTLD_NEXT, "setenv");
|
||||
+ CALL_UTIL (setenv) = (int(*)(const char*, const char*, int))dlsym (RTLD_NEXT, "setenv");
|
||||
if (CALL_UTIL (setenv) == NULL || CALL_UTIL (setenv) == __collector_setenv)
|
||||
- CALL_UTIL (setenv) = (int(*)())dlsym (RTLD_DEFAULT, "setenv");
|
||||
+ CALL_UTIL (setenv) = (int(*)(const char*, const char*, int))dlsym (RTLD_DEFAULT, "setenv");
|
||||
if (CALL_UTIL (setenv) == NULL || CALL_UTIL (setenv) == __collector_setenv)
|
||||
{
|
||||
TprintfT (DBG_LT2, "__collector_setenv(): ERROR: no pointer found.\n");
|
||||
@@ -765,8 +765,8 @@ __collector_setenv (const char *name, const char *value, int overwrite)
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------- unsetenv */
|
||||
-int unsetenv () __attribute__ ((weak, alias ("__collector_unsetenv")));
|
||||
-int _unsetenv () __attribute__ ((weak, alias ("__collector_unsetenv")));
|
||||
+int unsetenv (const char*) __attribute__ ((weak, alias ("__collector_unsetenv")));
|
||||
+int _unsetenv (const char*) __attribute__ ((weak, alias ("__collector_unsetenv")));
|
||||
|
||||
int
|
||||
__collector_unsetenv (const char *name)
|
||||
@@ -774,9 +774,9 @@ __collector_unsetenv (const char *name)
|
||||
if (CALL_UTIL (unsetenv) == __collector_unsetenv ||
|
||||
CALL_UTIL (unsetenv) == NULL)
|
||||
{ // __collector_libc_funcs_init failed
|
||||
- CALL_UTIL (unsetenv) = (int(*)())dlsym (RTLD_NEXT, "unsetenv");
|
||||
+ CALL_UTIL (unsetenv) = (int(*)(const char*))dlsym (RTLD_NEXT, "unsetenv");
|
||||
if (CALL_UTIL (unsetenv) == NULL || CALL_UTIL (unsetenv) == __collector_unsetenv)
|
||||
- CALL_UTIL (unsetenv) = (int(*)())dlsym (RTLD_DEFAULT, "unsetenv");
|
||||
+ CALL_UTIL (unsetenv) = (int(*)(const char*))dlsym (RTLD_DEFAULT, "unsetenv");
|
||||
if (CALL_UTIL (unsetenv) == NULL || CALL_UTIL (unsetenv) == __collector_unsetenv)
|
||||
{
|
||||
TprintfT (DBG_LT2, "__collector_unsetenv(): ERROR: no pointer found.\n");
|
||||
diff --git a/gprofng/libcollector/jprofile.c b/gprofng/libcollector/jprofile.c
|
||||
index 1bacacc1a2a..11051f937ef 100644
|
||||
--- a/gprofng/libcollector/jprofile.c
|
||||
+++ b/gprofng/libcollector/jprofile.c
|
||||
@@ -105,8 +105,8 @@ static void rwrite (int fd, const void *buf, size_t nbyte);
|
||||
static void addToDynamicArchive (const char* name, const unsigned char* class_data, int class_data_len);
|
||||
static void (*AsyncGetCallTrace)(JVMPI_CallTrace*, jint, ucontext_t*) = NULL;
|
||||
static void (*collector_heap_record)(int, int, void*) = NULL;
|
||||
-static void (*collector_jsync_begin)() = NULL;
|
||||
-static void (*collector_jsync_end)(hrtime_t, void *) = NULL;
|
||||
+static void (*collector_jsync_begin)(void) = NULL;
|
||||
+static void (*collector_jsync_end)(hrtime_t, void*) = NULL;
|
||||
|
||||
#define gethrtime collector_interface->getHiResTime
|
||||
|
||||
@@ -230,7 +230,7 @@ open_experiment (const char *exp)
|
||||
else if (__collector_strStartWith (args, "s:") == 0)
|
||||
{
|
||||
java_sync_mode = 1;
|
||||
- collector_jsync_begin = (void(*)(hrtime_t, void *))dlsym (RTLD_DEFAULT, "__collector_jsync_begin");
|
||||
+ collector_jsync_begin = (void(*)(void))dlsym (RTLD_DEFAULT, "__collector_jsync_begin");
|
||||
collector_jsync_end = (void(*)(hrtime_t, void *))dlsym (RTLD_DEFAULT, "__collector_jsync_end");
|
||||
}
|
||||
#endif
|
||||
@@ -255,7 +255,7 @@ __collector_jprofile_enable_synctrace ()
|
||||
return;
|
||||
}
|
||||
java_sync_mode = 1;
|
||||
- collector_jsync_begin = (void(*)(hrtime_t, void *))dlsym (RTLD_DEFAULT, "__collector_jsync_begin");
|
||||
+ collector_jsync_begin = (void(*)(void))dlsym (RTLD_DEFAULT, "__collector_jsync_begin");
|
||||
collector_jsync_end = (void(*)(hrtime_t, void *))dlsym (RTLD_DEFAULT, "__collector_jsync_end");
|
||||
TprintfT (DBG_LT1, "jprofile: turning on Java synctrace, and requesting events\n");
|
||||
}
|
||||
@@ -1129,7 +1129,7 @@ jprof_find_asyncgetcalltrace ()
|
||||
{
|
||||
void *jvmhandle;
|
||||
if (__collector_VM_ReadByteInstruction == NULL)
|
||||
- __collector_VM_ReadByteInstruction = (int(*)()) dlsym (RTLD_DEFAULT, "Async_VM_ReadByteInstruction");
|
||||
+ __collector_VM_ReadByteInstruction = (int(*)(unsigned char*)) dlsym (RTLD_DEFAULT, "Async_VM_ReadByteInstruction");
|
||||
|
||||
/* look for stack unwind function using default path */
|
||||
AsyncGetCallTrace = (void (*)(JVMPI_CallTrace*, jint, ucontext_t*))
|
||||
diff --git a/gprofng/libcollector/libcol_util.c b/gprofng/libcollector/libcol_util.c
|
||||
index c2b82894e6b..688bdf19c6d 100644
|
||||
--- a/gprofng/libcollector/libcol_util.c
|
||||
+++ b/gprofng/libcollector/libcol_util.c
|
||||
@@ -1114,7 +1114,7 @@ __collector_util_init ()
|
||||
|
||||
ptr = dlsym (libc, "munmap");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.munmap = (int(*)())ptr;
|
||||
+ __collector_util_funcs.munmap = (int(*)(void *, size_t))ptr;
|
||||
else
|
||||
{
|
||||
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT munmap: %s\n", dlerror ());
|
||||
@@ -1123,7 +1123,7 @@ __collector_util_init ()
|
||||
|
||||
ptr = dlsym (libc, "close");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.close = (int(*)())ptr;
|
||||
+ __collector_util_funcs.close = (int(*)(int))ptr;
|
||||
else
|
||||
{
|
||||
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT close: %s\n", dlerror ());
|
||||
@@ -1158,7 +1158,7 @@ __collector_util_init ()
|
||||
|
||||
ptr = dlsym (libc, "close");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.close = (int(*)())ptr;
|
||||
+ __collector_util_funcs.close = (int(*)(int))ptr;
|
||||
else
|
||||
{
|
||||
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT close: %s\n", dlerror ());
|
||||
@@ -1167,7 +1167,7 @@ __collector_util_init ()
|
||||
|
||||
ptr = dlsym (libc, "read");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.read = (ssize_t (*)())ptr;
|
||||
+ __collector_util_funcs.read = (ssize_t (*)(int, void*, size_t))ptr;
|
||||
else
|
||||
{
|
||||
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT read: %s\n", dlerror ());
|
||||
@@ -1176,7 +1176,7 @@ __collector_util_init ()
|
||||
|
||||
ptr = dlsym (libc, "write");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.write = (ssize_t (*)())ptr;
|
||||
+ __collector_util_funcs.write = (ssize_t (*)(int, void*, size_t))ptr;
|
||||
else
|
||||
{
|
||||
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT write: %s\n", dlerror ());
|
||||
@@ -1186,14 +1186,14 @@ __collector_util_init ()
|
||||
#if ARCH(Intel) && WSIZE(32)
|
||||
ptr = dlvsym (libc, "pwrite", "GLIBC_2.2"); // it is in /lib/libpthread.so.0
|
||||
if (ptr)
|
||||
- __collector_util_funcs.pwrite = (ssize_t (*)())ptr;
|
||||
+ __collector_util_funcs.pwrite = (ssize_t (*)(int, void*, size_t, off_t))ptr;
|
||||
else
|
||||
{
|
||||
Tprintf (DBG_LT0, "libcol_util: WARNING: dlvsym for %s@%s failed. Using dlsym() instead.", "pwrite", "GLIBC_2.2");
|
||||
#endif /* ARCH(Intel) && WSIZE(32) */
|
||||
ptr = dlsym (libc, "pwrite");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.pwrite = (ssize_t (*)())ptr;
|
||||
+ __collector_util_funcs.pwrite = (ssize_t (*)(int, const void*, size_t, off_t))ptr;
|
||||
else
|
||||
{
|
||||
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT pwrite: %s\n", dlerror ());
|
||||
@@ -1213,7 +1213,7 @@ __collector_util_init ()
|
||||
#endif /* ARCH(Intel) && WSIZE(32) */
|
||||
ptr = dlsym (libc, "pwrite64");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.pwrite64_ = (ssize_t (*)())ptr;
|
||||
+ __collector_util_funcs.pwrite64_ = (ssize_t (*)(int, const void*, size_t, off_t))ptr;
|
||||
else
|
||||
__collector_util_funcs.pwrite64_ = __collector_util_funcs.pwrite;
|
||||
#if ARCH(Intel) && WSIZE(32)
|
||||
@@ -1222,7 +1222,7 @@ __collector_util_init ()
|
||||
|
||||
ptr = dlsym (libc, "lseek");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.lseek = (off_t (*)())ptr;
|
||||
+ __collector_util_funcs.lseek = (off_t (*)(int, off_t, int))ptr;
|
||||
else
|
||||
{
|
||||
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT lseek: %s\n", dlerror ());
|
||||
@@ -1231,7 +1231,7 @@ __collector_util_init ()
|
||||
|
||||
ptr = dlsym (libc, "access");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.access = (int(*)())ptr;
|
||||
+ __collector_util_funcs.access = (int(*)(const char*, int))ptr;
|
||||
else
|
||||
{
|
||||
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT access: %s\n", dlerror ());
|
||||
@@ -1240,7 +1240,7 @@ __collector_util_init ()
|
||||
|
||||
ptr = dlsym (libc, "mkdir");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.mkdir = (int(*)())ptr;
|
||||
+ __collector_util_funcs.mkdir = (int(*)(const char*, mode_t))ptr;
|
||||
else
|
||||
{
|
||||
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT mkdir: %s\n", dlerror ());
|
||||
@@ -1249,7 +1249,7 @@ __collector_util_init ()
|
||||
|
||||
ptr = dlsym (libc, "opendir");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.opendir = (DIR * (*)())ptr;
|
||||
+ __collector_util_funcs.opendir = (DIR * (*)(const char*))ptr;
|
||||
else
|
||||
{
|
||||
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT opendir: %s\n", dlerror ());
|
||||
@@ -1258,7 +1258,7 @@ __collector_util_init ()
|
||||
|
||||
ptr = dlsym (libc, "closedir");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.closedir = (int(*)())ptr;
|
||||
+ __collector_util_funcs.closedir = (int(*)(DIR*))ptr;
|
||||
else
|
||||
{
|
||||
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT closedir: %s\n", dlerror ());
|
||||
@@ -1267,7 +1267,7 @@ __collector_util_init ()
|
||||
|
||||
ptr = dlsym (libc, "execv");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.execv = (int(*)())ptr;
|
||||
+ __collector_util_funcs.execv = (int(*)(const char*, char* const*))ptr;
|
||||
else
|
||||
{
|
||||
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT execv: %s\n", dlerror ());
|
||||
@@ -1276,7 +1276,7 @@ __collector_util_init ()
|
||||
|
||||
ptr = dlsym (libc, "exit");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.exit = (void(*)())ptr;
|
||||
+ __collector_util_funcs.exit = (void(*)(int))ptr;
|
||||
else
|
||||
{
|
||||
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT exit: %s\n", dlerror ());
|
||||
@@ -1285,7 +1285,7 @@ __collector_util_init ()
|
||||
|
||||
ptr = dlsym (libc, "vfork");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.vfork = (pid_t (*)())ptr;
|
||||
+ __collector_util_funcs.vfork = (pid_t (*)(void))ptr;
|
||||
else
|
||||
{
|
||||
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT vfork: %s\n", dlerror ());
|
||||
@@ -1294,7 +1294,7 @@ __collector_util_init ()
|
||||
|
||||
ptr = dlsym (libc, "waitpid");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.waitpid = (pid_t (*)())ptr;
|
||||
+ __collector_util_funcs.waitpid = (pid_t (*)(pid_t, int*, int))ptr;
|
||||
else
|
||||
{
|
||||
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT waitpid: %s\n", dlerror ());
|
||||
@@ -1313,7 +1313,7 @@ __collector_util_init ()
|
||||
|
||||
ptr = dlsym (libc, "getcontext");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.getcontext = (int(*)())ptr;
|
||||
+ __collector_util_funcs.getcontext = (int(*)(ucontext_t*))ptr;
|
||||
else
|
||||
{
|
||||
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT getcontext: %s\n", dlerror ());
|
||||
@@ -1331,7 +1331,7 @@ __collector_util_init ()
|
||||
|
||||
ptr = dlsym (libc, "putenv");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.putenv = (int(*)())ptr;
|
||||
+ __collector_util_funcs.putenv = (int(*)(char*))ptr;
|
||||
else
|
||||
{
|
||||
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT putenv: %s\n", dlerror ());
|
||||
@@ -1340,7 +1340,7 @@ __collector_util_init ()
|
||||
|
||||
ptr = dlsym (libc, "getenv");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.getenv = (char*(*)())ptr;
|
||||
+ __collector_util_funcs.getenv = (char*(*)(const char*))ptr;
|
||||
else
|
||||
{
|
||||
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT getenv: %s\n", dlerror ());
|
||||
@@ -1349,7 +1349,7 @@ __collector_util_init ()
|
||||
|
||||
ptr = dlsym (libc, "time");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.time = (time_t (*)())ptr;
|
||||
+ __collector_util_funcs.time = (time_t (*)(time_t*))ptr;
|
||||
else
|
||||
{
|
||||
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT time: %s\n", dlerror ());
|
||||
@@ -1358,7 +1358,7 @@ __collector_util_init ()
|
||||
|
||||
ptr = dlsym (libc, "mktime");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.mktime = (time_t (*)())ptr;
|
||||
+ __collector_util_funcs.mktime = (time_t (*)(struct tm*))ptr;
|
||||
else
|
||||
{
|
||||
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT mktime: %s\n", dlerror ());
|
||||
@@ -1372,7 +1372,7 @@ __collector_util_init ()
|
||||
|
||||
ptr = dlsym (libc, "gmtime_r");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.gmtime_r = (struct tm * (*)())ptr;
|
||||
+ __collector_util_funcs.gmtime_r = (struct tm * (*)(const time_t*, struct tm*))ptr;
|
||||
else
|
||||
{
|
||||
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT gmtime_r: %s\n", dlerror ());
|
||||
@@ -1381,7 +1381,7 @@ __collector_util_init ()
|
||||
|
||||
ptr = dlsym (libc, "strtol");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.strtol = (long (*)())ptr;
|
||||
+ __collector_util_funcs.strtol = (long (*)(const char*, char**, int))ptr;
|
||||
else
|
||||
{
|
||||
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT strtol: %s\n", dlerror ());
|
||||
@@ -1390,7 +1390,7 @@ __collector_util_init ()
|
||||
|
||||
ptr = dlsym (libc, "strtoll");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.strtoll = (long long (*)())ptr;
|
||||
+ __collector_util_funcs.strtoll = (long long (*)(const char*, char**, int))ptr;
|
||||
else
|
||||
{
|
||||
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT strtoll: %s\n", dlerror ());
|
||||
@@ -1402,7 +1402,7 @@ __collector_util_init ()
|
||||
|
||||
ptr = dlsym (libc, "setenv");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.setenv = (int(*)())ptr;
|
||||
+ __collector_util_funcs.setenv = (int(*)(const char*, const char*, int))ptr;
|
||||
else
|
||||
{
|
||||
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT setenv: %s\n", dlerror ());
|
||||
@@ -1411,7 +1411,7 @@ __collector_util_init ()
|
||||
|
||||
ptr = dlsym (libc, "unsetenv");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.unsetenv = (int(*)())ptr;
|
||||
+ __collector_util_funcs.unsetenv = (int(*)(const char*))ptr;
|
||||
else
|
||||
{
|
||||
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT unsetenv: %s\n", dlerror ());
|
||||
@@ -1498,7 +1498,7 @@ __collector_util_init ()
|
||||
|
||||
ptr = dlsym (libc, "pclose");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.pclose = (int(*)())ptr;
|
||||
+ __collector_util_funcs.pclose = (int(*)(FILE*))ptr;
|
||||
else
|
||||
{
|
||||
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT pclose: %s\n", dlerror ());
|
||||
@@ -1507,7 +1507,7 @@ __collector_util_init ()
|
||||
|
||||
ptr = dlsym (libc, "fgets");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.fgets = (char*(*)())ptr;
|
||||
+ __collector_util_funcs.fgets = (char*(*)(char*, int, FILE*))ptr;
|
||||
else
|
||||
{
|
||||
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT fgets: %s\n", dlerror ());
|
||||
@@ -1534,7 +1534,7 @@ __collector_util_init ()
|
||||
|
||||
ptr = dlsym (libc, "vsnprintf");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.vsnprintf = (int(*)())ptr;
|
||||
+ __collector_util_funcs.vsnprintf = (int(*)(char*, size_t, const char*, ...))ptr;
|
||||
else
|
||||
{
|
||||
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT vsnprintf: %s\n", dlerror ());
|
||||
@@ -1543,7 +1543,7 @@ __collector_util_init ()
|
||||
|
||||
ptr = dlsym (libc, "atoi");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.atoi = (int(*)())ptr;
|
||||
+ __collector_util_funcs.atoi = (int(*)(const char*))ptr;
|
||||
else
|
||||
{
|
||||
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT atoi: %s\n", dlerror ());
|
||||
@@ -1552,7 +1552,7 @@ __collector_util_init ()
|
||||
|
||||
ptr = dlsym (libc, "calloc");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.calloc = (void*(*)())ptr;
|
||||
+ __collector_util_funcs.calloc = (void*(*)(size_t, size_t))ptr;
|
||||
else
|
||||
{
|
||||
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT calloc: %s\n", dlerror ());
|
||||
@@ -1562,7 +1562,7 @@ __collector_util_init ()
|
||||
ptr = dlsym (libc, "free");
|
||||
if (ptr)
|
||||
{
|
||||
- __collector_util_funcs.free = (void(*)())ptr;
|
||||
+ __collector_util_funcs.free = (void(*)(void*))ptr;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1572,7 +1572,7 @@ __collector_util_init ()
|
||||
|
||||
ptr = dlsym (libc, "strdup");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.libc_strdup = (char*(*)())ptr;
|
||||
+ __collector_util_funcs.libc_strdup = (char*(*)(const char*))ptr;
|
||||
else
|
||||
{
|
||||
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT strdup: %s\n", dlerror ());
|
||||
@@ -1585,7 +1585,7 @@ __collector_util_init ()
|
||||
|
||||
ptr = dlsym (libc, "strerror");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.strerror = (char*(*)())ptr;
|
||||
+ __collector_util_funcs.strerror = (char*(*)(int))ptr;
|
||||
else
|
||||
{
|
||||
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT strerror: %s\n", dlerror ());
|
||||
@@ -1593,7 +1593,7 @@ __collector_util_init ()
|
||||
}
|
||||
ptr = dlsym (libc, "strerror_r");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.strerror_r = (int(*)())ptr;
|
||||
+ __collector_util_funcs.strerror_r = (int(*)(int, char*, size_t))ptr;
|
||||
else
|
||||
{
|
||||
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT strerror_r: %s\n", dlerror ());
|
||||
@@ -1601,7 +1601,7 @@ __collector_util_init ()
|
||||
}
|
||||
ptr = dlsym (libc, "strspn");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.strspn = (size_t (*)())ptr;
|
||||
+ __collector_util_funcs.strspn = (size_t (*)(const char*, const char*))ptr;
|
||||
else
|
||||
{
|
||||
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT strspn: %s\n", dlerror ());
|
||||
@@ -1610,7 +1610,7 @@ __collector_util_init ()
|
||||
|
||||
ptr = dlsym (libc, "strtoul");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.strtoul = (unsigned long int(*)())ptr;
|
||||
+ __collector_util_funcs.strtoul = (unsigned long int(*)(const char*, char**, int))ptr;
|
||||
else
|
||||
{
|
||||
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT strtoul: %s\n", dlerror ());
|
||||
@@ -1619,7 +1619,7 @@ __collector_util_init ()
|
||||
|
||||
ptr = dlsym (libc, "strtoull");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.strtoull = (unsigned long long int(*)())ptr;
|
||||
+ __collector_util_funcs.strtoull = (unsigned long long int(*)(const char*, char**, int))ptr;
|
||||
else
|
||||
{
|
||||
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT strtoull: %s\n", dlerror ());
|
||||
@@ -1664,7 +1664,7 @@ __collector_util_init ()
|
||||
|
||||
ptr = dlsym (libc, "sysconf");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.sysconf = (long(*)())ptr;
|
||||
+ __collector_util_funcs.sysconf = (long(*)(int))ptr;
|
||||
else
|
||||
{
|
||||
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT sysconf: %s\n", dlerror ());
|
||||
@@ -1673,7 +1673,7 @@ __collector_util_init ()
|
||||
|
||||
ptr = dlsym (libc, "sigfillset");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.sigfillset = (int(*)())ptr;
|
||||
+ __collector_util_funcs.sigfillset = (int(*)(sigset_t*))ptr;
|
||||
else
|
||||
{
|
||||
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT sigfillset: %s\n", dlerror ());
|
||||
@@ -1682,7 +1682,7 @@ __collector_util_init ()
|
||||
|
||||
ptr = dlsym (libc, "sigprocmask");
|
||||
if (ptr)
|
||||
- __collector_util_funcs.sigprocmask = (int(*)())ptr;
|
||||
+ __collector_util_funcs.sigprocmask = (int(*)(int, const sigset_t*, sigset_t*))ptr;
|
||||
else
|
||||
{
|
||||
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT sigprocmask: %s\n", dlerror ());
|
||||
diff --git a/gprofng/libcollector/mmaptrace.c b/gprofng/libcollector/mmaptrace.c
|
||||
index f07f4d76513..2a6857ab58e 100644
|
||||
--- a/gprofng/libcollector/mmaptrace.c
|
||||
+++ b/gprofng/libcollector/mmaptrace.c
|
||||
@@ -1209,7 +1209,7 @@ process_vsyscall_page ()
|
||||
/*
|
||||
* collector API for dynamic functions
|
||||
*/
|
||||
-void collector_func_load () __attribute__ ((weak, alias ("__collector_func_load")));
|
||||
+void collector_func_load (char*, char*, char*, void*, int, int, DT_lineno *) __attribute__ ((weak, alias ("__collector_func_load")));
|
||||
void
|
||||
__collector_func_load (char *name, char *alias, char *sourcename,
|
||||
void *vaddr, int size, int lntsize, DT_lineno *lntable)
|
||||
@@ -1218,7 +1218,7 @@ __collector_func_load (char *name, char *alias, char *sourcename,
|
||||
vaddr, size, lntsize, lntable);
|
||||
}
|
||||
|
||||
-void collector_func_unload () __attribute__ ((weak, alias ("__collector_func_unload")));
|
||||
+void collector_func_unload (void *vaddr) __attribute__ ((weak, alias ("__collector_func_unload")));
|
||||
void
|
||||
__collector_func_unload (void *vaddr)
|
||||
{
|
||||
diff --git a/gprofng/libcollector/unwind.c b/gprofng/libcollector/unwind.c
|
||||
index 91678b1e334..cd47d4fbe0f 100644
|
||||
--- a/gprofng/libcollector/unwind.c
|
||||
+++ b/gprofng/libcollector/unwind.c
|
||||
@@ -416,7 +416,7 @@ __collector_ext_unwind_init (int record)
|
||||
omp_no_walk = 1;
|
||||
|
||||
if (__collector_VM_ReadByteInstruction == NULL)
|
||||
- __collector_VM_ReadByteInstruction = (int(*)()) dlsym (RTLD_DEFAULT, "Async_VM_ReadByteInstruction");
|
||||
+ __collector_VM_ReadByteInstruction = (int(*)(unsigned char*)) dlsym (RTLD_DEFAULT, "Async_VM_ReadByteInstruction");
|
||||
|
||||
#if ARCH(SPARC)
|
||||
#if WSIZE(64)
|
||||
diff --git a/gprofng/src/collector_module.h b/gprofng/src/collector_module.h
|
||||
index ebcdbca561f..fd888cd58dd 100644
|
||||
--- a/gprofng/src/collector_module.h
|
||||
+++ b/gprofng/src/collector_module.h
|
||||
@@ -110,7 +110,7 @@ typedef struct CollectorUtilFuncs
|
||||
long (*sysinfo)(int command, char *buf, long count);
|
||||
time_t (*time)(time_t *tloc);
|
||||
int (*unsetenv)(const char *name);
|
||||
- int (*vsnprintf)(char *str, size_t size, const char *format, va_list ap);
|
||||
+ int (*vsnprintf)(char *str, size_t size, const char *format, ...);
|
||||
pid_t (*waitpid)(pid_t pid, int *stat_loc, int options);
|
||||
ssize_t (*write)(int, void *, size_t);
|
||||
double (*atof)();
|
||||
--
|
||||
2.50.1
|
||||
|
||||
@@ -1,199 +0,0 @@
|
||||
From e91e1fd342c9ded87f53bc7e9e8d5d693b9a570a Mon Sep 17 00:00:00 2001
|
||||
From: Vladimir Mezentsev <vladimir.mezentsev@oracle.com>
|
||||
Date: Thu, 21 Nov 2024 14:48:20 -0800
|
||||
Subject: [PATCH] gprofng: fix build with -std=gnu23
|
||||
|
||||
Fix function pointer types accordingly.
|
||||
Remove unused function pointers.
|
||||
|
||||
gprofng/ChangeLog
|
||||
2024-11-21 Vladimir Mezentsev <vladimir.mezentsev@oracle.com>
|
||||
|
||||
PR gprofng/32374
|
||||
PR gprofng/32373
|
||||
* common/cpuid.c: Define ATTRIBUTE_UNUSED if necessary.
|
||||
* libcollector/libcol_util.c (sysinfo): Remove unused pointer.
|
||||
* src/collector_module.h: Likewise.
|
||||
* libcollector/dispatcher.c (setitimer): Fix prototype.
|
||||
* libcollector/linetrace.c (system, grantpt, ptsname): Likewise.
|
||||
* testsuite/gprofng.display/mttest/mttest.c (dump_arrays): Likewise.
|
||||
* testsuite/gprofng.display/synprog/endcases.c (xinline_code,
|
||||
s_inline_code): Likewise.
|
||||
* testsuite/gprofng.display/synprog/inc_inline.h (ext_inline_code):
|
||||
Likewise.
|
||||
* testsuite/gprofng.display/synprog/synprog.c (doabort): Rename nullptr.
|
||||
|
||||
Upstream: 4e943705e3e8a5a9448d087502bcb390a694ad02
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
gprofng/common/cpuid.c | 2 ++
|
||||
gprofng/libcollector/dispatcher.c | 2 +-
|
||||
gprofng/libcollector/libcol_util.c | 9 ---------
|
||||
gprofng/libcollector/linetrace.c | 10 +++++-----
|
||||
gprofng/src/collector_module.h | 1 -
|
||||
gprofng/testsuite/gprofng.display/mttest/mttest.c | 2 +-
|
||||
gprofng/testsuite/gprofng.display/synprog/endcases.c | 4 ++--
|
||||
gprofng/testsuite/gprofng.display/synprog/inc_inline.h | 2 +-
|
||||
gprofng/testsuite/gprofng.display/synprog/synprog.c | 4 ++--
|
||||
9 files changed, 14 insertions(+), 22 deletions(-)
|
||||
|
||||
diff --git a/gprofng/common/cpuid.c b/gprofng/common/cpuid.c
|
||||
index af15439eb27..0373969693b 100644
|
||||
--- a/gprofng/common/cpuid.c
|
||||
+++ b/gprofng/common/cpuid.c
|
||||
@@ -21,7 +21,9 @@
|
||||
#if defined(__i386__) || defined(__x86_64)
|
||||
#include <cpuid.h> /* GCC-provided */
|
||||
#elif defined(__aarch64__)
|
||||
+#if !defined(ATTRIBUTE_UNUSED)
|
||||
#define ATTRIBUTE_UNUSED __attribute__((unused))
|
||||
+#endif
|
||||
|
||||
static inline uint_t __attribute_const__
|
||||
__get_cpuid (unsigned int op ATTRIBUTE_UNUSED, unsigned int *eax,
|
||||
diff --git a/gprofng/libcollector/dispatcher.c b/gprofng/libcollector/dispatcher.c
|
||||
index 5ee0bf895bf..e85c343c776 100644
|
||||
--- a/gprofng/libcollector/dispatcher.c
|
||||
+++ b/gprofng/libcollector/dispatcher.c
|
||||
@@ -1281,4 +1281,4 @@ __collector_ext_clone_pthread (int (*fn)(void *), void *child_stack, int flags,
|
||||
// weak symbols:
|
||||
int sigprocmask (int, const sigset_t*, sigset_t*) __attribute__ ((weak, alias ("__collector_sigprocmask")));
|
||||
int thr_sigsetmask (int, const sigset_t*, sigset_t*) __attribute__ ((weak, alias ("__collector_thr_sigsetmask")));
|
||||
-int setitimer () __attribute__ ((weak, alias ("_setitimer")));
|
||||
+__typeof(setitimer) setitimer __attribute__ ((weak, alias ("_setitimer")));
|
||||
diff --git a/gprofng/libcollector/libcol_util.c b/gprofng/libcollector/libcol_util.c
|
||||
index 688bdf19c6d..46f8b80ccb4 100644
|
||||
--- a/gprofng/libcollector/libcol_util.c
|
||||
+++ b/gprofng/libcollector/libcol_util.c
|
||||
@@ -1427,15 +1427,6 @@ __collector_util_init ()
|
||||
err = COL_ERROR_UTIL_INIT;
|
||||
}
|
||||
|
||||
- ptr = dlsym (libc, "sysinfo");
|
||||
- if (ptr)
|
||||
- __collector_util_funcs.sysinfo = (long (*)())ptr;
|
||||
- else
|
||||
- {
|
||||
- CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT sysinfo: %s\n", dlerror ());
|
||||
- err = COL_ERROR_UTIL_INIT;
|
||||
- }
|
||||
-
|
||||
ptr = dlsym (libc, "clearenv");
|
||||
if (ptr)
|
||||
__collector_util_funcs.clearenv = (int(*)())ptr;
|
||||
diff --git a/gprofng/libcollector/linetrace.c b/gprofng/libcollector/linetrace.c
|
||||
index 66844bc1337..c81ae1a2272 100644
|
||||
--- a/gprofng/libcollector/linetrace.c
|
||||
+++ b/gprofng/libcollector/linetrace.c
|
||||
@@ -1527,7 +1527,7 @@ DCL_FUNC_VER (DCL_POSIX_SPAWNP, posix_spawnp_2_2, posix_spawnp@GLIBC_2.2)
|
||||
DCL_POSIX_SPAWNP (posix_spawnp)
|
||||
|
||||
/*------------------------------------------------------------- system */
|
||||
-int system () __attribute__ ((weak, alias ("__collector_system")));
|
||||
+int system (const char *cmd) __attribute__ ((weak, alias ("__collector_system")));
|
||||
|
||||
int
|
||||
__collector_system (const char *cmd)
|
||||
@@ -1582,10 +1582,10 @@ DCL_FUNC_VER (DCL_POPEN, popen_2_0, popen@GLIBC_2.0)
|
||||
DCL_POPEN (popen)
|
||||
|
||||
/*------------------------------------------------------------- grantpt */
|
||||
-int grantpt () __attribute__ ((weak, alias ("__collector_grantpt")));
|
||||
+int grantpt (int fildes) __attribute__ ((weak, alias ("__collector_grantpt")));
|
||||
|
||||
int
|
||||
-__collector_grantpt (const int fildes)
|
||||
+__collector_grantpt (int fildes)
|
||||
{
|
||||
if (NULL_PTR (grantpt))
|
||||
init_lineage_intf ();
|
||||
@@ -1607,10 +1607,10 @@ __collector_grantpt (const int fildes)
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------- ptsname */
|
||||
-char *ptsname () __attribute__ ((weak, alias ("__collector_ptsname")));
|
||||
+char *ptsname (int fildes) __attribute__ ((weak, alias ("__collector_ptsname")));
|
||||
|
||||
char *
|
||||
-__collector_ptsname (const int fildes)
|
||||
+__collector_ptsname (int fildes)
|
||||
{
|
||||
if (NULL_PTR (ptsname))
|
||||
init_lineage_intf ();
|
||||
diff --git a/gprofng/src/collector_module.h b/gprofng/src/collector_module.h
|
||||
index fd888cd58dd..6640f12fa3c 100644
|
||||
--- a/gprofng/src/collector_module.h
|
||||
+++ b/gprofng/src/collector_module.h
|
||||
@@ -107,7 +107,6 @@ typedef struct CollectorUtilFuncs
|
||||
int (*symlink)(const char *s1, const char *s2);
|
||||
int (*syscall)(int number, ...);
|
||||
long (*sysconf)(int name);
|
||||
- long (*sysinfo)(int command, char *buf, long count);
|
||||
time_t (*time)(time_t *tloc);
|
||||
int (*unsetenv)(const char *name);
|
||||
int (*vsnprintf)(char *str, size_t size, const char *format, ...);
|
||||
diff --git a/gprofng/testsuite/gprofng.display/mttest/mttest.c b/gprofng/testsuite/gprofng.display/mttest/mttest.c
|
||||
index e0835c833e5..3db5b8d8e86 100644
|
||||
--- a/gprofng/testsuite/gprofng.display/mttest/mttest.c
|
||||
+++ b/gprofng/testsuite/gprofng.display/mttest/mttest.c
|
||||
@@ -171,7 +171,7 @@ void computeJ (workStruct_t *x);
|
||||
void computeK (workStruct_t *x);
|
||||
void addone (workCtr_t *x);
|
||||
void init_arrays (int strat);
|
||||
-void dump_arrays ();
|
||||
+void dump_arrays (hrtime_t real, hrtime_t cpu, int case_index);
|
||||
void *do_work (void *v);
|
||||
void thread_work ();
|
||||
void nothreads (Workblk *array, struct scripttab *k);
|
||||
diff --git a/gprofng/testsuite/gprofng.display/synprog/endcases.c b/gprofng/testsuite/gprofng.display/synprog/endcases.c
|
||||
index a6a1389658a..6f1c83b6859 100644
|
||||
--- a/gprofng/testsuite/gprofng.display/synprog/endcases.c
|
||||
+++ b/gprofng/testsuite/gprofng.display/synprog/endcases.c
|
||||
@@ -40,8 +40,8 @@ static void s_inline_code (int);
|
||||
void ext_inline_code (int);
|
||||
|
||||
#ifndef NO_INLINE
|
||||
-void xinline_code () __attribute__ ((always_inline));
|
||||
-void s_inline_code () __attribute__ ((always_inline));
|
||||
+void xinline_code (int) __attribute__ ((always_inline));
|
||||
+void s_inline_code (int) __attribute__ ((always_inline));
|
||||
#endif
|
||||
|
||||
#include "inc_inline.h"
|
||||
diff --git a/gprofng/testsuite/gprofng.display/synprog/inc_inline.h b/gprofng/testsuite/gprofng.display/synprog/inc_inline.h
|
||||
index da42563c828..6600eacb66d 100644
|
||||
--- a/gprofng/testsuite/gprofng.display/synprog/inc_inline.h
|
||||
+++ b/gprofng/testsuite/gprofng.display/synprog/inc_inline.h
|
||||
@@ -19,7 +19,7 @@
|
||||
MA 02110-1301, USA. */
|
||||
|
||||
#ifndef NO_INLINE
|
||||
-void ext_inline_code() __attribute__ ((always_inline));
|
||||
+void ext_inline_code(int) __attribute__ ((always_inline));
|
||||
#endif
|
||||
|
||||
void
|
||||
diff --git a/gprofng/testsuite/gprofng.display/synprog/synprog.c b/gprofng/testsuite/gprofng.display/synprog/synprog.c
|
||||
index cf1bc5b0909..05920dc7419 100644
|
||||
--- a/gprofng/testsuite/gprofng.display/synprog/synprog.c
|
||||
+++ b/gprofng/testsuite/gprofng.display/synprog/synprog.c
|
||||
@@ -528,14 +528,14 @@ reapchildren ()
|
||||
int
|
||||
doabort (int k)
|
||||
{
|
||||
- char *nullptr = NULL;
|
||||
+ char *p = NULL;
|
||||
char c;
|
||||
|
||||
/* Log the event */
|
||||
wlog ("start of doabort", NULL);
|
||||
|
||||
/* and dereference a NULL */
|
||||
- c = *nullptr;
|
||||
+ c = *p;
|
||||
|
||||
/* this should never be reached */
|
||||
return (int) c;
|
||||
--
|
||||
2.50.1
|
||||
|
||||
@@ -16,9 +16,6 @@ config BR2_BINUTILS_VERSION_ARC
|
||||
bool "binutils arc (2.43)"
|
||||
depends on BR2_arc
|
||||
|
||||
config BR2_BINUTILS_VERSION_2_42_X
|
||||
bool "binutils 2.42"
|
||||
|
||||
config BR2_BINUTILS_VERSION_2_43_X
|
||||
bool "binutils 2.43.1"
|
||||
|
||||
@@ -33,7 +30,6 @@ endchoice
|
||||
config BR2_BINUTILS_VERSION
|
||||
string
|
||||
default "arc-2024.12-release" if BR2_BINUTILS_VERSION_ARC
|
||||
default "2.42" if BR2_BINUTILS_VERSION_2_42_X
|
||||
default "2.43.1" if BR2_BINUTILS_VERSION_2_43_X
|
||||
default "2.44" if BR2_BINUTILS_VERSION_2_44_X
|
||||
default "2.45.1" if BR2_BINUTILS_VERSION_2_45_X
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
# From https://gcc.gnu.org/pub/binutils/releases/sha512.sum
|
||||
sha512 155f3ba14cd220102f4f29a4f1e5cfee3c48aa03b74603460d05afb73c70d6657a9d87eee6eb88bf13203fe6f31177a5c9addc04384e956e7da8069c8ecd20a6 binutils-2.42.tar.xz
|
||||
sha512 20977ad17729141a2c26d358628f44a0944b84dcfefdec2ba029c2d02f40dfc41cc91c0631044560d2bd6f9a51e1f15846b4b311befbe14f1239f14ff7d57824 binutils-2.43.1.tar.xz
|
||||
sha512 b85d3bbc0e334cf67a96219d3c7c65fbf3e832b2c98a7417bf131f3645a0307057ec81cd2b29ff2563cec53e3d42f73e2c60cc5708e80d4a730efdcc6ae14ad7 binutils-2.44.tar.xz
|
||||
sha512 ea030419eba387579ab717be7e3223fc99e93b586860b06003c12489f93441640d4082736f76aa5e98233db4f46e232f536a45e471486de1f5b64e1b827c167e binutils-2.45.1.tar.xz
|
||||
|
||||
Reference in New Issue
Block a user