[MinGW-Notify] [mingw] #37867: Create a 64bit build environment for the MinGW.org project.

Back to archive index
MinGW Notification List mingw****@lists*****
Wed Jan 8 21:49:00 JST 2020


#37867: Create a 64bit build environment for the MinGW.org project.

  Open Date: 2018-01-10 12:17
Last Update: 2020-01-08 09:49

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

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

Last Changes/Comment on this Ticket:
2020-01-08 09:49 Updated by: cstrauss

Comment:

Keith Apr 24th, 2019 at 1:10:40 PM

    on Win64, C symbols don't get a leading underscore in Assembly.

I think I knew this, but failed to fully appreciate its significance
:white_frowning_face: This is actually a rather annoying inconsistency; it
means that every assembly language module will need to be reviewed, and those
which are currently bare .s may need to become .sx, so that the C preprocessor
can handle the symbolic discrepancy.

Before we embark on this, in earnest, I've pushed a refresh of
cpu-features-win64.patch; does it address the issue adequately, for this
particular case?

Keith Apr 25th, 2019 at 7:08:20 AM

@Cesar Strauss

    depends on missing declarations: XMM_SAVE_AREA32, NEON128 and M128A. I
    can't find them in MSDN.

Neither can I; typical of Microsoft's woeful failure to provide adequate
documentation:white_frowning_face: However, I did find these (under BSD, or
X-Open/MIT licences):

http://winappdbg.sourceforge.net/doc/v1.3/
winappdbg.win32.context_amd64-pysrc.html#XMM_SAVE_AREA32

http://winappdbg.sourceforge.net/doc/v1.3/winappdbg.win32.defines-pysrc.html#
M128A

https://github.com/dotnet/coreclr/blob/master/src/inc/crosscomp.h

Keith Apr 25th, 2019 at 5:57:45 PM

    on Win64, C symbols don't get a leading underscore in Assembly.

That's actually the least of the potential problems with assembly language
implementations; more significant, is the change in function calling
conventions, and in particular, the argument passing protocol: https://
docs.microsoft.com/en-gb/cpp/build/x64-calling-convention?view=vs-2017

Cesar Strauss Apr 25th, 2019 at 9:07:36 PM

    Before we embark on this, in earnest, I've pushed a refresh of
    cpu-features-win64.patch; does it address the issue adequately, for this
    particular case?

Yes, it does.

Cesar Strauss Apr 26th, 2019 at 6:03:27 AM

I'll also look at the assembly output of the compiler to better understand the
calling conventions.



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

      Reporter: earnie
         Owner: earnie
          Type: Issues
        Status: Open [Owner assigned]
      Priority: 5 - Medium
     MileStone: Create a 64bit build environment for the MinGW.org project.
     Component: WSL
      Severity: 5 - Medium
    Resolution: None
---------------------------------------------------------------------

Ticket details:

This is the primary ticket for controlling this milestone. Status of the
milestone will be added as comments to this ticket.



-- 
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/37867
RSS feed for this Ticket:
    https://osdn.net/ticket/ticket_rss.php?group_id=3917&tid=37867



More information about the MinGW-Notify mailing list
Back to archive index