diff --git a/gdb/configure.tgt b/gdb/configure.tgt
index 40c44b7..659afd3 100644
--- a/gdb/configure.tgt
+++ b/gdb/configure.tgt
@@ -36,23 +36,78 @@ case $targ in
     ;;
 esac
 
+i386_tobjs="i386-tdep.o i386.o i387-tdep.o"
+amd64_tobjs="amd64-tdep.o arch/amd64.o"
+
+case "${targ}" in
+aarch64*-*-*)
+	cpu_obs="aarch64-tdep.o aarch64-insn.o";;
+
+alpha*-*-*)
+	# Target: Alpha
+	cpu_obs="alpha-tdep.o"
+	;;
+
+arc*-*-*)
+	# Target: Unidentified ARC target
+	cpu_obs="arc-tdep.o"
+	;;
+
+arm*-*-*)
+	cpu_obs="arm.o arm-get-next-pcs.o arm-tdep.o";;
+
+hppa*-*-*)
+	# Target: HP PA-RISC
+	cpu_obs="hppa-tdep.o"
+	;;
+
+i[34567]86-*-*)
+	cpu_obs="${i386_tobjs}"
+	if test "x$enable_64_bit_bfd" = "xyes"; then
+	   cpu_obs="${amd64_tobjs} ${cpu_obs}"
+	fi
+	;;
+
+ia64*-*-*)
+	# Target: Intel IA-64
+	cpu_obs="ia64-tdep.o"
+	;;
+
+x86_64-*-*)
+	cpu_obs="${i386_tobjs} ${amd64_tobjs}";;
+
+xtensa*)
+	# Target: Tensilica Xtensa processors
+	cpu_obs="xtensa-tdep.o xtensa-config.o solib-svr4.o"
+	;;
+
+esac
+
+case "${targ}" in
+*-*-freebsd* | *-*-kfreebsd*-gnu)
+	os_obs="fbsd-tdep.o solib-svr4.o";;
+*-*-netbsd* | *-*-knetbsd*-gnu)
+	os_obs="nbsd-tdep.o solib-svr4.o";;
+*-*-openbsd*)
+	os_obs="obsd-tdep.o solib-svr4.o";;
+esac
+
 # map target info into gdb names.
 
 case "${targ}" in
 aarch64*-*-elf | aarch64*-*-rtems*)
 	# Target: AArch64 embedded system
-	gdb_target_obs="aarch64-tdep.o aarch64-newlib-tdep.o aarch64-insn.o"
+	gdb_target_obs="aarch64-newlib-tdep.o"
 	;;
 
 aarch64*-*-freebsd*)
 	# Target: FreeBSD/aarch64
-	gdb_target_obs="aarch64-tdep.o aarch64-fbsd-tdep.o aarch64-insn.o \
-			fbsd-tdep.o solib-svr4.o"
+	gdb_target_obs="aarch64-fbsd-tdep.o"
 	;;
 
 aarch64*-*-linux*)
 	# Target: AArch64 linux
-	gdb_target_obs="aarch64-tdep.o aarch64-linux-tdep.o aarch64-insn.o \
+	gdb_target_obs="aarch64-linux-tdep.o \
 			arm.o arm-linux.o arm-get-next-pcs.o arm-tdep.o \
 			arm-linux-tdep.o \
 			glibc-tdep.o linux-tdep.o solib-svr4.o \
@@ -62,23 +117,18 @@ aarch64*-*-linux*)
 
 alpha*-*-linux*)
 	# Target: Little-endian Alpha running Linux
-	gdb_target_obs="alpha-tdep.o alpha-mdebug-tdep.o alpha-linux-tdep.o \
+	gdb_target_obs="alpha-mdebug-tdep.o alpha-linux-tdep.o \
 			linux-tdep.o solib-svr4.o"
 	;;
 alpha*-*-netbsd* | alpha*-*-knetbsd*-gnu)
 	# Target: NetBSD/alpha
-	gdb_target_obs="alpha-tdep.o alpha-mdebug-tdep.o alpha-bsd-tdep.o \
-			alpha-nbsd-tdep.o nbsd-tdep.o solib-svr4.o"
+	gdb_target_obs="alpha-mdebug-tdep.o alpha-bsd-tdep.o \
+			alpha-nbsd-tdep.o"
 	;;
 alpha*-*-openbsd*)
 	# Target: OpenBSD/alpha
