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.
+2017-06-13 Simon Marchi <simon.marchi@ericsson.com>
+
+ * configure.nat: Factor out Darwin bits that are not
+ architecture-specific. Add fork-inferior.o.
+
2017-06-13 Simon Marchi <simon.marchi@ericsson.com>
* configure.nat: Factor out AIX bits that are not
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.
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
;;