Re: Revert "Many Pages: Remove references to C89"

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

 



Hi Brian,

On 3/10/23 07:40, Brian Inglis wrote:
> On Fri, 10 Mar 2023 03:22:12 +0100, Alejandro Colomar wrote:
>> On 3/10/23 02:51, Matt Jolly wrote:
>>> I hope this email finds you well. I am writing to raise an issue that has 
>>> been causing inconvenience for me (and potentially others). The recent 
>>> removal of C89 information from man pages (72b349dd8c209d7375d4d4f76e2315943d654ee9) 
>>> has put me in a difficult situation. >> As I continue to work on code that adheres to the C89 style, such as cURL,
>>> I am unable to quickly determine if a particular function can be used or if
>>> it was introduced in a later standard like C 99. >> This slows down my workflow and hampers my productivity.
>>> Therefore, I kindly request that we revert the changes made in the "Many 
>>> pages: Remove references to C89" patch. >> Furthermore, I urge everyone to recognize the importance of this
>>> information and ensure it is not removed from man pages in the future.
>> The main problem was that the existing info about C89 was not consistent.
>> Some pages declared APIs being standard since C89, while others didn't.
>> Incorrect info isn't much better than no info.
>> I'm curious about cURL's real need for C89. I see that cURL uses GNU
>> extensions (-std=gnu89), which actually pulls most of C99[1] (I think
>> it pulls the entire C library, and most of the core language).
>> Virtually all (even MS, which has always been the last in this)
>> systems support C99; why would you consciously avoid it? Is there
>> any system that doesn't yet support it? Which are the C libraries
>> that you need to support that don't provide C99 functions by default
>> (or at all)?
>> I'd like to really understand the need for C89 in 2023.
> A quick browse down:
> 
> 	https://curl.se/download.html
> 
> shows a number of legacy platforms and versions available:
> 
> 	SCO UnixWare             	7.10.3
> 	Linux MIPSel             	7.10.7
> 	RISC OS                  	7.11.0
> 	Linux Slackware S390     	7.12.2
> 	BeOS                     	7.12.3
> 	AmigaOS m68k             	7.14.0
> 	SGI IRIX 6.5             	7.15.1
> 	Digital Tru64 UNIX 4.0D  	7.15.1
> 	SCO Open Server 5        	7.15.1
> 	Linux Maemo 3.2          	7.15.5
> 	Linux Slackware PPC      	7.16.2	Slackintosh
> 	Linux OpenWRT 8.09.1 MIPSel	7.17.1
> 	Linux Unslung            	7.17.1
> 	MiNT                     	7.20.1
> 	QNX 6.5                  	7.21.7
> 	Linux Ångström PPC       	7.24.0
> 	Plan9                    	7.28.1	9front
> 	Linux Tizen 2.3 ARM      	7.28.1
> 	OS/2                     	7.36.0

It would be interesting to know which compiler and libc is being
used for each of those.

> 
> which may need e.g. third party patches to remain secure.
> Not to mention the legacy systems on those platforms.
> Perhaps the US FAA or certain US regional airlines still use these? ;^>
> Even DOS DJGPP supports GCC 9.3 with -std=c2x!

Indeed.  Port your compiler (and libc) not your program ;)

C99 has been supported by GCC since basically forever.  Most
of it seems to be supported since gcc-3.0 (year 2001),
according to <https://gcc.gnu.org/c99status.html>.  Anyway,
in the manual pages, the relevant part is libc.  glibc supports
C99 since glibc-2.2 (year 2000), according to
<https://gcc.gnu.org/onlinedocs/gcc-9.3.0/gcc/Standard-Libraries.html>.

I would like to see a list of actual systems where there's no
support for C99 functions at all.


Cheers,
Alex


P.S.:  Brian, how's that thing about digit separators going on?
I hope I didn't discourage you by being picky in the commit
separation :-)  I'm really interested in those patches.


-- 
<http://www.alejandro-colomar.es/>
GPG key fingerprint: A9348594CE31283A826FBDD8D57633D441E25BB5

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux