public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug d/98910] New: [11 regression] locale_t undefined on Solaris
@ 2021-02-01  9:19 ro at gcc dot gnu.org
  2021-02-02  8:10 ` [Bug d/98910] " rguenth at gcc dot gnu.org
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: ro at gcc dot gnu.org @ 2021-02-01  9:19 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98910

            Bug ID: 98910
           Summary: [11 regression] locale_t undefined on Solaris
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: d
          Assignee: ibuclaw at gdcproject dot org
          Reporter: ro at gcc dot gnu.org
  Target Milestone: ---
            Target: *-*-solaris2.11

Created attachment 50100
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50100&action=edit
Proposed patch.

This patch

commit 92dd3e71f957c7818f4ce4189bd187b59af20d9b
Author: Iain Buclaw <ibuclaw@gdcproject.org>
Date:   Thu Jan 28 11:18:42 2021 +0100

    libphobos: Synchronize libdruntime bindings with upstream druntime

broke Solaris bootstrap for two reasons:

* locale_t isn't defined:

/vol/gcc/src/hg/master/local/libphobos/libdruntime/core/sys/posix/locale.d:67:10:
error: undefined identifier 'locale_t'
   67 | locale_t duplocale(locale_t locale);
      |          ^
/vol/gcc/src/hg/master/local/libphobos/libdruntime/core/sys/posix/locale.d:69:10:
error: undefined identifier 'locale_t'
   69 | void     freelocale(locale_t locale);
      |          ^
/vol/gcc/src/hg/master/local/libphobos/libdruntime/core/sys/posix/locale.d:73:10:
error: undefined identifier 'locale_t'
   73 | locale_t newlocale(int mask, const char* locale, locale_t base);
      |          ^
/vol/gcc/src/hg/master/local/libphobos/libdruntime/core/sys/posix/locale.d:77:10:
error: undefined identifier 'locale_t'
   77 | locale_t uselocale (locale_t locale);
      |          ^
/vol/gcc/src/hg/master/local/libphobos/libdruntime/core/sys/posix/string.d:24:15:
error: module core.sys.posix.locale import 'locale_t' not found
   24 | public import core.sys.posix.locale : locale_t;
      |               ^

  While this can be fixed as in the attached patch, there's a caveat: locale_t
  and the functions using it are XPG7 additions, but Solaris 11.3 (which is
still
  supported by GCC) only conforms to XPG6.  I suspect it's not the only one.
  Right now, the effects aren't that bad as I've confirmed with an Solaris
  11.3/x86 bootstrap since those functions/types are only declared, but not
  actually used.

* there's an alias conflict for idtype_t:

/vol/gcc/src/hg/master/local/libphobos/libdruntime/core/thread/osthread.d:1468:12:
error: alias core.thread.osthread.idtype_t conflicts with alias
core.thread.osthread.idtype_t at
/vol/gcc/src/hg/master/local/libphobos/libdruntime/core/thread/osthread.d:162:12
 1468 |     import core.sys.posix.sys.wait : idtype_t;
      |            ^

  also fixed by removing the second group of imports.

The attached patch has been tested on both i386-pc-solaris2.11 (Solaris 11.4
and
11.3) and sparc-sun-solaris2.11 (Solaris 11.4).

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

* [Bug d/98910] [11 regression] locale_t undefined on Solaris
  2021-02-01  9:19 [Bug d/98910] New: [11 regression] locale_t undefined on Solaris ro at gcc dot gnu.org
@ 2021-02-02  8:10 ` rguenth at gcc dot gnu.org
  2021-02-03 21:08 ` cvs-commit at gcc dot gnu.org
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-02-02  8:10 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98910

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |11.0

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

* [Bug d/98910] [11 regression] locale_t undefined on Solaris
  2021-02-01  9:19 [Bug d/98910] New: [11 regression] locale_t undefined on Solaris ro at gcc dot gnu.org
  2021-02-02  8:10 ` [Bug d/98910] " rguenth at gcc dot gnu.org
@ 2021-02-03 21:08 ` cvs-commit at gcc dot gnu.org
  2021-02-04 19:34 ` ro at gcc dot gnu.org
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-02-03 21:08 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98910

--- Comment #1 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Iain Buclaw <ibuclaw@gcc.gnu.org>:

