- Fix SLE-11 build. Gdb 9.1 requires make 3.82, but SLE-11 has make 3.81: * gdbserver-fix-build-with-make-3.81.patch - Fix patch context: * gdb-fix-the-thread-pool.c-compilation.patch - Fix build error due to missing DIAGNOSTIC_IGNORE_UNUSED_FUNCTION. * gdb-fix-the-thread-pool.c-compilation.patch - Drop ChangeLog part of patch: * gdb-fix-unused-function-error.patch - Fix Werror=unused-function with gcc 4.8 (for Leap 42.3). * gdb-fix-unused-function-error.patch - Require %{suse_version} >= 1500 for --with-system-readline. - Rebase to 9.1 release (as in fedora 32 @ 1735910). * Breakpoints on nested functions and subroutines in Fortran. * Multithreaded symbol loading, disabled by default. Enable using 'maint set worker-threads unlimited'. * Multi-target debugging support. * New command pipe. * New command set logging debugredirect [on|off]. * New fortran commands info modules, info module functions, info module variables. - Fedora-specific patches dropped: * gdb-libexec-add-index.patch * gdb-6.3-rh-testversion-20041202.patch * gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch - Obsoleted fedora patches dropped: * gdb-6.5-bz216711-clone-is-outermost.patch * gdb-6.6-scheduler_locking-step-is-default.patch * gdb-6.8-bz436037-reg-no-longer-active.patch * gdb-bz541866-rwatch-before-run.patch * gdb-bz568248-oom-is-error.patch * gdb-follow-child-stale-parent.patch * gdb-readline62-ask-more-rh.patch * gdb-rhbz1371380-gcore-elf-headers.patch * gdb-rhbz1553086-binutils-warning-loadable-section-outside-elf.patch * gdb-rhbz1704406-disable-style-log-output-1of3.patch * gdb-rhbz1704406-disable-style-log-output-2of3.patch * gdb-rhbz1704406-disable-style-log-output-3of3.patch * gdb-rhbz1708192-parse_macro_definition-crash.patch * gdb-rhbz1723564-gdb-crash-PYTHONMALLOC-debug.patch * gdb-rhbz795424-bitpos-20of25.patch * gdb-rhbz795424-bitpos-21of25.patch * gdb-rhbz795424-bitpos-22of25.patch * gdb-rhbz795424-bitpos-23of25.patch * gdb-rhbz795424-bitpos-25of25-test.patch * gdb-rhbz795424-bitpos-25of25.patch * gdb-rhbz795424-bitpos-arrayview.patch * gdb-rhbz795424-bitpos-lazyvalue.patch * gdb-testsuite-readline63-sigint.patch - Fedora patches added: * gdb-rhbz1818011-bfd-gcc10-error.patch - Obsoleted patched dropped: * gdb-fix-s390-build.diff * gdb-fix-riscv-tdep.patch * gdb-testsuite-add-missing-initial-prompt-read-in-multidictionary.exp.patch * gdb-testsuite-pie-no-pie.patch * gdb-testsuite-read1-fixes.patch * gdb-testsuite-i386-pkru-exp.patch * gdb-s390-handle-arch13.diff * gdb-fix-heap-use-after-free-in-typename-concat.patch * gdb-dwarf-reader-reject-sections-with-invalid-sizes.patch * gdb-0001-remove-alloca-0-calls.patch * gdb-arch13-1.diff * gdb-arch13-2.diff * gdb-arch13-3.diff * bfd-change-num_group-to-unsigned-int.patch * gdb-fix-incorrect-use-of-is-operator-for-comparison-in-python-lib-gdb-command-prompt.py.patch * gdb-symtab-prefer-var-def-over-decl.patch * gdb-only-force-interp_console-ui_out-for-breakpoint-commands-in-mi-mode.patch * gdb-testsuite-8.3-kfail-xfail-unsupported.patch - Backport from master: * gdb-fix-debug-agent-odr-bool-int.patch * gdb-fix-python3.9-related-runtime-problems.patch OBS-URL: https://build.opensuse.org/request/show/822281 OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gdb?expand=0&rev=251
124 lines
3.9 KiB
Diff
124 lines
3.9 KiB
Diff
Fix unused function error
|
||
|
||
Attempting to build GDB in Ubuntu 16.04.6 LTS on x86_64, I ran into warnings
|
||
that caused the build to fail:
|
||
|
||
binutils-gdb/gdb/gdbsupport/safe-strerror.c:44:1: error: ‘char* select_strerror_r(char*, char*)’ defined but not used [-Werror=unused-function] select_strerror_r (char *res, char *)
|
||
|
||
The diagnostic macro DIAGNOSTIC_IGNORE_UNUSED_FUNCTION seems to expand
|
||
correctly to its respective pragma, but this doesn't seem to have an effect on
|
||
the warning. I tried to use the pragma explicitly and got the same result.
|
||
|
||
ATTRIBUTE_UNUSED works fine in this case if you put it in both functions,
|
||
which should fix warnings for both gdb and gdbserver builds.
|
||
|
||
The compiler version is gcc (Ubuntu 5.4.0-6ubuntu1~16.04.11) 5.4.0 20160609.
|
||
|
||
This is likely the result of PR64079 in GCC, which was fixed by commit
|
||
9e96f1e1b9731c4e1ef4fbbbf0997319973f0537.
|
||
|
||
To prevent other developers from attempting to use this macro, only to get
|
||
confused by it not working as expected, it seems better to not define this
|
||
particular macro.
|
||
|
||
gdb/ChangeLog:
|
||
|
||
2019-12-12 Luis Machado <luis.machado@linaro.org>
|
||
|
||
* gdbsupport/safe-strerror.c: Don't include diagnostics.h.
|
||
(select_strerror_r): Use ATTRIBUTE_UNUSED instead of the diagnostics
|
||
macros.
|
||
|
||
include/ChangeLog:
|
||
|
||
2019-12-12 Luis Machado <luis.machado@linaro.org>
|
||
|
||
* diagnostics.h (DIAGNOSTIC_IGNORE_UNUSED_FUNCTION). Remove
|
||
definitions.
|
||
|
||
Change-Id: Iad6123d61d76d111e3ef8d24aa8c60112304c749
|
||
|
||
---
|
||
gdb/ChangeLog | 6 ++++++
|
||
gdb/gdbsupport/safe-strerror.c | 12 ++----------
|
||
include/ChangeLog | 5 +++++
|
||
include/diagnostics.h | 9 ---------
|
||
4 files changed, 13 insertions(+), 19 deletions(-)
|
||
|
||
diff --git a/gdb/gdbsupport/safe-strerror.c b/gdb/gdbsupport/safe-strerror.c
|
||
index 9973fa6785..a5ddf74835 100644
|
||
--- a/gdb/gdbsupport/safe-strerror.c
|
||
+++ b/gdb/gdbsupport/safe-strerror.c
|
||
@@ -18,7 +18,6 @@
|
||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||
|
||
#include "common-defs.h"
|
||
-#include "diagnostics.h"
|
||
#include <string.h>
|
||
|
||
/* There are two different versions of strerror_r; one is GNU-specific, the
|
||
@@ -27,27 +26,20 @@
|
||
to solve this for us because IPA does not use Gnulib but uses this
|
||
function. */
|
||
|
||
-/* We only ever use one of the two overloads, so suppress the warning for
|
||
- an unused function. */
|
||
-DIAGNOSTIC_PUSH
|
||
-DIAGNOSTIC_IGNORE_UNUSED_FUNCTION
|
||
-
|
||
/* Called if we have a XSI-compliant strerror_r. */
|
||
-static char *
|
||
+ATTRIBUTE_UNUSED static char *
|
||
select_strerror_r (int res, char *buf)
|
||
{
|
||
return res == 0 ? buf : nullptr;
|
||
}
|
||
|
||
/* Called if we have a GNU strerror_r. */
|
||
-static char *
|
||
+ATTRIBUTE_UNUSED static char *
|
||
select_strerror_r (char *res, char *)
|
||
{
|
||
return res;
|
||
}
|
||
|
||
-DIAGNOSTIC_POP
|
||
-
|
||
/* Implementation of safe_strerror as defined in common-utils.h. */
|
||
|
||
const char *
|
||
diff --git a/include/diagnostics.h b/include/diagnostics.h
|
||
index 2adaa4d3a0..019ade2567 100644
|
||
--- a/include/diagnostics.h
|
||
+++ b/include/diagnostics.h
|
||
@@ -53,8 +53,6 @@
|
||
DIAGNOSTIC_IGNORE ("-Wdeprecated-declarations")
|
||
# define DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER \
|
||
DIAGNOSTIC_IGNORE ("-Wdeprecated-register")
|
||
-# define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION \
|
||
- DIAGNOSTIC_IGNORE ("-Wunused-function")
|
||
# if __has_warning ("-Wenum-compare-switch")
|
||
# define DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES \
|
||
DIAGNOSTIC_IGNORE ("-Wenum-compare-switch")
|
||
@@ -65,9 +63,6 @@
|
||
|
||
#elif defined (__GNUC__) /* GCC */
|
||
|
||
-# define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION \
|
||
- DIAGNOSTIC_IGNORE ("-Wunused-function")
|
||
-
|
||
# define DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION \
|
||
DIAGNOSTIC_IGNORE ("-Wstringop-truncation")
|
||
|
||
@@ -88,10 +83,6 @@
|
||
# define DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER
|
||
#endif
|
||
|
||
-#ifndef DIAGNOSTIC_IGNORE_UNUSED_FUNCTION
|
||
-# define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION
|
||
-#endif
|
||
-
|
||
#ifndef DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES
|
||
# define DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES
|
||
#endif
|