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: Regression in 2.30 for MinGW constructors/destructors


On 07/08/2018 09:06 PM, Martin Storsjö wrote:
> Hi,
> 
> It seems like the following commit introduced a regression for
> constructors for MinGW:
> 
> commit ca6f2be7f6bc638fd4fad48def1fae4ae4d7906e
> Author: Nick Clifton <nickc@redhat.com>
> Date:   Thu Aug 10 13:17:12 2017 +0100
> 
>     Add support for PE startup files that want to define their own
> constructor and desctructor sequencing.
> 
>         * scripttempl/pep.sc: Enclose __CTOR_LIST__, ___CTOR_LIST__,
>         __DTOR_LIST__ and ___DTOR_LIST__ in PROVIDE statements so that
>         they can be overrridden by crt input files.
>         * scripttempl/pe.sc: Likewise.
> 
> After this commit, setups with existing versions of mingw-w64 no longer
> run constructors.
> 
> The reason seems to be that if mingw-w64 startup files don't provide
> definitions of __CTOR_LIST__ etc (which they don't normally), the linker
> will fall back to a dummy __CTOR_LIST__ from libgcc.a(_ctors.o), and
> this __CTOR_LIST__ doesn't get sorted into the right location like
> either the linker script version does, or a manually defined one that
> provides explicit section placement.
> 
> // Martin
> 

Nick, any ideas?

Attachment: signature.asc
Description: OpenPGP digital signature


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