Send MinGW-Notify mailing list submissions to
        [email protected]

To subscribe or unsubscribe via the World Wide Web, visit
        https://lists.osdn.me/mailman/listinfo/mingw-notify
or, via email, send a message with subject or body 'help' to
        [email protected]

You can reach the person managing the list at
        [email protected]

When replying, please edit your Subject line so it is more specific
than "Re: Contents of MinGW-Notify digest..."


Please do not reply to this notification; the sender address is unable to 
accept incoming e-mail.  If you wish to unsubscribe you can do so at 
https://lists.osdn.me/mailman/listinfo/mingw-notify.



Today's Topics:

   1. [mingw] #37995: Make alloca() API both GNU and Microsoft
      compatible (MinGW Notification List)
   2. [mingw] #38607: Improved standards support for aligned memory
      allocators (MinGW Notification List)


----------------------------------------------------------------------

Message: 1
Date: Tue, 30 Oct 2018 11:19:48 +0000
From: MinGW Notification List <[email protected]>
To: OSDN Ticket System <[email protected]>
Subject: [MinGW-Notify] [mingw] #37995: Make alloca() API both GNU and
        Microsoft compatible
Message-ID: <[email protected]>
Content-Type: text/plain; charset=UTF-8

#37995: Make alloca() API both GNU and Microsoft compatible

  Open Date: 2018-03-03 16:12
Last Update: 2018-10-30 11:19

URL for this Ticket:
    https://osdn.net//projects/mingw/ticket/37995
RSS feed for this Ticket:
    https://osdn.net/ticket/ticket_rss.php?group_id=3917&tid=37995

---------------------------------------------------------------------

Last Changes/Comment on this Ticket:
2018-10-30 11:19 Updated by: keith
 * Status Update from Open to Closed

 * Resolution Update from None to Accepted


Comment:

The changes required, to implement the <alloca.h> API, are now in the git
repository, and will be incorporated into the upcoming wsl-5.2 release.

The further suggested <malloc.h> changes relate, primarily, to improved
(legacy) support for Microsoft's _aligned_malloc() (and complementary) API;
this may be best addressed under ticket #38607.



---------------------------------------------------------------------
Ticket Status:

      Reporter: keith
         Owner: keith
          Type: Feature Request
        Status: Closed
      Priority: 5 - Medium
     MileStone: (None)
     Component: WSL
      Severity: 5 - Medium
    Resolution: Accepted
---------------------------------------------------------------------

Ticket details:

As suggested in this mailing list discussion thread, (and this message in
particular), please consider adapting the existing alloca() implementation in
<malloc.h>, to make it equally accessible via a new <alloca.h> header, and so
offer added conformance with the corresponding GNU implementation.

In the process, please also update the existing <malloc.h> implementation of
other included APIs, to make them compatible with current Windows technologies.



-- 
Ticket information of MinGW - Minimalist GNU for Windows project
MinGW - Minimalist GNU for Windows Project is hosted on OSDN

Project URL: https://osdn.net/projects/mingw/
OSDN: https://osdn.net

URL for this Ticket:
    https://osdn.net//projects/mingw/ticket/37995
RSS feed for this Ticket:
    https://osdn.net/ticket/ticket_rss.php?group_id=3917&tid=37995


------------------------------

Message: 2
Date: Tue, 30 Oct 2018 13:50:26 +0000
From: MinGW Notification List <[email protected]>
To: OSDN Ticket System <[email protected]>
Subject: [MinGW-Notify] [mingw] #38607: Improved standards support for
        aligned memory allocators
Message-ID: <[email protected]>
Content-Type: text/plain; charset=UTF-8

#38607: Improved standards support for aligned memory allocators

  Open Date: 2018-09-17 18:25
Last Update: 2018-10-30 13:50

URL for this Ticket:
    https://osdn.net//projects/mingw/ticket/38607
RSS feed for this Ticket:
    https://osdn.net/ticket/ticket_rss.php?group_id=3917&tid=38607

---------------------------------------------------------------------

Last Changes/Comment on this Ticket:
2018-10-30 13:50 Updated by: keith

Comment:

I've attached a patch which reimplements the MinGW alternative to Microsoft's
_aligned_malloc() (and complementary) API, and also an accompanying test suite.
This corrects the deficiencies I've noted, in the previous MinGW
implementation; it also offers the following enhancements, (unlikely to be
supported by Microsoft's implementation), over the previous MinGW
implementation:–

  • The __mingw_aligned_free() function is now able to distinguish pointers
    returned by __mingw_aligned_malloc()}} (or {{{__mingw_aligned_offset_malloc
    ()) for other pointers; if the pointer argument cannot be identified as
    referring to a __mingw_aligned_malloc() allocated block, it is passed
    directly to free(), instead of freeing as an aligned heap block.

  • A new public API entry, __mingw_maybe_aligned_realloc( void *, size_t ), is
    provided; this offers the same discriminatory behaviour, w.r.t. its pointer
    argument, as does the reimplementation of __mingw_aligned_free( void * ).

Unless there are significant objections, I propose incorporating this
alternative implementation of the __mingw_aligned_malloc() API, into the
wsl-5.2 release.



---------------------------------------------------------------------
Ticket Status:

      Reporter: keith
         Owner: (None)
          Type: Feature Request
        Status: Open
      Priority: 5 - Medium
     MileStone: (None)
     Component: WSL
      Severity: 5 - Medium
    Resolution: None
---------------------------------------------------------------------

Ticket details:

Microsoft introduced _aligned_malloc(), and associated functions, with
MSVCR70.DLL. Although subsequently supported in MSVCRT.DLL, from WinXP onwards,
exposure of these APIs interferes with a clean build of GCC — not only insofar
as, having detected presence of the APIs, GCC would become dependent on WinXP
and later, thus needlessly breaking legacy support, but furthermore, the GCC
sources neglect to include the requisite <malloc.h> header file, and thus do
not build cleanly.

Legacy support for similar APIs was added to MinGW, in 2003/2004, under feature
request #260; however, it may be ill-advised to make GCC dependent on these
MinGW specific APIs, for the following reasons:­­—

 1. A patch, to incorporate them, would be unlikely to be accepted upstream.
 2. If the APIs are not detected, GCC will provide its own replacement
    functions.
 3. A review reveals potential flaws in the MinGW implementation.

Consequently, I suggest:—

 1. **Not** exposing the Microsoft APIs in libmsvcrt.a
 2. Reworking the MinGW implementation, to address potential flaws.
 3. Consider adding support for ISO-C11's aligned_alloc() and POSIX.1's
    posix_memalign() APIs.



-- 
Ticket information of MinGW - Minimalist GNU for Windows project
MinGW - Minimalist GNU for Windows Project is hosted on OSDN

Project URL: https://osdn.net/projects/mingw/
OSDN: https://osdn.net

URL for this Ticket:
    https://osdn.net//projects/mingw/ticket/38607
RSS feed for this Ticket:
    https://osdn.net/ticket/ticket_rss.php?group_id=3917&tid=38607


------------------------------

Subject: Digest Footer

_______________________________________________
MinGW-Notify mailing list
[email protected]
https://lists.osdn.me/mailman/listinfo/mingw-notify


------------------------------

End of MinGW-Notify Digest, Vol 13, Issue 8
*******************************************

Reply via email to