delorie.com/archives/browse.cgi | search |
X-Authentication-Warning: | delorie.com: mail set sender to djgpp-bounces using -f |
X-Recipient: | djgpp AT delorie DOT com |
X-Original-DKIM-Signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; |
d=gmail.com; s=20120113; | |
h=mime-version:in-reply-to:references:from:date:message-id:subject:to; | |
bh=BduK5u/xsEKi1RkenvEthxh7xx4j/hF+kgEKXXXzwVg=; | |
b=EyeSVVy1sBwfPqf4KrwqJ94urbs7C93QvOPPENowppcLEvY2/9B1XAP1KTRpA3EIr7 | |
UQTY+m3qSCIjltTOlxhBheMUwZg5/fyeL58w0vxreRHs7o86SwHSeqXAf5jVrxFBF0wT | |
oqMa5VzOOYQ4sv36ZyepjUwMpvmZU5qKcvz/qpZo5Tqau5z/sUAcwnzaQ9FMKbzPlo+b | |
6bCbm4tQ8KKZRlQacW83JBqFdsPIftR9n5Nv9C7WusP74wmYRtxDB4xJrz9TcwmBQmz4 | |
BkV4315pQL4g/OFriWDY7yOxozklcht1RU27KXPckhGTDzKAEY9OSAvGY34NKwvn9+Ds | |
YElQ== | |
X-Google-DKIM-Signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; |
d=1e100.net; s=20130820; | |
h=x-gm-message-state:mime-version:in-reply-to:references:from:date | |
:message-id:subject:to; | |
bh=BduK5u/xsEKi1RkenvEthxh7xx4j/hF+kgEKXXXzwVg=; | |
b=iJ6V5JCWgZg+7A4cpZCRATPmx3Zmrw6VcZyglObzHi+HSLx26VUOSKE9CRvhy2cmXm | |
aVPQkpPQtnpyTxy1TpPtSuieILfy3EoDh9W88iEOInaFFr6oZqPteZ27ORnuqQHHtkdo | |
lk895l3lgTzcB909VQ0hB9xUNP2ZGcfnfJLuvOvMzIS0qi3hTN/R/2rxDjQ5LHEsien/ | |
zr/xt6HqpeMs+re5atEzfsAWQ4Cf9xVVtkSOCoLz7lgZ4WT/RYRV/7iit3IxbKaP5L3C | |
rfYPQQojN/sPfllpzEl4jJKzIMR1WS/ke6vgJaqd7po58CQgvdmEiCfcdmhiNaKSbwXG | |
4Glw== | |
X-Gm-Message-State: | AEkooutEr1JC1v+lIV2VY18qSj9kCD/xvPU10jA8C3WByHnVibhaw+PCI342WyPbhl/QJO0z4vdPeivFBVA0dQ== |
X-Received: | by 10.107.14.74 with SMTP id 71mr4147060ioo.93.1469188841818; Fri, |
22 Jul 2016 05:00:41 -0700 (PDT) | |
MIME-Version: | 1.0 |
In-Reply-To: | <d4e8427b-b265-41c5-8322-58ff3043fcac@googlegroups.com> |
References: | <e5d46af2-36fb-46af-af04-805ce2f8b6c3 AT googlegroups DOT com> |
<b558cc5e-cc8f-4794-a8ca-f90f65312a90 AT googlegroups DOT com> <d4e8427b-b265-41c5-8322-58ff3043fcac AT googlegroups DOT com> | |
From: | "Ozkan Sezer (sezeroz AT gmail DOT com) [via djgpp AT delorie DOT com]" <djgpp AT delorie DOT com> |
Date: | Fri, 22 Jul 2016 15:00:41 +0300 |
Message-ID: | <CAA2C=vDd7mD3iO13M2FQLVoJ=tCjWGhAfkuj1NsyxN9a9PQY6Q@mail.gmail.com> |
Subject: | Re: LD from binutils 2.26 crashes when -ffunction-sections + |
-Wl,--gc-sections is used but only under DOS | |
To: | djgpp AT delorie DOT com |
Reply-To: | djgpp AT delorie DOT com |
Errors-To: | nobody AT delorie DOT com |
X-Mailing-List: | djgpp AT delorie DOT com |
X-Unsubscribes-To: | listserv AT delorie DOT com |
On 7/22/16, RayeR (glaux AT centrum DOT cz) [via djgpp AT delorie DOT com] <djgpp AT delorie DOT com> wrote: >> And if crash it should be consistent and crash under Windows too. > > OK, maybe the bug is happening under Windows too but their memory management > of NTVDM is more benevolent to memory protection and doesn't trigger fault > in some cases. Even if so the produced binary seems to be OK (and smaller). > It segs in fini_reloc_cookie_rels() because (sec)->used_by_bfd is NULL Program received signal SIGSEGV, Segmentation fault. 0x08088dbd in _bfd_coff_gc_mark (info=0x80f3b80, sec=0x906b248, gc_mark_hook=0x80859b0 <_bfd_coff_gc_mark_hook>) at ../../binutils-2.26/bfd/coffgen.c:2691 2691 if (cookie->rels && coff_section_data (NULL, sec)->relocs != cookie->rels) (gdb) bt #0 0x08088dbd in _bfd_coff_gc_mark (info=0x80f3b80, sec=0x906b248, gc_mark_hook=0x80859b0 <_bfd_coff_gc_mark_hook>) at ../../binutils-2.26/bfd/coffgen.c:2691 #1 0x08088e22 in _bfd_coff_gc_mark (info=0x80f3b80, sec=0x906b89c, gc_mark_hook=0x80859b0 <_bfd_coff_gc_mark_hook>) at ../../binutils-2.26/bfd/coffgen.c:2799 #2 0x08088e22 in _bfd_coff_gc_mark (info=0x80f3b80, sec=0x905ac84, gc_mark_hook=0x80859b0 <_bfd_coff_gc_mark_hook>) at ../../binutils-2.26/bfd/coffgen.c:2799 #3 0x08088e22 in _bfd_coff_gc_mark (info=0x80f3b80, sec=0x905abd0, gc_mark_hook=0x80859b0 <_bfd_coff_gc_mark_hook>) at ../../binutils-2.26/bfd/coffgen.c:2799 #4 0x08088f31 in bfd_coff_gc_sections (abfd=0x9051918, info=0x80f3b80) at ../../binutils-2.26/bfd/coffgen.c:3045 #5 0x0805af43 in lang_process () at ../../binutils-2.26/ld/ldlang.c:6502 #6 0x0805e952 in main (argc=15, argv=0xbfb8e504) at ../../binutils-2.26/ld/ldmain.c:414 Doing the following makes the program to run without crashing: --- binutils-2.26/bfd/coffgen.c.orig +++ binutils-2.26/bfd/coffgen.c @@ -2688,8 +2688,11 @@ fini_reloc_cookie_rels (struct coff_reloc_cookie *cookie, asection *sec) { - if (cookie->rels && coff_section_data (NULL, sec)->relocs != cookie->rels) + if (cookie->rels) { + if (!coff_section_data(NULL, sec)) return; + if (coff_section_data (NULL, sec)->relocs != cookie->rels) free (cookie->rels); + } } /* Initialize the whole of COOKIE for input section SEC. */ It is very possible that this isn't a proper fix though. -- O.S.
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |