public inbox for developer@lists.illumos.org (since 2011-08)
 help / color / mirror / Atom feed
* Recent GCC improvements
@ 2024-05-22 11:56 Jonathan Perkin
  2024-05-22 15:06 ` [developer] " Alan Coopersmith
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Jonathan Perkin @ 2024-05-22 11:56 UTC (permalink / raw)
  To: illumos-developer

Hi,

Rich encouraged me to ping the list about a couple of GCC fixes I've 
recently worked on.  I'm reasonably confident that they would be useful 
for other distributions to pick up, and perhaps eventually make their 
way upstream.

First, this fix for __STDC_VERSION__ being defined in C++ code:

   https://github.com/jperkin/notes/blob/main/gcc-cpp-stdc/README.md

This fixes at least one third-party package (scipy), and probably others 
that depend on cython.  I also have memories of fixing this manually in 
third party code in the past, so it's likely some other upstream issues 
are being masked.

Secondly, this fix for C++ locale support:

   https://github.com/jperkin/notes/blob/main/gcc-cpp-locale/README.md

This fixes crashes in mkvmerge when using anything other than a "C" 
locale, and likely other software written in C++ that uses similar 
interfaces.

For the second fix in particular it would be good if those familiar with 
the locale support in illumos could take a look at any support we're 
missing.  I noticed the lack of localeconv_l(), hence why LC_MONETARY 
and LC_NUMERIC are not yet supported, but there may be others.

Cheers,

-- 
Jonathan Perkin   -   mnx.io   -   pkgsrc.smartos.org
Open Source Complete Cloud   www.tritondatacenter.com

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [developer] Recent GCC improvements
  2024-05-22 11:56 Recent GCC improvements Jonathan Perkin
@ 2024-05-22 15:06 ` Alan Coopersmith
  2024-05-22 15:58 ` Robert Mustacchi
  2024-05-24 12:32 ` Jonathan Perkin
  2 siblings, 0 replies; 5+ messages in thread
From: Alan Coopersmith @ 2024-05-22 15:06 UTC (permalink / raw)
  To: developer

On 5/22/24 04:56, Jonathan Perkin wrote:
> Hi,
> 
> Rich encouraged me to ping the list about a couple of GCC fixes I've recently 
> worked on.  I'm reasonably confident that they would be useful for other 
> distributions to pick up, and perhaps eventually make their way upstream.
> 
> First, this fix for __STDC_VERSION__ being defined in C++ code:
> 
>    https://github.com/jperkin/notes/blob/main/gcc-cpp-stdc/README.md
> 
> This fixes at least one third-party package (scipy), and probably others that 
> depend on cython.  I also have memories of fixing this manually in third party 
> code in the past, so it's likely some other upstream issues are being masked.

The upstream g++ bug explaining why this was necessary is:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57025

Since gcc has now dropped support for Solaris 11.3 & older [1],
and illumos removed the offending bit of sys/feature_tests.h 6 years ago [2],
perhaps you could suggest that the definition can be dropped now for gcc 15.

[1] https://gcc.gnu.org/pipermail/libstdc++/2024-May/058672.html
[2] 
https://github.com/illumos/illumos-gate/commit/be4355ddcfa407e2d3e4a06973af5cbef6ccdbae

	-alan-

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [developer] Recent GCC improvements
  2024-05-22 11:56 Recent GCC improvements Jonathan Perkin
  2024-05-22 15:06 ` [developer] " Alan Coopersmith
@ 2024-05-22 15:58 ` Robert Mustacchi
  2024-05-22 16:21   ` Jonathan Perkin
  2024-05-24 12:32 ` Jonathan Perkin
  2 siblings, 1 reply; 5+ messages in thread
From: Robert Mustacchi @ 2024-05-22 15:58 UTC (permalink / raw)
  To: illumos-developer, Jonathan Perkin

On 5/22/24 04:56, Jonathan Perkin wrote:
> For the second fix in particular it would be good if those familiar with
> the locale support in illumos could take a look at any support we're
> missing.  I noticed the lack of localeconv_l(), hence why LC_MONETARY
> and LC_NUMERIC are not yet supported, but there may be others.

If we get a full list of functions that the backend wants to use, I'd be
happy to take a look at implementing the required functions to help
there. It's hard for me to tell if everything that the BSDs have done in
their xlocale.h is required or not.

Robert


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [developer] Recent GCC improvements
  2024-05-22 15:58 ` Robert Mustacchi
@ 2024-05-22 16:21   ` Jonathan Perkin
  0 siblings, 0 replies; 5+ messages in thread
From: Jonathan Perkin @ 2024-05-22 16:21 UTC (permalink / raw)
  To: Robert Mustacchi; +Cc: illumos-developer

* On 2024-05-22 at 16:59 BST, Robert Mustacchi wrote:

>On 5/22/24 04:56, Jonathan Perkin wrote:
>> For the second fix in particular it would be good if those familiar with
>> the locale support in illumos could take a look at any support we're
>> missing.  I noticed the lack of localeconv_l(), hence why LC_MONETARY
>> and LC_NUMERIC are not yet supported, but there may be others.
>
>If we get a full list of functions that the backend wants to use, I'd be
>happy to take a look at implementing the required functions to help
>there. It's hard for me to tell if everything that the BSDs have done in
>their xlocale.h is required or not.

I _think_ this is the full list:

   localeconv_l()
   strtod_l()
   strtof_l()
   strtold_l()
   wcsftime_l()

At least these are all missing on joyent_20240222T001232Z.

Thanks!

-- 
Jonathan Perkin   -   mnx.io   -   pkgsrc.smartos.org
Open Source Complete Cloud   www.tritondatacenter.com

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [developer] Recent GCC improvements
  2024-05-22 11:56 Recent GCC improvements Jonathan Perkin
  2024-05-22 15:06 ` [developer] " Alan Coopersmith
  2024-05-22 15:58 ` Robert Mustacchi
@ 2024-05-24 12:32 ` Jonathan Perkin
  2 siblings, 0 replies; 5+ messages in thread
From: Jonathan Perkin @ 2024-05-24 12:32 UTC (permalink / raw)
  To: illumos-developer

* On 2024-05-22 at 12:58 BST, Jonathan Perkin wrote:

>First, this fix for __STDC_VERSION__ being defined in C++ code:
>
>  https://github.com/jperkin/notes/blob/main/gcc-cpp-stdc/README.md
>
>This fixes at least one third-party package (scipy), and probably 
>others that depend on cython.  I also have memories of fixing this 
>manually in third party code in the past, so it's likely some other 
>upstream issues are being masked.

Note that I've updated this with an additional patch that is required 
for va_copy() visibility in C++98 and C++03 code.  This broke the build 
of spidermonkey185 that I had initially marked down as being masked by a 
separate intermittent failure.

The additional patch restores the va_copy() visibility behaviour 
compared to unpatched compilers for older C++ code, and is being pushed 
through additional bulk builds at the moment.

Cheers,

-- 
Jonathan Perkin   -   mnx.io   -   pkgsrc.smartos.org
Open Source Complete Cloud   www.tritondatacenter.com

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2024-05-24 12:32 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-05-22 11:56 Recent GCC improvements Jonathan Perkin
2024-05-22 15:06 ` [developer] " Alan Coopersmith
2024-05-22 15:58 ` Robert Mustacchi
2024-05-22 16:21   ` Jonathan Perkin
2024-05-24 12:32 ` Jonathan Perkin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).