binutils-gdb/include/elf
Hui Li 6ced1278fc gdb: LoongArch: Add support for hardware breakpoint
LoongArch defines hardware watchpoint functions for fetch operations.
After the software configures the watchpoints for fetch, the processor
hardware will monitor the access addresses of the fetch operations and
trigger a watchpoint exception when the watchpoint setting conditions
are met.

Hardware watchpoints for fetch operations is used to implement hardware
breakpoint function on LoongArch. Refer to the following document for
hardware breakpoint.
https://loongson.github.io/LoongArch-Documentation/LoongArch-Vol1-EN.html#control-and-status-registers-related-to-watchpoints

A simple test is as follows:

lihui@bogon:~$ cat test.c
  #include <stdio.h>
  int a = 0;
  int main()
  {
        printf("start test\n");
        a = 1;
        printf("a = %d\n", a);
        printf("end test\n");
        return 0;
  }
lihui@bogon:~$ gcc -g test.c -o test

without this patch:

lihui@bogon:~$ gdb test
...
(gdb) start
...
Temporary breakpoint 1, main () at test.c:5
5               printf("start test\n");
(gdb) hbreak 8
No hardware breakpoint support in the target.

with this patch:

lihui@bogon:~$ gdb test
...
(gdb) start
...

Temporary breakpoint 1, main () at test.c:5
5               printf("start test\n");
(gdb) hbreak 8
Hardware assisted breakpoint 2 at 0x1200006ec: file test.c, line 8.
(gdb) c
Continuing.
start test
a = 1

Breakpoint 2, main () at test.c:8
8               printf("end test\n");
(gdb) c
Continuing.
end test
[Inferior 1 (process 25378) exited normally]

Signed-off-by: Hui Li <lihui@loongson.cn>
Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
2024-06-25 05:50:29 +08:00
..
aarch64.h Add new ELF section and segment types to readelf. 2024-05-28 10:12:28 +01:00
alpha.h Add new ELF section and segment types to readelf. 2024-05-28 10:12:28 +01:00
amdgpu.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
arc-cpu.def Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
arc-reloc.def Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
arc.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
arm.h Add new ELF section and segment types to readelf. 2024-05-28 10:12:28 +01:00
avr.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
bfin.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
bpf.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
ChangeLog-0415 binutils ChangeLog rotation 2016-01-01 22:59:17 +10:30
ChangeLog-9103 Add copyright notices 2012-12-10 12:48:03 +00:00
common.h gdb: LoongArch: Add support for hardware breakpoint 2024-06-25 05:50:29 +08:00
cr16.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
cris.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
crx.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
csky.h Add new ELF section and segment types to readelf. 2024-05-28 10:12:28 +01:00
d10v.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
d30v.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
dlx.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
dwarf.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
epiphany.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
external.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
fr30.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
frv.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
ft32.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
h8.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
hppa.h Add new ELF section and segment types to readelf. 2024-05-28 10:12:28 +01:00
i370.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
i386.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
i860.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
i960.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
ia64.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
internal.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
ip2k.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
iq2000.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
kvx_elfids.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
kvx.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
lm32.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
loongarch.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
m32c.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
m32r.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
m68hc11.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
m68k.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
mcore.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
mep.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
metag.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
microblaze.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
mips.h Add new ELF section and segment types to readelf. 2024-05-28 10:12:28 +01:00
mmix.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
mn10200.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
mn10300.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
moxie.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
msp430.h Add new ELF section and segment types to readelf. 2024-05-28 10:12:28 +01:00
mt.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
nds32.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
nfp.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
nios2.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
or1k.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
pj.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
ppc64.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
ppc.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
pru.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
reloc-macros.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
riscv.h Add new ELF section and segment types to readelf. 2024-05-28 10:12:28 +01:00
rl78.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
rx.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
s12z.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
s390.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
score.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
sh.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
sparc.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
spu.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
tic6x-attrs.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
tic6x.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
tilegx.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
tilepro.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
v850.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
vax.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
visium.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
vxworks.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
wasm32.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
x86-64.h Add new ELF section and segment types to readelf. 2024-05-28 10:12:28 +01:00
xgate.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
xstormy16.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
xtensa.h xtensa: move xtensa_make_property_section from bfd to gas 2024-02-24 14:58:55 +10:30
z80.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30