This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: binutils-2.19.90 snapshot is available
- From: Christopher Faylor <cgf-use-the-mailinglist-please at sourceware dot org>
- To: Tristan Gingold <gingold at adacore dot com>, binutils at sources dot redhat dot com, Dave Korn <dave dot korn dot cygwin at googlemail dot com>
- Date: Sat, 12 Sep 2009 02:02:31 -0400
- Subject: Re: binutils-2.19.90 snapshot is available
- References: <20090910120012.D43AFDFFBBE@ulanbator.act-europe.fr> <4AAAF4F5.20307@gmail.com>
On Sat, Sep 12, 2009 at 02:10:13AM +0100, Dave Korn wrote:
>Tristan Gingold wrote:
>> Hi,
>>
>> I have just uploaded binutils-2.19.90.tar.bz2 on sourceware.org in
>> ~ftp/pub/binutils/snapshots.
>>
>> 4de5ec0fbaea190caa1a6a4812f4deff binutils-2.19.90.tar.bz2
>>
>> This snapshot was sanity-checked.
>> Please test it for your favorite hosts/targets.
>
> I've just had reported a fairly significant problem with the PE linker in
>relocatable mode:
>
>http://sourceware.org/bugzilla/show_bug.cgi?id=10634
>
> LD is mishandling the location counter here quite badly and generating
>overlapping output sections with excess padding. I'll try my best to figure
>this out and get a fix for it during the day (Saturday) in hopes of getting it
>in time for the release.
I think that the problem is caused by the fix for PR 6945, change 1.296
to ldlang.c:
--- ldlang.c 21 Oct 2008 22:55:04 -0000 1.295
+++ ldlang.c 25 Oct 2008 09:54:01 -0000 1.296
@@ -4626,7 +4626,12 @@
os->name, (unsigned long) (newdot - savedot));
}
- bfd_set_section_vma (0, os->bfd_section, newdot);
+ /* PR 6945: Do not update the vma's of output sections
+ when performing a relocatable link on COFF objects. */
+ if (! link_info.relocatable
+ || (bfd_get_flavour (link_info.output_bfd)
+ != bfd_target_coff_flavour))
+ bfd_set_section_vma (0, os->bfd_section, newdot);
os->bfd_section->output_offset = 0;
Backing out this change seems to somewhat restore the expected behavior but
the object file linked with -r is not exactly equivalent to the original.
cgf