Add x86-tdep.o to i386/amd64 target build
authorSimon Marchi <simon.marchi@polymtl.ca>
Sun, 15 Apr 2018 16:52:27 +0000 (12:52 -0400)
committerSimon Marchi <simon.marchi@polymtl.ca>
Sun, 15 Apr 2018 19:43:47 +0000 (15:43 -0400)
We get this error when doing a build with a single amd64 target (the
default when doing just ./configure on x86-64 GNU/Linux):

/home/simark/src/binutils-gdb/gdb/i386-tdep.c:4431: error: undefined reference to 'x86_in_indirect_branch_thunk(unsigned long, char const**, int, int)'
/home/simark/src/binutils-gdb/gdb/amd64-tdep.c:3045: error: undefined reference to 'x86_in_indirect_branch_thunk(unsigned long, char const**, int, int)'

The problem is that commit

  1d509aa625f8 ("infrun: step through indirect branch thunks")

missed adding x86-tdep.o to the list of object file included in an amd64
or i386 build.  The problem is not seen with --enable-targets=all
because that file is included in ALL_TARGET_OBS.

Built-tested using:

  * --host=x86_64-pc-linux-gnu --target=x86_64-pc-linux-gnu
  * --host=armv7-rpi2-linux-gnueabihf --target=x86_64-pc-linux-gnu

gdb/ChangeLog:

* configure.tgt (x86_tobjs): New variable.
(amd64_tobjs, i386_tobjs): Use it.

gdb/ChangeLog
gdb/configure.tgt

index 82b803d..b672052 100644 (file)
@@ -1,3 +1,8 @@
+2018-04-15  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * configure.tgt (x86_tobjs): New variable.
+       (amd64_tobjs, i386_tobjs): Use it.
+
 2018-04-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
 
        * symtab.c (print_symbol_info): Precede the symbol definition by
index ba90411..b252809 100644 (file)
@@ -37,8 +37,9 @@ case $targ in
     ;;
 esac
 
-i386_tobjs="i386-tdep.o arch/i386.o i387-tdep.o"
-amd64_tobjs="amd64-tdep.o arch/amd64.o"
+x86_tobjs="x86-tdep.o"
+i386_tobjs="i386-tdep.o arch/i386.o i387-tdep.o ${x86_tobjs}"
+amd64_tobjs="amd64-tdep.o arch/amd64.o ${x86_tobjs}"
 
 # Here are three sections to get a list of target specific object
 # files according to target triplet $TARG.