-	gdb_target_obs="alpha-tdep.o alpha-mdebug-tdep.o alpha-bsd-tdep.o \
-			alpha-nbsd-tdep.o alpha-obsd-tdep.o nbsd-tdep.o \
-			obsd-tdep.o solib-svr4.o"
-	;;
-alpha*-*-*)
-	# Target: Alpha
-	gdb_target_obs="alpha-tdep.o"
+	gdb_target_obs="alpha-mdebug-tdep.o alpha-bsd-tdep.o \
+			alpha-nbsd-tdep.o alpha-obsd-tdep.o nbsd-tdep.o"
 	;;
 
 am33_2.0*-*-linux*)
@@ -89,44 +139,34 @@ am33_2.0*-*-linux*)
 
 arc*-*-elf32)
 	# Target: baremetal ARC elf32 (newlib) target
-	gdb_target_obs="arc-newlib-tdep.o arc-tdep.o"
-	;;
-
-arc*-*-*)
-	# Target: Unidentified ARC target
-	gdb_target_obs="arc-tdep.o"
+	gdb_target_obs="arc-newlib-tdep.o"
 	;;
 
 arm*-wince-pe | arm*-*-mingw32ce*)
 	# Target: ARM based machine running Windows CE (win32)
-	gdb_target_obs="arm.o arm-get-next-pcs.o arm-tdep.o \
-			arm-wince-tdep.o windows-tdep.o"
+	gdb_target_obs="arm-wince-tdep.o windows-tdep.o"
 	build_gdbserver=yes
 	;;
 arm*-*-linux*)
 	# Target: ARM based machine running GNU/Linux
-	gdb_target_obs="arm.o arm-linux.o arm-get-next-pcs.o arm-tdep.o \
-                        arm-linux-tdep.o glibc-tdep.o \
+	gdb_target_obs="arm-linux.o arm-linux-tdep.o glibc-tdep.o \
 			solib-svr4.o symfile-mem.o linux-tdep.o linux-record.o"
 	build_gdbserver=yes
 	;;
 arm*-*-netbsd* | arm*-*-knetbsd*-gnu)
 	# Target: NetBSD/arm
-	gdb_target_obs="arm.o arm-get-next-pcs.o arm-tdep.o arm-nbsd-tdep.o \
-			solib-svr4.o"
+	gdb_target_obs="arm-nbsd-tdep.o"
 	;;
 arm*-*-openbsd*)
 	# Target: OpenBSD/arm
-	gdb_target_obs="arm.o arm-get-next-pcs.o arm-tdep.o arm-bsd-tdep.o \
-			arm-obsd-tdep.o obsd-tdep.o solib-svr4.o"
+	gdb_target_obs="arm-bsd-tdep.o arm-obsd-tdep.o"
 	;;
 arm*-*-symbianelf*)
 	# Target: SymbianOS/arm
-	gdb_target_obs="arm.o arm-get-next-pcs.o arm-tdep.o arm-symbian-tdep.o"
+	gdb_target_obs="arm-symbian-tdep.o"
 	;;
 arm*-*-*)
 	# Target: ARM embedded system
-	gdb_target_obs="arm.o arm-get-next-pcs.o arm-tdep.o"
 	gdb_sim=../sim/arm/libsim.a
 	;;
 
@@ -172,113 +212,94 @@ h8300-*-*)
 
 hppa*-*-linux*)
 	# Target: HP PA-RISC running Linux
-	gdb_target_obs="hppa-tdep.o hppa-linux-tdep.o glibc-tdep.o \
+	gdb_target_obs="hppa-linux-tdep.o glibc-tdep.o \
 			linux-tdep.o solib-svr4.o symfile-mem.o"
 	;;
 hppa*-*-netbsd*)
 	# Target: NetBSD/hppa
-	gdb_target_obs="hppa-tdep.o hppa-bsd-tdep.o hppa-nbsd-tdep.o solib-svr4.o"
+	gdb_target_obs="hppa-bsd-tdep.o hppa-nbsd-tdep.o solib-svr4.o"
 	;;
 hppa*-*-openbsd*)
 	# Target: OpenBSD/hppa
-	gdb_target_obs="hppa-tdep.o hppa-bsd-tdep.o hppa-obsd-tdep.o solib-svr4.o"
-	;;
-hppa*-*-*)
-	# Target: HP PA-RISC
-	gdb_target_obs="hppa-tdep.o"
+	gdb_target_obs="hppa-bsd-tdep.o hppa-obsd-tdep.o solib-svr4.o"
 	;;
 
 i[34567]86-*-darwin*)
 	# Target: Darwin/i386
