Skip to content
This repository was archived by the owner on Aug 17, 2022. It is now read-only.

Commit c8f0d74

Browse files
committed
Merge pull request #1 from palmer-dabbelt/native
Make GDB compile in native mode
2 parents c6fc18b + 4f0023e commit c8f0d74

File tree

5 files changed

+17
-10
lines changed

5 files changed

+17
-10
lines changed

gdb/config/riscv/linux.mh

+2-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@
2121
NAT_FILE= config/nm-linux.h
2222
NATDEPFILES= inf-ptrace.o fork-child.o riscv-linux-nat.o \
2323
proc-service.o linux-thread-db.o linux-nat.o linux-fork.o \
24-
linux-procfs.o linux-ptrace.o linux-osdata.o linux-waitpid.o
24+
linux-procfs.o linux-ptrace.o linux-osdata.o linux-waitpid.o \
25+
linux-namespaces.o linux-personality.o
2526
NAT_CDEPS = $(srcdir)/proc-service.list
2627

2728
# The dynamically loaded libthread_db needs access to symbols in the

gdb/configure.host

+3
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ m68*) gdb_host_cpu=m68k ;;
6464
m88*) gdb_host_cpu=m88k ;;
6565
mips*) gdb_host_cpu=mips ;;
6666
powerpc* | rs6000) gdb_host_cpu=powerpc ;;
67+
riscv*) gdb_host_cpu=riscv ;;
6768
sparcv9 | sparc64) gdb_host_cpu=sparc ;;
6869
s390*) gdb_host_cpu=s390 ;;
6970
sh*) gdb_host_cpu=sh ;;
@@ -147,6 +148,8 @@ powerpc64*-*-linux*) gdb_host=ppc64-linux
147148
;;
148149
powerpc*-*-linux*) gdb_host=linux ;;
149150

151+
riscv*-linux*) gdb_host=linux ;;
152+
150153
s390*-*-linux*) gdb_host=linux ;;
151154

152155
sh*-*-netbsdelf* | sh*-*-knetbsd*-gnu)

gdb/riscv-linux-tdep.c

+5-2
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,13 @@ riscv_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
6060
linux_init_abi (info, gdbarch);
6161

6262
/* GNU/Linux uses SVR4-style shared libraries. */
63+
/* FIXME: This '0' should actually be a check to see if we're on
64+
rv32, but I can't figure out how to hook that up (it's in
65+
gdbarch_tdep, which we don't have here). */
6366
set_solib_svr4_fetch_link_map_offsets
64-
(gdbarch, (IS_RV32I (riscv_abi (gdbarch)) ?
67+
(gdbarch, (0) ?
6568
svr4_ilp32_fetch_link_map_offsets :
66-
svr4_lp64_fetch_link_map_offsets));
69+
svr4_lp64_fetch_link_map_offsets);
6770

6871
set_gdbarch_iterate_over_regset_sections
6972
(gdbarch, riscv_linux_iterate_over_regset_sections);

gdb/riscv-tdep.c

+1-7
Original file line numberDiff line numberDiff line change
@@ -158,12 +158,6 @@ static const struct register_alias riscv_register_aliases[] =
158158
{ "ft11", 64 },
159159
};
160160

161-
static inline int
162-
riscv_isa_regsize (struct gdbarch *gdbarch)
163-
{
164-
return gdbarch_tdep (gdbarch)->register_size;
165-
}
166-
167161
static const gdb_byte *
168162
riscv_breakpoint_from_pc (struct gdbarch *gdbarch,
169163
CORE_ADDR *bp_addr,
@@ -1163,7 +1157,7 @@ riscv_gdbarch_init (struct gdbarch_info info,
11631157
tdesc_data = tdesc_data_alloc ();
11641158

11651159
valid_p = 1;
1166-
for (i = RISCV_ZERO_REGNUM; i <= RISCV_LAST_REGNUM; ++i)
1160+
for (i = RISCV_ZERO_REGNUM; i < RISCV_LAST_REGNUM; ++i)
11671161
valid_p &= tdesc_numbered_register (feature, tdesc_data, i, riscv_gdb_reg_names[i]);
11681162

11691163
if (!valid_p)

gdb/riscv-tdep.h

+6
Original file line numberDiff line numberDiff line change
@@ -90,4 +90,10 @@ struct gdbarch_tdep
9090
int register_size;
9191
};
9292

93+
static inline int
94+
riscv_isa_regsize (struct gdbarch *gdbarch)
95+
{
96+
return gdbarch_tdep (gdbarch)->register_size;
97+
}
98+
9399
#endif /* RISCV_TDEP_H */

0 commit comments

Comments
 (0)