Go to file
Hau Hsu 90840a8656 RISC-V: Add -march=help for gas
Use -march=help for gas to print all supported extensions and versions.

Here is part of the output of `as -march=help`:
All available -march extensions for RISC-V:
        e                                       1.9
        i                                       2.1, 2.0
        m                                       2.0
        a                                       2.1, 2.0
        f                                       2.2, 2.0
        d                                       2.2, 2.0
        q                                       2.2, 2.0
        c                                       2.0
        v                                       1.0
        h                                       1.0
        zicbom                                  1.0
        zicbop                                  1.0
        ...

This patch assumes that the supported extensions with the same versions
are listed together. For example:
static struct riscv_supported_ext riscv_supported_std_ext[] =
{
  ...
  {"i",         ISA_SPEC_CLASS_20191213,        2, 1, 0 },
  {"i",         ISA_SPEC_CLASS_20190608,        2, 1, 0 },
  {"i",         ISA_SPEC_CLASS_2P2,             2, 0, 0 },
  ...
};

For the "i" extension, 2.1.0 with different spec class are listed together.
This patch records the previous printed extension and version.  If the
current extension and version are the same as the previous one, skip
printing.

bfd/
	* elfxx-riscv.c (riscv_print_extensions): New function.  Print
	available extensions and versions.
	* elfxx-riscv.h (riscv_print_extensions): New declaration.
gas/
	* gas/config/tc-riscv.c (md_parse_option): Parse 'help' keyword in
	-march option to print available extensions and versions.
	* testsuite/gas/riscv/march-help.l: New testcase for -march=help.
	* testsuite/gas/riscv/riscv.exp: Updated.