-	gdb_target_obs="i386-tdep.o i386.o i387-tdep.o \
-			i386-darwin-tdep.o solib-darwin.o"
+	gdb_target_obs="i386-darwin-tdep.o solib-darwin.o"
 	if test "x$enable_64_bit_bfd" = "xyes"; then
 	    # Target: GNU/Linux x86-64
-	    gdb_target_obs="amd64-tdep.o arch/amd64.o amd64-darwin-tdep.o ${gdb_target_obs}"
+	    gdb_target_obs="amd64-darwin-tdep.o ${gdb_target_obs}"
 	fi
 	;;
 i[34567]86-*-dicos*)
 	# Target: DICOS/i386
-	gdb_target_obs="i386-tdep.o i386.o i387-tdep.o dicos-tdep.o i386-dicos-tdep.o"
+	gdb_target_obs="dicos-tdep.o i386-dicos-tdep.o"
 	;;
 i[34567]86-*-freebsd* | i[34567]86-*-kfreebsd*-gnu)
 	# Target: FreeBSD/i386
-	gdb_target_obs="i386-tdep.o i386.o i387-tdep.o i386-bsd-tdep.o \
-			i386-fbsd-tdep.o fbsd-tdep.o solib-svr4.o"
+	gdb_target_obs="i386-bsd-tdep.o i386-fbsd-tdep.o "
 	;;
 i[34567]86-*-netbsd* | i[34567]86-*-knetbsd*-gnu)
 	# Target: NetBSD/i386
-	gdb_target_obs="i386-tdep.o i386.o i387-tdep.o i386-bsd-tdep.o \
-			i386-nbsd-tdep.o nbsd-tdep.o solib-svr4.o"
+	gdb_target_obs="i386-bsd-tdep.o i386-nbsd-tdep.o "
 	;;
 i[34567]86-*-openbsd*)
 	# Target: OpenBSD/i386
-	gdb_target_obs="i386-tdep.o i386.o i387-tdep.o i386-bsd-tdep.o \
-			i386-obsd-tdep.o obsd-tdep.o bsd-uthread.o \
-			solib-svr4.o"
+	gdb_target_obs="i386-bsd-tdep.o i386-obsd-tdep.o bsd-uthread.o"
 	;;
 i[34567]86-*-nto*)
 	# Target: Intel 386 running qnx6.
-	gdb_target_obs="i386-tdep.o i386.o i387-tdep.o solib-svr4.o \
+	gdb_target_obs="solib-svr4.o \
 			i386-nto-tdep.o nto-tdep.o"
 	build_gdbserver=yes
 	;;
 i[34567]86-*-solaris2* | x86_64-*-solaris2*)
 	# Target: Solaris x86_64
-	gdb_target_obs="i386-tdep.o i386.o i387-tdep.o amd64-tdep.o arch/amd64.o \
+	gdb_target_obs="${i386_tobjs} ${amd64_tobjs} \
 			 amd64-sol2-tdep.o i386-sol2-tdep.o sol2-tdep.o \
 			 solib-svr4.o"
 	;;
 i[34567]86-*-linux*)
 	# Target: Intel 386 running GNU/Linux
-	gdb_target_obs="i386-tdep.o i386.o i386-linux-tdep.o \
-			glibc-tdep.o i387-tdep.o \
+	gdb_target_obs="i386-linux-tdep.o \
+			glibc-tdep.o \
 			solib-svr4.o symfile-mem.o \
 			linux-tdep.o linux-record.o"
 	if test "x$enable_64_bit_bfd" = "xyes"; then
 	    # Target: GNU/Linux x86-64
-	    gdb_target_obs="amd64-tdep.o arch/amd64.o amd64-linux-tdep.o ${gdb_target_obs}"
+	    gdb_target_obs="amd64-linux-tdep.o ${gdb_target_obs}"
 	fi
 	build_gdbserver=yes
 	;;
 i[34567]86-*-gnu*)
 	# Target: Intel 386 running the GNU Hurd
-	gdb_target_obs="i386-tdep.o i386.o i387-tdep.o i386-gnu-tdep.o solib-svr4.o"
+	gdb_target_obs="i386-gnu-tdep.o solib-svr4.o"
 	;;
 i[34567]86-*-cygwin*)
 	# Target: Intel 386 running win32
