This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Ever since asm-source.exp was changed to do the final link using gdb_compile, the tests have been failing for me. The problem is that FreeBSD's crt1.o defines some symbols (__progname, environ) that are referenced by libc.so, which makes the final link fail. Compiling statically fixes the problem.
I'm fairly certain that NetBSD and probably OpenBSD suffer from the same problem, so perhaps I should change the regexp to *-*-*bsd* instead. Can someone check whether that's indeed the case.
I've been using this patch in my local tree for quite some time now, so if I don't see any objections in the coming days, I'll check this in.
Index: testsuite/ChangeLog from Mark Kettenis <kettenis@gnu.org>
* gdb.asm/asm-source.exp: Make sure the final link succeeds on FreeBSD.
Index: testsuite/gdb.asm/asm-source.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.asm/asm-source.exp,v
retrieving revision 1.33
diff -u -p -r1.33 asm-source.exp
--- testsuite/gdb.asm/asm-source.exp 7 May 2003 21:52:53 -0000 1.33
+++ testsuite/gdb.asm/asm-source.exp 10 May 2003 10:55:52 -0000
@@ -99,6 +99,15 @@ if { "${asm-arch}" == "" } {
gdb_suppress_entire_file "Assembly source test -- not implemented for this target."
}
+# On FreeBSD, crt1.o the final link will fail because of unresolved
+# symbols. It turns out that libc.so references symbols that are
+# normally provided by crt1.o, which isn't linked in since we specify
+# -nostartfiles. Using -nostdlib doesn't help since target_compile
+# automatically adds -lm. Linking statically avoids this mess.
+if [istarget "*-*-freebsd*"] then {
+ set link-flags "-static"
+}
+
# Watch out, we are invoking the assembler, but the testsuite sets multilib
# switches according to compiler syntax. If we pass these options straight
# to the assembler, they won't always make sense. If we don't pass them to
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |