Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Mark Kettenis <kettenis@chello.nl>
To: gdb-patches@sources.redhat.com
Subject: [PATCH/RFC] Fix asm-source.exp on FreeBSD
Date: Sat, 10 May 2003 11:05:00 -0000	[thread overview]
Message-ID: <200305101105.h4AB5loE042084@elgar.kettenis.dyndns.org> (raw)

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.

Mark

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


             reply	other threads:[~2003-05-10 11:05 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-05-10 11:05 Mark Kettenis [this message]
2003-05-10 14:24 ` Andrew Cagney
2003-05-30 18:05   ` Mark Kettenis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200305101105.h4AB5loE042084@elgar.kettenis.dyndns.org \
    --to=kettenis@chello.nl \
    --cc=gdb-patches@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox