aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGunther Nikl <gnikl@users.sourceforge.net>2018-01-12 13:12:17 +0000
committerNick Clifton <nickc@redhat.com>2018-01-12 13:12:17 +0000
commitb5b62006522c6d8d42028754bb1be165f00fe210 (patch)
tree09f40f43d8fdc20264a7313a4ce0f6cb0195bc5c
parent5ae5d3fd10c4bb520d767b25c59bf86db764adef (diff)
downloadfsf-binutils-gdb-b5b62006522c6d8d42028754bb1be165f00fe210.zip
fsf-binutils-gdb-b5b62006522c6d8d42028754bb1be165f00fe210.tar.gz
fsf-binutils-gdb-b5b62006522c6d8d42028754bb1be165f00fe210.tar.bz2
Fix compile time warning building aout targeted architectures.
Occasionally I build an out-of-tree a.out target (m68k-amigaos). After a system upgrade which included a newer compiler (clang 4) the build produces warnings like this: warning: macro expansion producing 'defined' has undefined behavior [-Wexpansion-to-defined] This is caused by the macro gas/config/aout_gnu.h:USE_EXTENDED_RELOC. Since it is in a header file, the warning triggers for several files. I am unsure what solution is preferable, thus I am suggesting two patches: a) keep the offending macro but define it explicitly to 0 and 1 b) replace the macro usage with its value where it is used. Either patch removes the warning for clang. I did not check with a recent GCC. * gas/config/aout_gnu.h (USE_EXTENDED_RELOC): Explicitly define to 0 and 1. Remove a dangling reference to "AMD 29000" in a comment.
-rw-r--r--gas/ChangeLog6
-rw-r--r--gas/config/aout_gnu.h7
2 files changed, 10 insertions, 3 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 0b45805..5887b36 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,9 @@
+2018-01-12 Gunther Nikl <gnikl@users.sourceforge.net>
+
+ * gas/config/aout_gnu.h (USE_EXTENDED_RELOC): Explicitly
+ define to 0 and 1. Remove a dangling reference to "AMD 29000"
+ in a comment.
+
2018-01-11 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
* testsuite/i386/avx512_4fmaps_vl-warn.l: Likewise.
diff --git a/gas/config/aout_gnu.h b/gas/config/aout_gnu.h
index 6d80d5d..f404d1e 100644
--- a/gas/config/aout_gnu.h
+++ b/gas/config/aout_gnu.h
@@ -32,8 +32,6 @@
*/
-#define USE_EXTENDED_RELOC defined(TC_SPARC)
-
#if defined(TC_SPARC)
enum reloc_type
{
@@ -62,6 +60,9 @@ enum reloc_type
NO_RELOC
};
+#define USE_EXTENDED_RELOC 1
+#else
+#define USE_EXTENDED_RELOC 0
#endif /* TC_SPARC */
#define __GNU_EXEC_MACROS__
@@ -303,7 +304,7 @@ struct nlist
/* The following enum and struct were borrowed from SunOS's
/usr/include/sun4/a.out.h and extended to handle
- other machines. It is currently used on SPARC and AMD 29000.
+ other machines. It is currently used on SPARC.
reloc_ext_bytes is how it looks on disk. reloc_info_extended is
how we might process it on a native host. */