Date: 25 Oct 2000 13:46:50 -0400 From: Randell Jesup <rjesup@wgate.com> To: Warner Losh <imp@village.org> Cc: obrien@FreeBSD.ORG, Max Khon <fjoe@iclub.nsu.ru>, freebsd-stable@FreeBSD.ORG Subject: Re: GDB 4.18 and shared libraries (Mozilla) Message-ID: <ybulmvc24qd.fsf@jesup.eng.tvol.net.jesup.eng.tvol.net> In-Reply-To: Warner Losh's message of "Tue, 17 Oct 2000 18:00:32 -0600" References: <ybu1yxgjwqo.fsf@jesup.eng.tvol.net.jesup.eng.tvol.net> <20000919103436.B94601@dragon.nuxi.com> <Pine.BSF.4.21.0009201229450.13341-100000@iclub.nsu.ru> <20000920005447.B97385@dragon.nuxi.com> <200010180000.SAA13097@harmony.village.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Warner Losh <imp@village.org> writes: >In message <ybu1yxgjwqo.fsf@jesup.eng.tvol.net.jesup.eng.tvol.net> Randell Jesup writes: >: Well, personally, as a _user_ of FreeBSD, I don't care who has the >: finger pointed at them, or who claims "it isn't _our_ bug". I care that no >: one can debug a program that uses shared libraries under -STABLE, and I >: care when it will be fixed. I don't consider a system I have to patch the >: loader in order to debug my code to be "STABLE". > >No one is arguing with you that there is a bug. It is a matter of >finding someone to fix it. Fixing it isn't hard... This fix works just fine. From: "Bruce Bauman" <bbauman@wgate.com> Subject: linker bug in FreeBSD 4.x X-Sent: 6 weeks, 5 days, 21 hours, 55 minutes, 49 seconds ago There is a bug which is present in all 4.x (and 5.x) versions of FreeBSD which makes it difficult to debug code in shared libraries. I will place a new binary on io in ~wgate/ld.shlib-fix. You need to copy this to /usr/libexec/elf/ld (after saving the previous version of ld), and rebuild any shared libraries which you wish to debug. If you do a "make world", you will clobber this change, so beware! -- Bruce -- Bruce Here is a relevant source diff which fixes the bug: =================================================================== RCS file: /cvs/src/src/bfd/elf32-i386.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- src/bfd/elf32-i386.c 2000/03/01 19:40:53 1.8 +++ src/bfd/elf32-i386.c 2000/04/20 05:37:05 1.9 @@ -1291,7 +1291,9 @@ sections against symbols defined externally in shared libraries. We can't do anything with them here. */ - || (input_section->flags & SEC_DEBUGGING) != 0))) + || ((input_section->flags & SEC_DEBUGGING) != 0 + && (h->elf_link_hash_flags + & ELF_LINK_HASH_DEF_DYNAMIC) != 0)))) { /* In these cases, we don't need the relocation value. We check specially because in some -- Randell Jesup, Worldgate Communications, ex-Scala, ex-Amiga OS team ('88-94) rjesup@wgate.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ybulmvc24qd.fsf>