-	gdb_target_obs="i386-tdep.o i386.o i386-cygwin-tdep.o i387-tdep.o \
-			windows-tdep.o"
+	gdb_target_obs="i386-cygwin-tdep.o windows-tdep.o"
 	build_gdbserver=yes
 	;;
 i[34567]86-*-mingw32*)
 	# Target: Intel 386 running win32
-	gdb_target_obs="i386-tdep.o i386.o i386-cygwin-tdep.o i387-tdep.o \
-			windows-tdep.o"
+	gdb_target_obs="i386-cygwin-tdep.o windows-tdep.o"
 	build_gdbserver=yes
 	;;
 i[34567]86-*-go32* | i[34567]86-*-msdosdjgpp*)
 	# Target: i386 running DJGPP/go32.
-	gdb_target_obs="i386-tdep.o i386.o i387-tdep.o i386-go32-tdep.o"
-	;;
-i[34567]86-*-*)
-	# Target: i386
-	gdb_target_obs="i386-tdep.o i386.o i387-tdep.o"
+	gdb_target_obs="i386-go32-tdep.o"
 	;;
 
 ia64-*-linux*)
 	# Target: Intel IA-64 running GNU/Linux
-	gdb_target_obs="ia64-tdep.o ia64-linux-tdep.o linux-tdep.o \
+	gdb_target_obs="ia64-linux-tdep.o linux-tdep.o \
 			solib-svr4.o symfile-mem.o"
 	build_gdbserver=yes
 	;;
 ia64-*-*vms*)
 	# Target: Intel IA-64 running OpenVMS
-	gdb_target_obs="ia64-tdep.o ia64-vms-tdep.o"
-	;;
-ia64*-*-*)
-	# Target: Intel IA-64
-	gdb_target_obs="ia64-tdep.o"
+	gdb_target_obs="ia64-vms-tdep.o"
 	;;
 
 iq2000-*-*)
@@ -332,11 +353,11 @@ m68*-*-linux*)
 	;;
 m68*-*-netbsd* | m68*-*-knetbsd*-gnu)
 	# Target: NetBSD/m68k
-	gdb_target_obs="m68k-tdep.o m68k-bsd-tdep.o solib-svr4.o"
+	gdb_target_obs="m68k-tdep.o m68k-bsd-tdep.o"
 	;;
 m68*-*-openbsd*)
 	# Target: OpenBSD/m68k
-	gdb_target_obs="m68k-tdep.o m68k-bsd-tdep.o solib-svr4.o"
+	gdb_target_obs="m68k-tdep.o m68k-bsd-tdep.o"
 	;;
 
 m88*-*-openbsd*)
@@ -371,17 +392,17 @@ mips*-*-linux*)
 	;;
 mips*-*-netbsd* | mips*-*-knetbsd*-gnu)
 	# Target: MIPS running NetBSD
-	gdb_target_obs="mips-tdep.o mips-nbsd-tdep.o solib-svr4.o nbsd-tdep.o"
+	gdb_target_obs="mips-tdep.o mips-nbsd-tdep.o"
 	gdb_sim=../sim/mips/libsim.a
 	;;
 mips*-*-freebsd*)
 	# Target: MIPS running FreeBSD
-	gdb_target_obs="mips-tdep.o mips-fbsd-tdep.o solib-svr4.o fbsd-tdep.o"
+	gdb_target_obs="mips-tdep.o mips-fbsd-tdep.o"
 	gdb_sim=../sim/mips/libsim.a
 	;;
 mips64*-*-openbsd*)
 	# Target: OpenBSD/mips64
-	gdb_target_obs="mips-tdep.o mips64-obsd-tdep.o obsd-tdep.o solib-svr4.o"
+	gdb_target_obs="mips-tdep.o mips64-obsd-tdep.o"
 	;;
 mips*-sde*-elf*)
 	# Target: MIPS SDE