https://gcc.gnu.org/g:b1a207c6df0a9c5555017f65f8731acf8d4c14c2

commit r11-7091-gb1a207c6df0a9c5555017f65f8731acf8d4c14c2
Author: Iain Buclaw <ibuclaw@gdcproject.org>
Date:   Wed Feb 3 19:01:32 2021 +0100

    libphobos: Merge upstream druntime 9d0c8364, phobos 9d575282e.

    Druntime changes:

     - Add platform-specific bindings for stdlib.h and sys/syctl.h.

     - Add darwin bindings for mach/dyld.h.

     - Fix solaris bindings for locale.h (PR98910).

     - Remove deprecated bindings from the module headers.

    Phobos changes:

     - Backport platform-specific fixes for std.conv, std.datetime,
       std.exception, std.experimental.allocator, std.file, std.math,
       std.parallelism, std.socket, std.stdio, and std.system.

    Reviewed-on: https://github.com/dlang/druntime/pull/3363
                 https://github.com/dlang/phobos/pull/7784

    libphobos/ChangeLog:

            PR d/98910
            * libdruntime/MERGE: Merge upstream druntime 9d0c8364.
            * libdruntime/Makefile.am (DRUNTIME_DSOURCES): Add
              core/internal/attributes.d
            (DRUNTIME_DSOURCES_BIONIC): Add core/sys/bionic/stdlib.d.
            (DRUNTIME_DSOURCES_DARWIN): Add core/sys/darwin/stdlib.d, and
            core/sys/darwin/sys/sysctl.d.
            (DRUNTIME_DSOURCES_DRAGONFLYBSD): Add
            core/sys/dragonflybsd/stdlib.d, and
            core/sys/dragonflybsd/sys/sysctl.d.
            (DRUNTIME_DSOURCES_FREEBSD): Add core/sys/freebsd/stdlib.d, and
            core/sys/freebsd/sys/sysctl.d.
            (DRUNTIME_DSOURCES_NETBSD): Add core/sys/netbsd/stdlib.d, and
            core/sys/netbsd/sys/sysctl.d.
            (DRUNTIME_DSOURCES_OPENBSD): Add core/sys/openbsd/stdlib.d, and
            core/sys/openbsd/sys/sysctl.d.
            (DRUNTIME_DSOURCES_SOLARIS): Add core/sys/solaris/stdlib.d.
            * libdruntime/Makefile.in: Regenerate.
            * src/MERGE: Merge upstream phobos 9d575282e.

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

* [Bug d/98910] [11 regression] locale_t undefined on Solaris
  2021-02-01  9:19 [Bug d/98910] New: [11 regression] locale_t undefined on Solaris ro at gcc dot gnu.org
  2021-02-02  8:10 ` [Bug d/98910] " rguenth at gcc dot gnu.org
  2021-02-03 21:08 ` cvs-commit at gcc dot gnu.org
@ 2021-02-04 19:34 ` ro at gcc dot gnu.org
  2021-02-04 21:19 ` ro at CeBiTec dot Uni-Bielefeld.DE
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: ro at gcc dot gnu.org @ 2021-02-04 19:34 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98910

--- Comment #2 from Rainer Orth <ro at gcc dot gnu.org> ---
Unfortunately, even with your patch Solaris bootstrap is still broken:

/vol/gcc/src/hg/master/local/libphobos/libdruntime/core/sys/posix/strings.d:23:15:
error: module core.sys.posix.locale import 'locale_t' not found
   23 | public import core.sys.posix.locale : locale_t;
      |               ^

I only now noticed that you only define the XPG6 subset of locale functions in
locale.d for Solaris.  That seems quite unfortunate, castrating functionality
for the benefit of older XPG6-only Solaris 11.3 while 11.4 supports locale_t
and
XPG7 perfectly fine.

I'm uncertain what's the best way to handle this: one could certainly test for
a locale_t definition via autoconf, record the result in gcc/config.d, and use
that instead of version (Solaris).

The same test would have to be used in strings.d to avoid leaving that broken
when locale_t isn't available.

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

