diff options
author | Anton Kolesov <Anton.Kolesov@synopsys.com> | 2016-07-06 20:36:49 +0300 |
---|---|---|
committer | Shahab Vahedi <shahab@synopsys.com> | 2020-08-25 17:31:29 +0200 |
commit | 8d7f06359adf0d3da93acec0f0ded9076f54ebdb (patch) | |
tree | 61f12ed6aa534b5bf6cb08effd0d672a77767a05 /gdb/arc-tdep.h | |
parent | fdd8731bd137e55453b501fa5404b5e6f60ddea0 (diff) | |
download | gdb-8d7f06359adf0d3da93acec0f0ded9076f54ebdb.zip gdb-8d7f06359adf0d3da93acec0f0ded9076f54ebdb.tar.gz gdb-8d7f06359adf0d3da93acec0f0ded9076f54ebdb.tar.bz2 |
arc: Add GNU/Linux support for ARC
ARC Linux targets differences from baremetal:
- No support for hardware single instruction stepping.
- Different access rules to registers.
- Use of another instruction for breakpoints.
v2: Changes after Tom's remarks [1]
arc-linux-tdep.c
- Use true/false instead of TRUE/FALSE.
- arc_linux_sw_breakpoint_from_kind (): Break long lines into two.
- arc_linux_sw_breakpoint_from_kind (): Remove starting blank line.
- Use explicit number evaluation, e.g: if (a & b) -> if ((a & b) != 0)
arc-tdep.c
- Use explicit number evaluation, e.g: if (a & b) -> if ((a & b) != 0)
gdb/configure.tgt
- arc*-*-linux*): Remove "build_gdbserver=yes".
v3: Changes after Simon's remarks [2]
arc-linux-tdep.c
- Use "return trap_size" instead of cryptic "return 2".
- Removed unnecessary curly braces.
- Removed "void" from "_initialize_arc_linux_tdep (void)".
v5: Changes after Simon's remarks [3]
- Remove unnecessary empty lines.
- Replace "breakpoint uses" with "breakpoints use" in a comment.
- "return condition;" i.s.o. "if (condition) return true; else return false;"
[1] Tom's remarks
https://sourceware.org/pipermail/gdb-patches/2020-April/167887.html
[2] Simon's remarks on v2
https://sourceware.org/pipermail/gdb-patches/2020-May/168513.html
[3] Simon's remarks on v4
https://sourceware.org/pipermail/gdb-patches/2020-August/170994.html
gdb/ChangeLog:
2020-08-25 Anton Kolesov <anton.kolesov@synopsys.com>
* configure.tgt: ARC support for GNU/Linux.
* Makefile.in (ALL_TARGET_OBJS): Likewise.
* arc-linux-tdep.c: New file.
* arc-tdep.h (ARC_STATUS32_L_MASK, ARC_STATUS32_DE_MASK): Declare.
* arc-tdep.c (arc_write_pc): Use it.
Diffstat (limited to 'gdb/arc-tdep.h')
-rw-r--r-- | gdb/arc-tdep.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gdb/arc-tdep.h b/gdb/arc-tdep.h index e752348..6331d29 100644 --- a/gdb/arc-tdep.h +++ b/gdb/arc-tdep.h @@ -100,6 +100,11 @@ enum arc_regnum Longer registers are represented as pairs of 32-bit registers. */ #define ARC_REGISTER_SIZE 4 +/* STATUS32 register: hardware loops disabled bit. */ +#define ARC_STATUS32_L_MASK (1 << 12) +/* STATUS32 register: current instruction is a delay slot. */ +#define ARC_STATUS32_DE_MASK (1 << 6) + #define arc_print(fmt, args...) fprintf_unfiltered (gdb_stdlog, fmt, ##args) extern int arc_debug; |