@@ -434,21 +455,19 @@ nios2*-*-*)
 powerpc*-*-freebsd*)
 	# Target: FreeBSD/powerpc
 	gdb_target_obs="rs6000-tdep.o ppc-sysv-tdep.o ppc64-tdep.o \
-		        ppc-fbsd-tdep.o fbsd-tdep.o solib-svr4.o \
+		        ppc-fbsd-tdep.o \
 			ravenscar-thread.o ppc-ravenscar-thread.o"
 	;;
 
 powerpc-*-netbsd* | powerpc-*-knetbsd*-gnu)
 	# Target: NetBSD/powerpc
 	gdb_target_obs="rs6000-tdep.o ppc-sysv-tdep.o ppc-nbsd-tdep.o \
-			solib-svr4.o \
 			ravenscar-thread.o ppc-ravenscar-thread.o"
 	gdb_sim=../sim/ppc/libsim.a
 	;;
 powerpc-*-openbsd*)
 	# Target: OpenBSD/powerpc
 	gdb_target_obs="rs6000-tdep.o ppc-sysv-tdep.o ppc-obsd-tdep.o \
-			solib-svr4.o \
 			ravenscar-thread.o ppc-ravenscar-thread.o"
 	;;
 powerpc-*-aix* | rs6000-*-* | powerpc64-*-aix*)
@@ -516,12 +535,12 @@ sh*-*-linux*)
 	;;
 sh*-*-netbsdelf* | sh*-*-knetbsd*-gnu)
 	# Target: NetBSD/sh
-	gdb_target_obs="sh-tdep.o sh-nbsd-tdep.o solib-svr4.o"
+	gdb_target_obs="sh-tdep.o sh-nbsd-tdep.o"
 	gdb_sim=../sim/sh/libsim.a
 	;;
 sh*-*-openbsd*)
 	# Target: OpenBSD/sh
-	gdb_target_obs="sh-tdep.o sh64-tdep.o sh-nbsd-tdep.o solib-svr4.o"
+	gdb_target_obs="sh-tdep.o sh64-tdep.o sh-nbsd-tdep.o"
 	;;
 sh64-*-elf*)
 	# Target: Renesas/Super-H 64 bit with simulator
@@ -558,32 +577,30 @@ sparc64-*-linux*)
 sparc*-*-freebsd* | sparc*-*-kfreebsd*-gnu)
 	# Target: FreeBSD/sparc64
 	gdb_target_obs="sparc-tdep.o sparc64-tdep.o sparc64-fbsd-tdep.o \
-			fbsd-tdep.o solib-svr4.o \
 			ravenscar-thread.o sparc-ravenscar-thread.o"
 	;;
 sparc-*-netbsd* | sparc-*-knetbsd*-gnu)
 	# Target: NetBSD/sparc
-	gdb_target_obs="sparc-tdep.o sparc-nbsd-tdep.o nbsd-tdep.o \
-			solib-svr4.o \
+	gdb_target_obs="sparc-tdep.o sparc-nbsd-tdep.o \
 			ravenscar-thread.o sparc-ravenscar-thread.o"
 	;;
 sparc64-*-netbsd* | sparc64-*-knetbsd*-gnu)
 	# Target: NetBSD/sparc64
 	gdb_target_obs="sparc64-tdep.o sparc64-nbsd-tdep.o sparc-tdep.o \
-			sparc-nbsd-tdep.o nbsd-tdep.o solib-svr4.o \
+			sparc-nbsd-tdep.o \
 			ravenscar-thread.o sparc-ravenscar-thread.o"
 	;;
 sparc-*-openbsd*)
 	# Target: OpenBSD/sparc
 	gdb_target_obs="sparc-tdep.o sparc-nbsd-tdep.o sparc-obsd-tdep.o \
-			nbsd-tdep.o obsd-tdep.o bsd-uthread.o solib-svr4.o \
+			nbsd-tdep.o bsd-uthread.o \
 			ravenscar-thread.o sparc-ravenscar-thread.o"
 	;;
 sparc64-*-openbsd*)
 	# Target: OpenBSD/sparc64
 	gdb_target_obs="sparc64-tdep.o sparc64-nbsd-tdep.o sparc64-obsd-tdep.o \
 			sparc-tdep.o sparc-nbsd-tdep.o sparc-obsd-tdep.o \
-			nbsd-tdep.o obsd-tdep.o bsd-uthread.o solib-svr4.o \
+			nbsd-tdep.o bsd-uthread.o \
 			ravenscar-thread.o sparc-ravenscar-thread.o"
 	;;
 sparc-*-solaris2* | sparcv9-*-solaris2* | sparc64-*-solaris2*)
@@ -660,67 +677,61 @@ vax-*-*)
 
 x86_64-*-darwin*)
 	# Target: Darwin/x86-64
-	gdb_target_obs="amd64-tdep.o arch/amd64.o i386-tdep.o i386.o i387-tdep.o \
+	gdb_target_obs="${i386_tobjs} \
 			i386-darwin-tdep.o amd64-darwin-tdep.o \
                         solib-darwin.o"
 	;;
 
 x86_64-*-dicos*)
 	# Target: DICOS/x86-64