* [Bug d/98910] [11 regression] locale_t undefined on Solaris
  2021-02-01  9:19 [Bug d/98910] New: [11 regression] locale_t undefined on Solaris ro at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2021-02-04 19:34 ` ro at gcc dot gnu.org
@ 2021-02-04 21:19 ` ro at CeBiTec dot Uni-Bielefeld.DE
  2021-02-04 22:14 ` cvs-commit at gcc dot gnu.org
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: ro at CeBiTec dot Uni-Bielefeld.DE @ 2021-02-04 21:19 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98910

--- Comment #3 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> ---
On top of the missing locale_t definition, the other issue I'd reported
is also still present:

/vol/gcc/src/hg/master/local/libphobos/libdruntime/core/thread/osthread.d:1468:12:
error: alias core.thread.osthread.idtype_t conflicts with alias
core.thread.osthread.idtype_t at
/vol/gcc/src/hg/master/local/libphobos/libdruntime/core/thread/osthread.d:162:12
 1468 |     import core.sys.posix.sys.wait : idtype_t;
      |            ^

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

* [Bug d/98910] [11 regression] locale_t undefined on Solaris
  2021-02-01  9:19 [Bug d/98910] New: [11 regression] locale_t undefined on Solaris ro at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2021-02-04 21:19 ` ro at CeBiTec dot Uni-Bielefeld.DE
@ 2021-02-04 22:14 ` cvs-commit at gcc dot gnu.org
  2021-02-04 22:19 ` ibuclaw at gdcproject dot org
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-02-04 22:14 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98910

--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Iain Buclaw <ibuclaw@gcc.gnu.org>:

https://gcc.gnu.org/g:c1d56e6a737418b7b48a53b355f588ea14f1b9a9

commit r11-7108-gc1d56e6a737418b7b48a53b355f588ea14f1b9a9
Author: Iain Buclaw <ibuclaw@gdcproject.org>
Date:   Thu Feb 4 22:34:22 2021 +0100

    d: Merge upstream dmd 46133f761, druntime 0fd4364c

    D front-end changes:

     - Backported built-in function handling from upstream.

     - Added new intrinsic `byteswap(ushort)`.

    Druntime changes:

     - Update intrinsic modules core.bitop, core.checkedint, core.simd,
       core.vararg, and core.volatile.

     - Backport platform-specific fixes for runtime modules core.cpuid,
       core.internal.traits, and rt.lifetime.

     - Backport openbsd fixes for core.stdc.stdio.

     - Backport solaris fixes for core.sys.posix.locale, and
       core.thread.osthread (PR98910).

    gcc/d/ChangeLog:

            * dmd/MERGE: Merge upstream dmd 46133f761.
            * d-builtins.cc (d_build_builtins_module): Set builtins as
BUILTINgcc.
            (maybe_set_builtin_1): Likewise.
            * d-frontend.cc (eval_builtin): Adjust condition for early return.
            * intrinsics.cc (maybe_set_intrinsic): Set intrinsics as
BUILTINgcc.
            (maybe_expand_intrinsic): Add case for INTRINSIC_BSWAP16.
            * intrinsics.def (INTRINSIC_BT): Update signature.
            (INTRINSIC_BT64): Likewise.
            (INTRINSIC_BSWAP16): New intrinsic.
            (INTRINSIC_VLOAD8): Update module.
            (INTRINSIC_VLOAD16): Likewise.
            (INTRINSIC_VLOAD32): Likewise.
            (INTRINSIC_VLOAD64): Likewise.
            (INTRINSIC_VSTORE8): Likewise.
            (INTRINSIC_VSTORE16): Likewise.
            (INTRINSIC_VSTORE32): Likewise.
            (INTRINSIC_VSTORE64): Likewise.
            (INTRINSIC_ADDS): Update signature.
            (INTRINSIC_ADDSL): Likewise.
            (INTRINSIC_ADDU): Likewise.
            (INTRINSIC_ADDUL): Likewise.
            (INTRINSIC_SUBS): Likewise.
            (INTRINSIC_SUBSL): Likewise.
            (INTRINSIC_SUBU): Likewise.
            (INTRINSIC_SUBUL): Likewise.
            (INTRINSIC_MULS): Likewise.
            (INTRINSIC_MULSL): Likewise.
            (INTRINSIC_MULU): Likewise.
            (INTRINSIC_MULUI): Likewise.
            (INTRINSIC_MULUL): Likewise.
            (INTRINSIC_NEGS): Likewise.
            (INTRINSIC_NEGSL): Likewise.

    libphobos/ChangeLog:

            PR d/98910
            * libdruntime/MERGE: Merge upstream druntime 0fd4364c.
            * libdruntime/Makefile.am (DRUNTIME_DSOURCES): Add core/volatile.d.
            * libdruntime/Makefile.in: Regenerate.
            * testsuite/libphobos.allocations/tls_gc_integration.d: Update
