Patchwork [2/2] darwin: Add fork-inferior.o to NATDEPFILES

login
register
mail settings
Submitter Simon Marchi
Date June 10, 2017, 6:27 p.m.
Message ID <1497119266-19643-2-git-send-email-simon.marchi@ericsson.com>
Download mbox | patch
Permalink /patch/20903/
State New
Headers show

Comments

Simon Marchi - June 10, 2017, 6:27 p.m.
I happened to be build-testing on macOS and found this:

  Undefined symbols for architecture x86_64:

    "fork_inferior(char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char**, void (*)(), void (*)(int), void (*)(), char const*, void (*)(char const*, char* const*, char* const*))", referenced from:

        darwin_create_inferior(target_ops*, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char**, int) in darwin-nat.o

    "startup_inferior(int, int, target_waitstatus*, ptid_t*)", referenced from:

        gdb_startup_inferior(int, int) in fork-child.o

    "trace_start_error(char const*, ...)", referenced from:

        darwin_ptrace_me() in darwin-nat.o

    "trace_start_error_with_name(char const*)", referenced from:

        darwin_ptrace_me() in darwin-nat.o

  ld: symbol(s) not found for architecture x86_64

  clang: error: linker command failed with exit code 1 (use -v to see invocation)

Adding fork-inferior.o fixes it.  I factored out the Darwin bits that
are no architecture-specific in the section meant for that at the top.

I only built-tested this using Travis-CI, since I don't have access to
this platform.

gdb/ChangeLog:

	* configure.nat: Factor out Darwin bits that are not
	architecture-specific.  Add fork-inferior.o.
---
 gdb/configure.nat | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

Patch

diff --git a/gdb/configure.nat b/gdb/configure.nat
index b9b9a40..2026ee7 100644
--- a/gdb/configure.nat
+++ b/gdb/configure.nat
@@ -81,6 +81,10 @@  case ${gdb_host} in
     aix)
 	NATDEPFILES='fork-inferior.o fork-child.o inf-ptrace.o'
 	;;
+    darwin)
+	NATDEPFILES='fork-child.o fork-inferior.o darwin-nat.o \
+	    darwin-nat-info.o'
+        ;;
 esac
 
 # This is where we actually filter by host and host CPU.
@@ -133,9 +137,8 @@  case ${gdb_host} in
 	case ${gdb_host_cpu} in
 	    i386)
 		# Host: IA86 running Darwin
-		NATDEPFILES='fork-child.o darwin-nat.o \
-		i386-darwin-nat.o x86-nat.o x86-dregs.o amd64-nat.o \
-		darwin-nat-info.o'
+		NATDEPFILES="${NATDEPFILES} i386-darwin-nat.o x86-nat.o \
+		    x86-dregs.o amd64-nat.o"
 		;;
 	esac
 	;;