Move 64-bit BFD files from ALL_TARGET_OBS to ALL_64_TARGET_OBS
authorLuis Machado <luis.machado@arm.com>
Wed, 27 Apr 2022 14:49:04 +0000 (15:49 +0100)
committerLuis Machado <luis.machado@arm.com>
Mon, 30 May 2022 10:25:04 +0000 (11:25 +0100)
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

gdb/Makefile.in

index 418094775a557a9b050a628a49a7b8ecbc2d9e27..d80087749dec133da2f3189e82aa878d7e66f716 100644 (file)
@@ -715,9 +715,12 @@ ALL_64_TARGET_OBS = \
        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 \
@@ -734,7 +737,10 @@ ALL_64_TARGET_OBS = \
        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 = \
@@ -762,7 +768,6 @@ 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 \
@@ -798,8 +803,6 @@ ALL_TARGET_OBS = \
        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 \
@@ -856,8 +859,6 @@ ALL_TARGET_OBS = \
        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 \