test.

    gcc/testsuite/ChangeLog:

            * gdc.dg/intrinsics.d: Update test.

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

* [Bug d/98910] [11 regression] locale_t undefined on Solaris
  2021-02-01  9:19 [Bug d/98910] New: [11 regression] locale_t undefined on Solaris ro at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2021-02-04 22:14 ` cvs-commit at gcc dot gnu.org
@ 2021-02-04 22:19 ` ibuclaw at gdcproject dot org
  2021-02-11 14:29 ` ro at CeBiTec dot Uni-Bielefeld.DE
  2021-02-11 17:11 ` ibuclaw at gdcproject dot org
  7 siblings, 0 replies; 9+ messages in thread
From: ibuclaw at gdcproject dot org @ 2021-02-04 22:19 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98910

--- Comment #5 from Iain Buclaw <ibuclaw at gdcproject dot org> ---
(In reply to Rainer Orth from comment #2)
> Unfortunately, even with your patch Solaris bootstrap is still broken:
> 

Sorry, I've just been a bit slow getting the second part in.  The first part
was just what I originally pushed upstream before this PR was raised.  The
second part includes what you gave here.

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

* [Bug d/98910] [11 regression] locale_t undefined on Solaris
  2021-02-01  9:19 [Bug d/98910] New: [11 regression] locale_t undefined on Solaris ro at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2021-02-04 22:19 ` ibuclaw at gdcproject dot org
@ 2021-02-11 14:29 ` ro at CeBiTec dot Uni-Bielefeld.DE
  2021-02-11 17:11 ` ibuclaw at gdcproject dot org
  7 siblings, 0 replies; 9+ messages in thread
From: ro at CeBiTec dot Uni-Bielefeld.DE @ 2021-02-11 14:29 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98910

--- Comment #6 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> ---
> --- Comment #5 from Iain Buclaw <ibuclaw at gdcproject dot org> ---
> (In reply to Rainer Orth from comment #2)
>> Unfortunately, even with your patch Solaris bootstrap is still broken:
>> 
>
> Sorry, I've just been a bit slow getting the second part in.  The first part
> was just what I originally pushed upstream before this PR was raised.  The
> second part includes what you gave here.

Ah, I'd forgotten about the split.  When I saw the first patch landing,
I dropped my local fix, only to run into the build failure.

Sorry for being hasty.

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

* [Bug d/98910] [11 regression] locale_t undefined on Solaris
  2021-02-01  9:19 [Bug d/98910] New: [11 regression] locale_t undefined on Solaris ro at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2021-02-11 14:29 ` ro at CeBiTec dot Uni-Bielefeld.DE
@ 2021-02-11 17:11 ` ibuclaw at gdcproject dot org
  7 siblings, 0 replies; 9+ messages in thread
From: ibuclaw at gdcproject dot org @ 2021-02-11 17:11 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98910

Iain Buclaw <ibuclaw at gdcproject dot org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|UNCONFIRMED                 |RESOLVED

--- Comment #7 from Iain Buclaw <ibuclaw at gdcproject dot org> ---
I'll mark this as resolved as it is building for me on sparc-sun-solaris2.11

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

end of thread, other threads:[~2021-02-11 17:11 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-01  9:19 [Bug d/98910] New: [11 regression] locale_t undefined on Solaris ro at gcc dot gnu.org
2021-02-02  8:10 ` [Bug d/98910] " rguenth at gcc dot gnu.org
2021-02-03 21:08 ` cvs-commit at gcc dot gnu.org
2021-02-04 19:34 ` ro at gcc dot gnu.org
2021-02-04 21:19 ` ro at CeBiTec dot Uni-Bielefeld.DE
2021-02-04 22:14 ` cvs-commit at gcc dot gnu.org
2021-02-04 22:19 ` ibuclaw at gdcproject dot org
2021-02-11 14:29 ` ro at CeBiTec dot Uni-Bielefeld.DE
2021-02-11 17:11 ` ibuclaw at gdcproject dot org

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 read-only IMAP folder(s) and NNTP newsgroup(s).