2024-03-13 13:47:34 +08:00
bfd RISC-V: Add -march=help for gas 2024-03-13 13:47:34 +08:00
binutils tests: force non-deterministic mode in non-deterministic tests 2024-03-11 08:21:47 +01:00
config libiberty: Disable hwcaps for sha1.o 2023-11-30 10:14:30 +01:00
contrib contrib: sync dg-extract-results.sh with GCC 2024-03-12 15:49:25 +00:00
cpu PR21739, Inconsistent diagnostics 2024-02-29 21:07:04 +10:30
elfcpp x86-64: Add R_X86_64_CODE_6_GOTTPOFF 2024-02-08 03:45:43 -08:00
etc Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
gas RISC-V: Add -march=help for gas 2024-03-13 13:47:34 +08:00
gdb [gdb/tdep] Fix gdb.base/watch-bitfields.exp on aarch64 2024-03-12 17:08:18 +01:00
gdbserver gdb/arm: Remove tpidruro register from non-FreeBSD target descriptions 2024-02-29 12:27:27 -03:00
gdbsupport Rewrite final cleanups 2024-02-27 10:30:29 -07:00
gnulib gnulib: re-generate build files 2024-03-11 22:42:56 -04:00
gold x86-64: Add R_X86_64_CODE_6_GOTTPOFF 2024-02-08 03:45:43 -08:00
gprof Updated translations for various sub-directories 2024-01-18 11:23:48 +00:00
gprofng gprofng: change use of bignum to use of bigint 2024-02-28 16:32:29 -08:00
include RISC-V: Support Zabha extension. 2024-03-08 10:04:25 +08:00
ld LoongArch: Fix gas and ld test cases 2024-03-12 17:37:12 +08:00
libbacktrace Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
libctf libctf: fix uninitialized variables in testsuite 2024-03-11 17:16:12 +00:00
libdecnumber regen config 2023-08-12 10:27:57 +09:30
libiberty Import gcc commit 65388b28656d65595bdaf191df85af81c35ca63 which adds support for explicit object member function mangling. 2024-01-17 12:06:48 +00:00
libsframe libsframe: Fix calloc argument order in dump_sframe_header 2024-01-22 18:19:03 +01:00
opcodes RISC-V: Support Zabha extension. 2024-03-08 10:04:25 +08:00
readline [readline] Fix double free in _rl_scxt_dispose 2023-05-28 10:17:57 +02:00
sim sim: no rule to make sim/ppc/Makefile.in 2024-02-24 11:52:10 +10:30
texinfo
zlib regen config 2023-08-12 10:27:57 +09:30
.cvsignore
.editorconfig Add top-level .editorconfig file 2022-01-28 08:25:42 -05:00
.gitattributes binutils-gdb/git: highlight whitespace errors in source files 2022-07-25 14:35:41 +01:00
.gitignore Finalized intl-update patches 2023-11-15 12:53:04 +00:00
ar-lib
ChangeLog Add markers for 2.42 branch 2024-01-15 14:42:15 +00:00
compile
config-ml.in MSP430: Add -fno-exceptions multilib 2023-08-12 10:24:26 +09:30
config.guess Synchronize config.sub and config.guess with their upstream master versions. 2024-01-04 12:00:34 +00:00
config.rpath
config.sub Synchronize config.sub and config.guess with their upstream master versions. 2024-01-04 12:00:34 +00:00
configure Fix disabling of year 2038 support on 32-bit hosts by default 2024-02-05 15:28:05 -03:00
configure.ac Fix disabling of year 2038 support on 32-bit hosts by default 2024-02-05 15:28:05 -03:00
COPYING
COPYING3
COPYING3.LIB
COPYING.LIB
COPYING.LIBGLOSS
COPYING.NEWLIB
depcomp
djunpack.bat
install-sh
libtool.m4 FDPIC: Handle arm*-*-uclinuxfdpiceabi in configure scripts 2023-08-12 10:25:06 +09:30
lt~obsolete.m4
ltgcc.m4
ltmain.sh Do not use HAVE_DOS_BASED_FILE_SYSTEM for Cygwin. 2023-08-12 10:25:06 +09:30
ltoptions.m4
ltsugar.m4
ltversion.m4
MAINTAINERS MAINTAINERS: Update path to readline config.{sub,guess} files 2021-05-24 18:11:49 +02:00
Makefile.def Sync top level configure and makefiles 2024-01-10 12:03:03 +00:00
Makefile.in Sync top level configure and makefiles 2024-01-10 12:03:03 +00:00
Makefile.tpl Sync top level configure and makefiles 2024-01-10 12:03:03 +00:00
makefile.vms
missing
mkdep
mkinstalldirs
move-if-change
multilib.am
README
README-maintainer-mode Note that at least dejagnu version 1.5.3 is required in order to be ale to run the testsuites. 2022-10-04 10:54:19 +01:00
SECURITY.txt Add a SECURITY.txt file describing the GNU Binutils' project's stance on security related bugs. 2023-04-20 16:52:11 +01:00
setup.com
src-release.sh Add multilib.am to the list of top level files included in any release created by the src-release.sh script 2024-01-19 11:45:10 +00:00
symlink-tree
test-driver
ylwrap

		   README for GNU development tools

This directory contains various GNU compilers, assemblers, linkers, 
debuggers, etc., plus their support routines, definitions, and documentation.

If you are receiving this as part of a GDB release, see the file gdb/README.
If with a binutils release, see binutils/README;  if with a libg++ release,
see libg++/README, etc.  That'll give you info about this
package -- supported targets, how to use it, how to report bugs, etc.

It is now possible to automatically configure and build a variety of
tools with one command.  To build all of the tools contained herein,
run the ``configure'' script here, e.g.:

	./configure 
	make

To install them (by default in /usr/local/bin, /usr/local/lib, etc),
then do:
	make install

(If the configure script can't determine your type of computer, give it
the name as an argument, for instance ``./configure sun4''.  You can
use the script ``config.sub'' to test whether a name is recognized; if
it is, config.sub translates it to a triplet specifying CPU, vendor,
and OS.)

If you have more than one compiler on your system, it is often best to
explicitly set CC in the environment before running configure, and to
also set CC when running make.  For example (assuming sh/bash/ksh):

	CC=gcc ./configure
	make

A similar example using csh:

	setenv CC gcc
	./configure
	make

Much of the code and documentation enclosed is copyright by
the Free Software Foundation, Inc.  See the file COPYING or
COPYING.LIB in the various directories, for a description of the
GNU General Public License terms under which you can copy the files.

REPORTING BUGS: Again, see gdb/README, binutils/README, etc., for info
on where and how to report problems.