• R/O
  • HTTP
  • SSH
  • HTTPS

提交

標籤
無標籤

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

GNU Binutils with patches for OS216


Commit MetaInfo

修訂b5b62006522c6d8d42028754bb1be165f00fe210 (tree)
時間2018-01-12 22:12:17
作者Gunther Nikl <gnikl@user...>
CommiterNick Clifton

Log Message

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.

Change Summary

差異

--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,9 @@
1+2018-01-12 Gunther Nikl <gnikl@users.sourceforge.net>
2+
3+ * gas/config/aout_gnu.h (USE_EXTENDED_RELOC): Explicitly
4+ define to 0 and 1. Remove a dangling reference to "AMD 29000"
5+ in a comment.
6+
17 2018-01-11 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
28
39 * testsuite/i386/avx512_4fmaps_vl-warn.l: Likewise.
--- a/gas/config/aout_gnu.h
+++ b/gas/config/aout_gnu.h
@@ -32,8 +32,6 @@
3232
3333 */
3434
35-#define USE_EXTENDED_RELOC defined(TC_SPARC)
36-
3735 #if defined(TC_SPARC)
3836 enum reloc_type
3937 {
@@ -62,6 +60,9 @@ enum reloc_type
6260 NO_RELOC
6361 };
6462
63+#define USE_EXTENDED_RELOC 1
64+#else
65+#define USE_EXTENDED_RELOC 0
6566 #endif /* TC_SPARC */
6667
6768 #define __GNU_EXEC_MACROS__
@@ -303,7 +304,7 @@ struct nlist
303304
304305 /* The following enum and struct were borrowed from SunOS's
305306 /usr/include/sun4/a.out.h and extended to handle
306- other machines. It is currently used on SPARC and AMD 29000.
307+ other machines. It is currently used on SPARC.
307308
308309 reloc_ext_bytes is how it looks on disk. reloc_info_extended is
309310 how we might process it on a native host. */