Deutsch   English   Français   Italiano  
<20250410120954.337@kylheku.com>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail
From: Kaz Kylheku <643-408-1753@kylheku.com>
Newsgroups: comp.lang.c
Subject: Re: do { quit; } else { }
Date: Thu, 10 Apr 2025 19:14:20 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 24
Message-ID: <20250410120954.337@kylheku.com>
References: <vspbjh$8dvd$1@dont-email.me> <vt2lp6$1qtjd$1@dont-email.me>
 <vt31m5$2513i$1@dont-email.me> <vt3d4g$2djqe$1@dont-email.me>
 <vt3iqh$2ka99$1@dont-email.me> <868qoaeezc.fsf@linuxsc.com>
 <vt3oeo$2oq3p$1@dont-email.me> <86mscqcpy1.fsf@linuxsc.com>
 <vt48go$35hh3$2@dont-email.me> <86iknecjz8.fsf@linuxsc.com>
 <vt4del$3a9sk$1@dont-email.me> <86o6x5at05.fsf@linuxsc.com>
 <vt712u$1m84p$1@dont-email.me> <20250409170901.947@kylheku.com>
 <vt88bk$2rv8r$1@dont-email.me> <20250410092409.825@kylheku.com>
 <v8UJP.52200$j2D.50588@fx09.iad>
Injection-Date: Thu, 10 Apr 2025 21:14:20 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="e3007b402d1419a454483462709f55b6";
	logging-data="3827006"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX19jjprJTYfnDQVUNNrsNKFlF/b/pCHUNzY="
User-Agent: slrn/pre1.0.4-9 (Linux)
Cancel-Lock: sha1:HJ5wY2H//v5vPnBEXPFuUtbPqKc=
Bytes: 2544

On 2025-04-10, Scott Lurndal <scott@slp53.sl.home> wrote:
> Kaz Kylheku <643-408-1753@kylheku.com> writes:
>>On 2025-04-10, bart <bc@freeuk.com> wrote:
>
>>As far as different translation units go, there are rules. But most
>>implementations of C operate on faith: implementations see only
>>the type declarations in one translation unit being processed.
>>It is trusted that cross-translation-unit uses of types are compatible.
>
> And when they're not compatible, it can take _days_ to find the
> bug.  I was once called in to debug a random SIGSEGV in a large
> crypto application (generated X.509 site certificates for most of the
> world at the time).   Turned out that different components of the
> the application were linked against different versions of the crypto
> library (a proprietary predecessor to openssl).

OpenSSL's libcrypto libcrypto doesn't do any symbol versioning, allowing
old binary clients to link to the latest versions of its functions that
require different structures. It's completely bonkers.

-- 
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
Mastodon: @Kazinator@mstdn.ca