mirror of
https://github.com/go-delve/delve.git
synced 2025-10-27 03:56:24 +08:00
* delve: support linux-loong64 native debug LoongArch is a new RISC ISA, which is independently designed by Loongson Technology. LoongArch includes a reduced 32-bit version (LA32R), a standard 32-bit version (LA32S) and a 64-bit version (LA64), and loong64 is the 64-bit version of LoongArch. LoongArch documentation: https://github.com/loongson/LoongArch-Documentation.git * *: mark loong64 port as experimental --------- Co-authored-by: Huang Qiqi <huangqiqi@loongson.cn>
40 lines
651 B
C
40 lines
651 B
C
#include <stdio.h>
|
|
|
|
#include "_cgo_export.h"
|
|
|
|
#ifdef __amd64__
|
|
#define BREAKPOINT asm("int3;")
|
|
#elif __i386__
|
|
#define BREAKPOINT asm("int3;")
|
|
#elif __PPC64__
|
|
#define BREAKPOINT asm("tw 31,0,0;")
|
|
#elif __aarch64__
|
|
#ifdef WIN32
|
|
#define BREAKPOINT asm("brk 0xF000;")
|
|
#else
|
|
#define BREAKPOINT asm("brk 0;")
|
|
#endif
|
|
#elif __riscv
|
|
#define BREAKPOINT asm("ebreak;")
|
|
#elif __loongarch__
|
|
#define BREAKPOINT asm("break 0;")
|
|
#endif
|
|
|
|
void helloworld_pt2(int x) {
|
|
BREAKPOINT;
|
|
helloWorld(x+1);
|
|
}
|
|
|
|
void helloworld(int x) {
|
|
helloworld_pt2(x+1);
|
|
}
|
|
|
|
void helloworld_pt4(int x) {
|
|
BREAKPOINT;
|
|
helloWorld2(x+1);
|
|
}
|
|
|
|
void helloworld_pt3(int x) {
|
|
helloworld_pt4(x+1);
|
|
}
|