-	gdb_target_obs="amd64-tdep.o arch/amd64.o i386-tdep.o i386.o i387-tdep.o \
+	gdb_target_obs="${i386_tobjs} \
 			dicos-tdep.o i386-dicos-tdep.o amd64-dicos-tdep.o"
 	;;
 x86_64-*-elf*)
-	gdb_target_obs="amd64-tdep.o arch/amd64.o i386-tdep.o i386.o i387-tdep.o"
+	gdb_target_obs="${i386_tobjs}"
 	;;
 x86_64-*-linux*)
 	# Target: GNU/Linux x86-64
-	gdb_target_obs="amd64-tdep.o amd64-linux-tdep.o arch/amd64.o i386-tdep.o \
-			i387-tdep.o i386.o i386-linux-tdep.o glibc-tdep.o \
+	gdb_target_obs="amd64-linux-tdep.o ${i386_tobjs}  \
+			i386-linux-tdep.o glibc-tdep.o \
 			solib-svr4.o symfile-mem.o linux-tdep.o linux-record.o"
 	build_gdbserver=yes
 	;;
 x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu)
 	# Target: FreeBSD/amd64
-	gdb_target_obs="amd64-tdep.o arch/amd64.o amd64-fbsd-tdep.o i386-tdep.o \
-			i386.o i387-tdep.o i386-bsd-tdep.o i386-fbsd-tdep.o \
-			fbsd-tdep.o solib-svr4.o"
+	gdb_target_obs="amd64-fbsd-tdep.o ${i386_tobjs} \
+			i386-bsd-tdep.o i386-fbsd-tdep.o"
 	;;
 x86_64-*-mingw* | x86_64-*-cygwin*)
         # Target: MingW/amd64
-	gdb_target_obs="amd64-tdep.o arch/amd64.o amd64-windows-tdep.o \
-                        i386-tdep.o i386.o i386-cygwin-tdep.o i387-tdep.o \
+	gdb_target_obs="amd64-windows-tdep.o \
+                        ${i386_tobjs} i386-cygwin-tdep.o \
                         windows-tdep.o"
 	build_gdbserver=yes
         ;;
 x86_64-*-netbsd* | x86_64-*-knetbsd*-gnu)
 	# Target: NetBSD/amd64
-	gdb_target_obs="amd64-tdep.o arch/amd64.o amd64-nbsd-tdep.o i386-tdep.o \
-			i386.o i387-tdep.o nbsd-tdep.o solib-svr4.o"
+	gdb_target_obs="amd64-nbsd-tdep.o ${i386_tobjs}"
 	;;
 x86_64-*-openbsd*)
 	# Target: OpenBSD/amd64
-	gdb_target_obs="amd64-tdep.o arch/amd64.o amd64-obsd-tdep.o i386-tdep.o \
-			i387-tdep.o i386-bsd-tdep.o i386-obsd-tdep.o \
-			i386.o obsd-tdep.o bsd-uthread.o solib-svr4.o"
+	gdb_target_obs="amd64-obsd-tdep.o ${i386_tobjs} \
+			i386-bsd-tdep.o i386-obsd-tdep.o \
+			bsd-uthread.o"
 	;;
 x86_64-*-rtems*)
-	gdb_target_obs="amd64-tdep.o arch/amd64.o i386-tdep.o i386.o i387-tdep.o \
-			i386-bsd-tdep.o"
+	gdb_target_obs="${amd64_tobjs} ${i386_tobjs} i386-bsd-tdep.o"
 	;;
 xtensa*-*-linux*)	gdb_target=linux
 	# Target: GNU/Linux Xtensa
-	gdb_target_obs="xtensa-tdep.o xtensa-config.o xtensa-linux-tdep.o \
-			solib-svr4.o symfile-mem.o linux-tdep.o"
+	gdb_target_obs="xtensa-linux-tdep.o symfile-mem.o linux-tdep.o"
 	build_gdbserver=yes
 	;;
-xtensa*)
-	# Target: Tensilica Xtensa processors
-	gdb_target_obs="xtensa-tdep.o xtensa-config.o solib-svr4.o"
-	;;
 
 esac
 
+gdb_target_obs="${cpu_obs} ${os_obs} ${gdb_target_obs}"
+
 # map target onto default OS ABI
 
 case "${targ}" in
