[PATCH] gas: make [248]byte directives available everywhere

Mike Frysinger vapier@gentoo.org
Thu Jan 14 03:28:13 GMT 2021


These aren't specific to ELF at all, and seem generally useful.
So pull them out of the ELF backend and into the common core.
---
 gas/ChangeLog        | 7 +++++++
 gas/config/obj-elf.c | 4 ----
 gas/doc/as.texi      | 7 -------
 gas/read.c           | 3 +++
 4 files changed, 10 insertions(+), 11 deletions(-)

diff --git a/gas/ChangeLog b/gas/ChangeLog
index bad8473bf669..3cd48d8ff307 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,10 @@
+2021-01-13  Mike Frysinger  <vapier@gentoo.org>
+
+	* doc/as.texi: Delete @ifset ELF wrapping around [248]byte entries.
+	Delete warning that these are only available with ELF targets.
+	* obj-elf.c (elf_pseudo_table): Move 2byte/4byte/8byte entries ...
+	* read.c (potable): ... here.
+
 2021-01-13  H.J. Lu  <hongjiu.lu@intel.com>
 
 	PR gas/27178
diff --git a/gas/config/obj-elf.c b/gas/config/obj-elf.c
index 6c0a6ae9ee21..f52dc69f0c37 100644
--- a/gas/config/obj-elf.c
+++ b/gas/config/obj-elf.c
@@ -121,10 +121,6 @@ static const pseudo_typeS elf_pseudo_table[] =
   /* A GNU extension for object attributes.  */
   {"gnu_attribute", obj_elf_gnu_attribute, 0},
 
-  /* These are used for dwarf.  */
-  {"2byte", cons, 2},
-  {"4byte", cons, 4},
-  {"8byte", cons, 8},
   /* These are used for dwarf2.  */
   { "file", dwarf2_directive_file, 0 },
   { "loc",  dwarf2_directive_loc,  0 },
diff --git a/gas/doc/as.texi b/gas/doc/as.texi
index cf3597f89831..e0559cf0f1dc 100644
--- a/gas/doc/as.texi
+++ b/gas/doc/as.texi
@@ -4537,11 +4537,9 @@ Some machine configurations provide additional directives.
 @ifclear no-space-dir
 * Zero::                        @code{.zero @var{size}}
 @end ifclear
-@ifset ELF
 * 2byte::                       @code{.2byte @var{expressions}}
 * 4byte::                       @code{.4byte @var{expressions}}
 * 8byte::                       @code{.8byte @var{bignums}}
-@end ifset
 * Deprecated::                  Deprecated Directives
 @end menu
 
@@ -7505,7 +7503,6 @@ so it can take an optional second argument of the value to store in the bytes
 instead of zero.  Using @samp{.zero} in this way would be confusing however.
 @end ifclear
 
-@ifset ELF
 @node 2byte
 @section @code{.2byte @var{expression} [, @var{expression}]*}
 @cindex @code{2byte} directive
@@ -7525,8 +7522,6 @@ This directive does not apply any alignment before or after inserting the
 values.  As a result of this, if relocations are generated, they may be
 different from those used for inserting values with a guaranteed alignment.
 
-This directive is only available for ELF targets,
-
 @node 4byte
 @section @code{.4byte @var{expression} [, @var{expression}]*}
 @cindex @code{4byte} directive
@@ -7545,8 +7540,6 @@ long values into the output.
 Like the @option{.2byte} directive, except that it inserts unaligned, eight
 byte long bignum values into the output.
 
-@end ifset
-
 @node Deprecated
 @section Deprecated Directives
 
diff --git a/gas/read.c b/gas/read.c
index be6e3e03d458..06ca7fbb95f7 100644
--- a/gas/read.c
+++ b/gas/read.c
@@ -530,6 +530,9 @@ static const pseudo_typeS potable[] = {
   {"weakref", s_weakref, 0},
   {"word", cons, 2},
   {"zero", s_space, 0},
+  {"2byte", cons, 2},
+  {"4byte", cons, 4},
+  {"8byte", cons, 8},
   {NULL, NULL, 0}			/* End sentinel.  */
 };
 
-- 
2.28.0



More information about the Binutils mailing list