Re: Global variable in static library - double free or corruption error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 






----- Original Message ----
> From: Andrew Haley <aph@xxxxxxxxxx>
> To: noloader@xxxxxxxxx
> Cc: Alexey Skidanov <skidanovalexey@xxxxxxxxx>; Alexey Skidanov 
><Alexey.Skidanov@xxxxxxxxxxxx>; gcc-help@xxxxxxxxxxx
> Sent: Fri, October 22, 2010 3:02:13 PM
> Subject: Re: Global variable in static library - double free or corruption 
>error
> 
> On 10/22/2010 01:22 PM, Jeffrey Walton wrote:
> > On Fri, Oct 22, 2010 at 4:32 AM, Andrew Haley <aph@xxxxxxxxxx> wrote:
> >> Please stop top-posting.  It makes it very hard to reply to you.
> >>
> >> On 10/21/2010 09:01 PM, Alexey Skidanov wrote:
> >>> Actually, you claim that if some static library defines some global 
>variable,
> >>> then it should NOT be linked with more then one shared library.
> >>
> >> In the same process, yes.  That's absolutely true.
> >>
> >>> That is, if you
> >>> have the dependencies tree like in my example then you have a problem. 
>Think
> >>> about such static library is third party library where I can't change the 
>code.
> >>>
> >>> Regarding the ODR. You are absolutly right. But what about a MULTIPLE 
>variable
> >>> initialization. Is it correct behaviour according to standard?
> >>
> >> I don't know what you mean by a "MULTIPLE variable initialization".
> > I believe he means the constructor running multiple times (the
> > antithesis of the destructor running multiple times).
> 
> I see, thanks.
> 
> Well, unless there's a bug you can't get that unless you break the
> ODR.

Do you mean, once I break the ODR the further behaviour is unexpected?

You are right. I break it. And I would like to get linker/loader error/warning 
as I get linking two object files with the same global variable defined in each 
file ( "Symbol zzz already defined" or something like that). 


> 
> Andrew.
> 






[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux