Patchwork [pushed] Add x86-tdep.o to i386/amd64 target build

login
register
mail settings
Submitter Simon Marchi
Date April 15, 2018, 7:45 p.m.
Message ID <20180415194536.11618-1-simon.marchi@polymtl.ca>
Download mbox | patch
Permalink /patch/26749/
State New
Headers show

Comments

Simon Marchi - April 15, 2018, 7:45 p.m.
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     | 5 +++++
 gdb/configure.tgt | 5 +++--
 2 files changed, 8 insertions(+), 2 deletions(-)

Patch

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 82b803d737bf..b6720524b665 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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
diff --git a/gdb/configure.tgt b/gdb/configure.tgt
index ba904117828a..b252809b2227 100644
--- a/gdb/configure.tgt
+++ b/gdb/configure.tgt
@@ -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.