delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2020/12/10/15:17:05

X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f
X-Recipient: djgpp AT delorie DOT com
Subject: Re: Difficulties compiling libc from repository using gcc 10.N.0
To: djgpp AT delorie DOT com
References: <5FD1FEA1 DOT 7010304 AT gmx DOT de>
<8816d501-9f33-4d68-4235-1935a83580f6 AT gmail DOT com>
<CAA2C=vACivjbYiU7yVpyFdzKjjKB10E1tvqShLPQ6i31cuKrDA AT mail DOT gmail DOT com>
<111383e4-b3db-f346-b71c-749dee17dc9e AT gmail DOT com>
<CAA2C=vDL+YWHssNteT71jUNxYAJkxwiNXrKp1O618tY6bHHcxg AT mail DOT gmail DOT com>
<831rfx4ixg DOT fsf AT gnu DOT org> <6371c322-a0ad-b85a-1ccc-1bdfff4a8d87 AT gmail DOT com>
From: Richard Damon <Richard AT Damon-Family DOT org>
Message-ID: <65b0c07f-88c1-1696-25ad-4c9a5c094159@Damon-Family.org>
Date: Thu, 10 Dec 2020 15:13:15 -0500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:78.0)
Gecko/20100101 Thunderbird/78.5.1
MIME-Version: 1.0
In-Reply-To: <6371c322-a0ad-b85a-1ccc-1bdfff4a8d87@gmail.com>
X-Provags-ID: V03:K1:tdSOR9cahjaCWE/q16FxgJlOuucvmx5NNmnV/24Ww3Yn7lL4jN3
Dt6KbO9vEARFInRm9wtVRiO7l8eaDk0ZXKdVlNLfywWhLI5i84dyP6AKD+oE1lbKeFYtlFL
i6V7xL5G+op7VMk8easmwnTKYvxGFnD9ycIsneo8JQPGsZel0WwtFBJ8eIGQblvpflhlM+R
eRBg7cmI+doW7XXaXLDpA==
X-Spam-Flag: NO
X-UI-Out-Filterresults: notjunk:1;V03:K0:1tQ3zdPZyzA=:PgJfhFjWUdIOIzI7k8WzyN
aDXMPjn4VIdfO4DJalWfrVCAdMu40a3lVB7IpYbFe/Z/cZT6yMY+emJmpQ4JnwVHoOpSbTZT/
e732daQLSUDYAvF/VHLbNC2JMtbz3CG0pvGUHjoYVtnQno/QJLsyKvlTO+4FQESQ9u97zQN5X
AVjtZEQ5bOUaCMfOHxm+FiHquBzoI16x0x+HFdtGFi9hu3bKzOjzjCSt6ri977joE65S7nRan
fU9DT9Tg0pdZTEcD0QLKzQhOo3hDMf1ibM6xaRiTtyKTkiDW8+LYE7inFb5N4wJBcu5XfRNDT
nu/a5+z3ay3iuSVeJwdyVG69tzjHxfBdXzhLMhLMIx9AKpEOVQVivdeYmT5mTcdY1lwyzCuWs
Qq43+VimxHcIQZFLJCDPFFrnOAW/ZYD3BUatVUgAuWojoeqeh8cojJ2VkargpO97YGjW0ZHCA
62f9pTpXLg==
Reply-To: djgpp AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On 12/10/20 1:55 PM, J.W. Jagersma (jwjagersma AT gmail DOT com) [via
djgpp AT delorie DOT com] wrote:
> This only applies to global variables (and __stdio_cleanup_hook here is a
> function *pointer*), functions themselves still have implicit external linkage.
>
> I'm not a C language lawyer but this page suggests that it was always an error
> to omit 'extern' on global variable declarations.  It just wasn't reported as
> such, until now:
>
> https://gcc.gnu.org/gcc-10/porting_to.html

Yes, The C Standard explicitly states that if two Translation Units
define the same variable, it is undefined behavior.

A Translation Unit is considered to define (vs declare) a variable if it
is mentioned with the extern storage specifier.

Many programs have broken this rule, but gcc (and others) have covered
this issue with the -fcommon being assumed.

-- 
Richard Damon

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019