* 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).