Age | Commit message (Collapse) | Author | Files | Lines |
|
GDB has required GNU make for quite some time, and this patch applies
this approach to the sim as well. Requiring GNU make means that
automatic dependency tracking can be simple and reliable, and it also
makes other refactorings simpler.
sim/ChangeLog
2021-04-22 Tom Tromey <tom@tromey.com>
* m4/sim_ac_common.m4 (SIM_AC_COMMON): Don't check for make.
sim/aarch64/ChangeLog
2021-04-22 Tom Tromey <tom@tromey.com>
* configure: Rebuild.
sim/arm/ChangeLog
2021-04-22 Tom Tromey <tom@tromey.com>
* configure: Rebuild.
sim/avr/ChangeLog
2021-04-22 Tom Tromey <tom@tromey.com>
* configure: Rebuild.
sim/bfin/ChangeLog
2021-04-22 Tom Tromey <tom@tromey.com>
* configure: Rebuild.
sim/common/ChangeLog
2021-04-22 Tom Tromey <tom@tromey.com>
* Make-common.in: Require GNU make.
sim/cr16/ChangeLog
2021-04-22 Tom Tromey <tom@tromey.com>
* configure: Rebuild.
sim/cris/ChangeLog
2021-04-22 Tom Tromey <tom@tromey.com>
* configure: Rebuild.
sim/d10v/ChangeLog
2021-04-22 Tom Tromey <tom@tromey.com>
* configure: Rebuild.
sim/erc32/ChangeLog
2021-04-22 Tom Tromey <tom@tromey.com>
* configure: Rebuild.
sim/example-synacor/ChangeLog
2021-04-22 Tom Tromey <tom@tromey.com>
* configure: Rebuild.
sim/frv/ChangeLog
2021-04-22 Tom Tromey <tom@tromey.com>
* configure: Rebuild.
sim/ft32/ChangeLog
2021-04-22 Tom Tromey <tom@tromey.com>
* configure: Rebuild.
sim/h8300/ChangeLog
2021-04-22 Tom Tromey <tom@tromey.com>
* configure: Rebuild.
sim/iq2000/ChangeLog
2021-04-22 Tom Tromey <tom@tromey.com>
* configure: Rebuild.
sim/lm32/ChangeLog
2021-04-22 Tom Tromey <tom@tromey.com>
* configure: Rebuild.
sim/m32c/ChangeLog
2021-04-22 Tom Tromey <tom@tromey.com>
* configure: Rebuild.
sim/m32r/ChangeLog
2021-04-22 Tom Tromey <tom@tromey.com>
* configure: Rebuild.
sim/m68hc11/ChangeLog
2021-04-22 Tom Tromey <tom@tromey.com>
* configure: Rebuild.
sim/mcore/ChangeLog
2021-04-22 Tom Tromey <tom@tromey.com>
* configure: Rebuild.
sim/microblaze/ChangeLog
2021-04-22 Tom Tromey <tom@tromey.com>
* configure: Rebuild.
sim/mips/ChangeLog
2021-04-22 Tom Tromey <tom@tromey.com>
* configure: Rebuild.
sim/mn10300/ChangeLog
2021-04-22 Tom Tromey <tom@tromey.com>
* configure: Rebuild.
sim/moxie/ChangeLog
2021-04-22 Tom Tromey <tom@tromey.com>
* configure: Rebuild.
sim/msp430/ChangeLog
2021-04-22 Tom Tromey <tom@tromey.com>
* configure: Rebuild.
sim/or1k/ChangeLog
2021-04-22 Tom Tromey <tom@tromey.com>
* configure: Rebuild.
sim/pru/ChangeLog
2021-04-22 Tom Tromey <tom@tromey.com>
* configure: Rebuild.
sim/riscv/ChangeLog
2021-04-22 Tom Tromey <tom@tromey.com>
* configure: Rebuild.
sim/rl78/ChangeLog
2021-04-22 Tom Tromey <tom@tromey.com>
* configure: Rebuild.
sim/rx/ChangeLog
2021-04-22 Tom Tromey <tom@tromey.com>
* configure: Rebuild.
sim/sh/ChangeLog
2021-04-22 Tom Tromey <tom@tromey.com>
* configure: Rebuild.
sim/v850/ChangeLog
2021-04-22 Tom Tromey <tom@tromey.com>
* configure: Rebuild.
|
|
My scripts weren't updated to use new -I../m4 as the first arg.
|
|
When building with clang, we get:
error: unknown warning option '-Wmissing-parameter-type' [-Werror,-Wunknown-warning-option]
This is because clang only warns by default when encountering an unknown
warning option, and the probe for supported warning flags is done
without -Werror. All flags are therefore accepted by configure, but
then it breaks when actually compiling a source file with -Werror.
This is equivalent to this commit in gdb:
3e019bdc20eb81b91ab5bc774386201b874c0bac
gdb: Use -Werror when checking for (un)supported warning flags
We then see some other compilation errors when building with clang and
-Werror, they can be dealt with later.
|
|
This avoids duplicate tests for headers between common m4, arches,
and any other sources that would trigger header tests.
|
|
This avoids duplicate tests for functions between common m4, arches,
and any other sources that would trigger func tests.
Also manually delete known duplicate function tests between the m4,
bfin, and v850 ports.
|
|
Every arch handles this the same way, so move it to the common code.
This will also make unifying the sim_cpu structure easier.
|
|
The toplevel, common, and igen dirs all have their own code for
setting up toolchain settings. Unify all of that in a new macro.
|
|
Some sim dirs were already setting up CFLAGS_FOR_BUILD in inconsistent
ways. Move it to a common place for reuse.
|
|
Rather than require $AR be set and then default to `ar`, use the
standard AC_CHECK_TOOL helper to find a good prefixed tool. In
practice this shouldn't change much as we seem to have macros in
the tree that were already setting it up, but we shouldn't rely
on that implicitly.
|
|
All the scripts were using this implicitly already, so there's no real
change for them, but we want to call it explicitly as the CPP tool is
used to generate nltvals.def.
|
|
This file is quite large and is getting unmanageable. Split it apart
to follow aclocal best practices by putting one-macro-per-file. There
shouldn't be any real functional changes here as can be seen in the
configure script regens.
|
|
* Renamed obsolete UJ/SB types and RVC types, also added CSS/CL(CS) types,
[VALID/EXTRACT/ENCODE macros]
BTYPE_IMM: Renamed from SBTYPE_IMM.
JTYPE_IMM: Renamed from UJTYPE_IMM.
CITYPE_IMM: Renamed from RVC_IMM.
CITYPE_LUI_IMM: Renamed from RVC_LUI_IMM.
CITYPE_ADDI16SP_IMM: Renamed from RVC_ADDI16SP_IMM.
CITYPE_LWSP_IMM: Renamed from RVC_LWSP_IMM.
CITYPE_LDSP_IMM: Renamed from RVC_LDSP_IMM.
CIWTYPE_IMM: Renamed from RVC_UIMM8.
CIWTYPE_ADDI4SPN_IMM: Renamed from RVC_ADDI4SPN_IMM.
CSSTYPE_IMM: Added for .insn without special encoding.
CSSTYPE_SWSP_IMM: Renamed from RVC_SWSP_IMM.
CSSTYPE_SDSP_IMM: Renamed from RVC_SDSP_IMM.
CLTYPE_IMM: Added for .insn without special encoding.
CLTYPE_LW_IMM: Renamed from RVC_LW_IMM.
CLTYPE_LD_IMM: Renamed from RVC_LD_IMM.
RVC_SIMM3: Unused and removed.
CBTYPE_IMM: Renamed from RVC_B_IMM.
CJTYPE_IMM: Renamed from RVC_J_IMM.
* Added new operands and removed the unused ones,
C5: Unsigned CL(CS) immediate, added for .insn directive.
C6: Unsigned CSS immediate, added for .insn directive.
Ci: Unused and removed.
C<: Unused and removed.
bfd/
PR 27158
* elfnn-riscv.c (perform_relocation): Updated encoding macros.
(_bfd_riscv_relax_call): Likewise.
(_bfd_riscv_relax_lui): Likewise.
* elfxx-riscv.c (howto_table): Likewise.
gas/
PR 27158
* config/tc-riscv.c (riscv_ip): Updated encoding macros.
(md_apply_fix): Likewise.
(md_convert_frag_branch): Likewise.
(validate_riscv_insn): Likewise. Also arranged operands, including
added C5 and C6 operands, and removed unused Ci and C< operands.
* doc/c-riscv.texi: Updated and added CSS/CL/CS types.
* testsuite/gas/riscv/insn.d: Added CSS/CL/CS instructions.
* testsuite/gas/riscv/insn.s: Likewise.
gdb/
PR 27158
* riscv-tdep.c (decode_ci_type_insn): Updated encoding macros.
(decode_j_type_insn): Likewise.
(decode_cj_type_insn): Likewise.
(decode_b_type_insn): Likewise.
(decode): Likewise.
include/
PR 27158
* opcode/riscv.h: Updated encoding macros.
opcodes/
PR 27158
* riscv-dis.c (print_insn_args): Updated encoding macros.
* riscv-opc.c (MASK_RVC_IMM): defined to ENCODE_CITYPE_IMM.
(match_c_addi16sp): Updated encoding macros.
(match_c_lui): Likewise.
(match_c_lui_with_hint): Likewise.
(match_c_addi4spn): Likewise.
(match_c_slli): Likewise.
(match_slli_as_c_slli): Likewise.
(match_c_slli64): Likewise.
(match_srxi_as_c_srxi): Likewise.
(riscv_insn_types): Added .insn css/cl/cs.
sim/
PR 27158
* riscv/sim-main.c (execute_i): Updated encoding macros.
|
|
Rather than hand maintain m4 includes in various autotool files,
use AC_CONFIG_MACRO_DIRS to declare the relevant search paths.
This simplifies the code, makes it more robust, and cleans out
unused logic from configure.
|
|
The AC_CONFIG_HEADER macro is long deprecated, so switch to the
newer form. This also gets rid of the position limitation, and
drops support for an argument to SIM_AC_COMMON which we haven't
used anywhere.
|
|
These settings might have made sense in darker compiler times, but I
think they're largely obsolete now. Looking through the values that
get used in HDEFINES, it's quite limited, and configure itself should
handle them. If we still need something, we can leverage standard
autoconf macros instead, after we get a clear user report.
TDEFINES was never set anywhere and was always empty, so prune that.
|
|
Now the simulator can be loaded via gdb using "target sim".
|
|
This is a hand-written implementation that should have fairly complete
coverage for the base integer instruction set ("i"), and for the atomic
("a") and integer multiplication+division ("m") extensions. It also
covers 32-bit & 64-bit targets.
The unittest coverage is a bit weak atm, but should get better.
|