Doing a 32-bit build with "--enable-targets=all --disable-sim" fails to link
properly.
--
loongarch-tdep.o: In function `loongarch_gdbarch_init':
binutils-gdb/gdb/loongarch-tdep.c:443: undefined reference to `loongarch_r_normal_name'
loongarch-tdep.o: In function `loongarch_fetch_instruction':
binutils-gdb/gdb/loongarch-tdep.c:37: undefined reference to `loongarch_insn_length'
loongarch-tdep.o: In function `loongarch_scan_prologue(gdbarch*, unsigned long long, unsigned long long, frame_info*, trad_frame_cache*) [clone .isra.4]':
binutils-gdb/gdb/loongarch-tdep.c:87: undefined reference to `loongarch_insn_length'
binutils-gdb/gdb/loongarch-tdep.c:88: undefined reference to `loongarch_decode_imm'
binutils-gdb/gdb/loongarch-tdep.c:89: undefined reference to `loongarch_decode_imm'
binutils-gdb/gdb/loongarch-tdep.c:90: undefined reference to `loongarch_decode_imm'
binutils-gdb/gdb/loongarch-tdep.c:91: undefined reference to `loongarch_decode_imm'
binutils-gdb/gdb/loongarch-tdep.c:92: undefined reference to `loongarch_decode_imm'
--
Given the list of 64-bit BFD files in
opcodes/Makefile.am:TARGET64_LIBOPCODES_CFILES, it looks like GDB's
ALL_TARGET_OBS list is including files that should be included in
ALL_64_TARGET_OBS instead.
This patch accomplishes this and enables a 32-bit build with
"--enable-targets=all --disable-sim" to complete.
Moving the bpf, tilegx and loongarch files to the correct list means GDB can
find the correct disassembler function instead of finding a null pointer.
We still need the "--disable-sim" switch (or "--enable-64-bit-bfd") to
make a 32-bit build with "--enable-targets=all" complete correctly
arch/aarch64-mte-linux.o \
arch/amd64.o \
arch/riscv.o \
+ bpf-tdep.o \
ia64-linux-tdep.o \
ia64-tdep.o \
ia64-vms-tdep.o \
+ loongarch-linux-tdep.o \
+ loongarch-tdep.o \
mips-fbsd-tdep.o \
mips-linux-tdep.o \
mips-netbsd-tdep.o \
sparc64-netbsd-tdep.o \
sparc64-obsd-tdep.o \
sparc64-sol2-tdep.o \
- sparc64-tdep.o
+ sparc64-tdep.o \
+ tilegx-linux-tdep.o \
+ tilegx-tdep.o
+
# All other target-dependent objects files (used with --enable-targets=all).
ALL_TARGET_OBS = \
avr-tdep.o \
bfin-linux-tdep.o \
bfin-tdep.o \
- bpf-tdep.o \
bsd-uthread.o \
cris-linux-tdep.o \
cris-tdep.o \
linux-record.o \
linux-tdep.o \
lm32-tdep.o \
- loongarch-linux-tdep.o \
- loongarch-tdep.o \
m32c-tdep.o \
m32r-linux-tdep.o \
m32r-tdep.o \
symfile-mem.o \
tic6x-linux-tdep.o \
tic6x-tdep.o \
- tilegx-linux-tdep.o \
- tilegx-tdep.o \
v850-tdep.o \
vax-netbsd-tdep.o \
vax-tdep.o \