This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: Binutils objcopy bug (was Re: rebase segfault)
On Fri, Jan 18, 2013 at 04:34:25PM +0100, marco atzeri wrote:
>On 1/16/2013 1:35 PM, Corinna Vinschen wrote:
>>
>> As far as I can tell it's an objcopy bug.
>>
>> The stripped version of the DLL has a normal relocation information
>> which at one point ends in a NULL IMAGE_BASE_RELOCATION record, as
>> expected. After calling `objcopy --add-gnu-debuglink', the relocation
>> information is supposed to be the same as before, since the relocatable
>> file content didn't change.
>>
>> Nevertheless, when stepping through the relocator code in rebase, it
>> turns out that the former NULL IMAGE_BASE_RELOCATION record does not
>> contain only 0 values anymore. Rather, it has been overwritten with
>> some random(?) non-0 values, which rebase correctly interprets as the
>> start of the next IMAGE_BASE_RELOCATION array. So rebase blunders
>> along, thus either just SEGVing, if everything goes well, or, worst
>> case, overwriting formerly correct information in the file with
>> arbitrary data.
>>
>> This is a serious bug in objcopy in the current binutils. Given that
>> cygport creates the debug info automatically, we might end up with
>> spuriously broken DLLs in the distro.
>>
>> I checked with objcopy from the older binutils 2.51.53-2, and the
>> problem did not show up. I also built the latest binutils release
>> 2.23.1 and the problem also doesn't show, so we probably can get away
>> with just a black eye by updating binutils to 2.23.1. Chris?
>>
>>
>> Corinna
>>
>
>Chris,
>any news ?
Nope.
cgf
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple