This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Results for 2.19.51.20090517 testsuite on i686-pc-cygwin


Dave Korn <dave.korn.cygwin@googlemail.com> writes:

> Ian Lance Taylor wrote:
>> Dave Korn <dave.korn.cygwin@googlemail.com> writes:
>> 
>>> Christian Joensson wrote:
>>>
>>>> FAIL: cdtest with -Ur
>>>   That one should probably be skipped.  I don't think -Ur means anything on
>>> cygwin.
>> 
>> On cygwin -Ur should mean that the global constructor tables have proper
>> header and trailer information.  This may not be useful but it is
>> defined.
>
>   You mean the sentinel entries (leading 0xffffffff, trailing 0x00000000)?  I
> don't quite get this; where would they go?

Around the list of constructors, as in a final link.

> The test in question uses -Ur with
> a relocatable link.  I don't understand how it's supposed to work; if we merge
> the .[cd]tor sections and build the lists and ap-/pre-pend the sentinels, the
> generated object won't be truly relocatable - as indeed that's what we do, and
> we fail when further static [cd]tors are added in the final link and they
> don't all get processed.  Are we just supposed to preserve separate
> .ctor/.dtor sections, but build the final form of the lists in them?  That
> doesn't seem like it would work right either.

The test will only work if no additional constructors and destructors
are added in the final link.  The test is intended to not require such
constructors.  It may be that that can not work on cygwin; I don't know.

The purpose of -Ur is for environments like Vxworks, where programs are
relocatable objects and the final link is done at runtime by the loader.

Ian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]