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] #41070: Please include libgccjit with MinGW GCC
      distribution (MinGW Notification List)
   2. [mingw] #41070: Please include libgccjit with MinGW GCC
      distribution (MinGW Notification List)
   3. [mingw] #41070: Please include libgccjit with MinGW GCC
      distribution (MinGW Notification List)
   4. [mingw] #41070: Please include libgccjit with MinGW GCC
      distribution (MinGW Notification List)
   5. [mingw] #41070: Please include libgccjit with MinGW GCC
      distribution (MinGW Notification List)
   6. [mingw] #41070: Please include libgccjit with MinGW GCC
      distribution (MinGW Notification List)


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

Message: 1
Date: Fri, 08 Jan 2021 15:41:02 +0200
From: MinGW Notification List <[email protected]>
To: OSDN Ticket System <[email protected]>
Subject: [MinGW-Notify] [mingw] #41070: Please include libgccjit with
        MinGW GCC distribution
Message-ID: <[email protected]>
Content-Type: text/plain; charset=UTF-8

#41070: Please include libgccjit with MinGW GCC distribution

  Open Date: 2020-12-23 19:28
Last Update: 2021-01-08 15:41

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

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

Last Changes/Comment on this Ticket:
2021-01-08 15:41 Updated by: eliz

Comment:

I've succeeded in compiling and linking the hello-world test program, but I
cannot run it: it looks like libgccjit-0.dll depends on libintl-8.dll, and the
version of libintl you used is different from what I have here: the
libintl_setlocale entry point is missing from the version I have here. (Yes, my
libintl is very old, but it was never a problem until now.)

Why is libgccjit need to depend on libintl anyway? gcc.exe and cc1.exe, for
example, don't depend on it. Is that dependency really needed?

Thanks again for working on this.



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

      Reporter: eliz
         Owner: keith
          Type: Feature Request
        Status: Open [Owner assigned]
      Priority: 5 - Medium
     MileStone: (None)
     Component: GCC
      Severity: 5 - Medium
    Resolution: None
---------------------------------------------------------------------

Ticket details:

Please add libgccjit to the binaries included in the MinGW GCC distributions.
This is required to be able to build projects that use libgccjit for JIT
compilation of code. One example of this is "gccemacs", a branch of GNU Emacs
development (soon to land on the master branch of Emacs) that compiles Emacs
Lisp programs into native x86 code for faster runtime performance.

Thank you.



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


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

Message: 2
Date: Fri, 08 Jan 2021 17:41:20 +0200
From: MinGW Notification List <[email protected]>
To: OSDN Ticket System <[email protected]>
Subject: [MinGW-Notify] [mingw] #41070: Please include libgccjit with
        MinGW GCC distribution
Message-ID: <[email protected]>
Content-Type: text/plain; charset=UTF-8

#41070: Please include libgccjit with MinGW GCC distribution

  Open Date: 2020-12-23 19:28
Last Update: 2021-01-08 17:41

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

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

Last Changes/Comment on this Ticket:
2021-01-08 17:41 Updated by: eliz

Comment:

Btw, judging by the Info manual that comes with libgccjit, a more appropriate
name for the DLL would be libgccjit-10.dll, since it implements
LIBGCCJIT_ABI_10 (and the next versions of GCC advance the ABI by several more
notches).

MinGW64 also calls it libgccjit-0.dll, so we adopt the same name, regardless.
But then we will need to invent ABI numbers out of thin air for future
releases, which might be sub-optimal.



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

      Reporter: eliz
         Owner: keith
          Type: Feature Request
        Status: Open [Owner assigned]
      Priority: 5 - Medium
     MileStone: (None)
     Component: GCC
      Severity: 5 - Medium
    Resolution: None
---------------------------------------------------------------------

Ticket details:

Please add libgccjit to the binaries included in the MinGW GCC distributions.
This is required to be able to build projects that use libgccjit for JIT
compilation of code. One example of this is "gccemacs", a branch of GNU Emacs
development (soon to land on the master branch of Emacs) that compiles Emacs
Lisp programs into native x86 code for faster runtime performance.

Thank you.



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


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

Message: 3
Date: Sat, 09 Jan 2021 00:48:06 +0900
From: MinGW Notification List <[email protected]>
To: OSDN Ticket System <[email protected]>
Subject: [MinGW-Notify] [mingw] #41070: Please include libgccjit with
        MinGW GCC distribution
Message-ID: <[email protected]>
Content-Type: text/plain; charset=UTF-8

#41070: Please include libgccjit with MinGW GCC distribution

  Open Date: 2020-12-24 02:28
Last Update: 2021-01-09 00:48

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

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

Last Changes/Comment on this Ticket:
2021-01-09 00:48 Updated by: davidmalcolm

Comment:

Reply To eliz

    Btw, judging by the Info manual that comes with libgccjit, a more
    appropriate name for the DLL would be libgccjit-10.dll, since it implements
    LIBGCCJIT_ABI_10 (and the next versions of GCC advance the ABI by several
    more notches). MinGW64 also calls it libgccjit-0.dll, so we could adopt the
    same name, regardless. But then we will need to invent ABI numbers out of
    thin air for future releases, which might be sub-optimal.

Upstream notes on API/ABI compatibility: https://gcc.gnu.org/onlinedocs/jit/
topics/compatibility.html

libgccjit hides all data layouts, and only ever adds entrypoints, so I've
avoiding bumping the SONAME, using symbol versioning instead, to allow for
backwards ABI compatibility. I'm not sure if that's going to work with mingw.



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

      Reporter: eliz
         Owner: keith
          Type: Feature Request
        Status: Open [Owner assigned]
      Priority: 5 - Medium
     MileStone: (None)
     Component: GCC
      Severity: 5 - Medium
    Resolution: None
---------------------------------------------------------------------

Ticket details:

Please add libgccjit to the binaries included in the MinGW GCC distributions.
This is required to be able to build projects that use libgccjit for JIT
compilation of code. One example of this is "gccemacs", a branch of GNU Emacs
development (soon to land on the master branch of Emacs) that compiles Emacs
Lisp programs into native x86 code for faster runtime performance.

Thank you.



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


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

Message: 4
Date: Fri, 08 Jan 2021 18:05:47 +0200
From: MinGW Notification List <[email protected]>
To: OSDN Ticket System <[email protected]>
Subject: [MinGW-Notify] [mingw] #41070: Please include libgccjit with
        MinGW GCC distribution
Message-ID: <[email protected]>
Content-Type: text/plain; charset=UTF-8

#41070: Please include libgccjit with MinGW GCC distribution

  Open Date: 2020-12-23 19:28
Last Update: 2021-01-08 18:05

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

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

Last Changes/Comment on this Ticket:
2021-01-08 18:05 Updated by: eliz

Comment:

Reply To davidmalcolm

    Reply To eliz

        Btw, judging by the Info manual that comes with libgccjit, a more
        appropriate name for the DLL would be libgccjit-10.dll, since it
        implements LIBGCCJIT_ABI_10 (and the next versions of GCC advance the
        ABI by several more notches). MinGW64 also calls it libgccjit-0.dll, so
        we could adopt the same name, regardless. But then we will need to
        invent ABI numbers out of thin air for future releases, which might be
        sub-optimal.

    Upstream notes on API/ABI compatibility: https://gcc.gnu.org/onlinedocs/jit
    /topics/compatibility.html libgccjit hides all data layouts, and only ever
    adds entrypoints, so I've avoiding bumping the SONAME, using symbol
    versioning instead, to allow for backwards ABI compatibility. I'm not sure
    if that's going to work with mingw.

I'm not sure I understand the documentation to which you pointed: it seems to
hint that detecting the ABO needs the end-user to have objdump installed?
That's not gonna happen for users of MinGW programs.

FWIW, I don't see such symbols using the objdump command described in the docs.
Which doesn't surprise me.

And in any case, how would detecting the required ABI help? all you can do when
you detect an incompatible ABI version (e.g., a program linked with libgccjit
whose ABI level is N, but finds only lower ABI level at run time) is refuse to
run. And linking the program on Windows against libgccjit-NN.dll ensures that
cleanly and easily. So I don't really see how checking for those symbols would
help. What am I missing?



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

      Reporter: eliz
         Owner: keith
          Type: Feature Request
        Status: Open [Owner assigned]
      Priority: 5 - Medium
     MileStone: (None)
     Component: GCC
      Severity: 5 - Medium
    Resolution: None
---------------------------------------------------------------------

Ticket details:

Please add libgccjit to the binaries included in the MinGW GCC distributions.
This is required to be able to build projects that use libgccjit for JIT
compilation of code. One example of this is "gccemacs", a branch of GNU Emacs
development (soon to land on the master branch of Emacs) that compiles Emacs
Lisp programs into native x86 code for faster runtime performance.

Thank you.



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


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

Message: 5
Date: Sat, 09 Jan 2021 01:54:21 +0900
From: MinGW Notification List <[email protected]>
To: OSDN Ticket System <[email protected]>
Subject: [MinGW-Notify] [mingw] #41070: Please include libgccjit with
        MinGW GCC distribution
Message-ID: <[email protected]>
Content-Type: text/plain; charset=UTF-8

#41070: Please include libgccjit with MinGW GCC distribution

  Open Date: 2020-12-24 02:28
Last Update: 2021-01-09 01:54

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

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

Last Changes/Comment on this Ticket:
2021-01-09 01:54 Updated by: davidmalcolm

Comment:

Sorry about the confusion. The information I posted is more aimed at packagers
and maintainers than end-users.

For example, on my RPM-based system, I can run:

$ rpm -q --provides libgccjit
libgccjit = 10.2.1-1.fc32
libgccjit(x86-64) = 10.2.1-1.fc32
libgccjit.so.0()(64bit)
libgccjit.so.0(LIBGCCJIT_ABI_0)(64bit)
libgccjit.so.0(LIBGCCJIT_ABI_1)(64bit)
libgccjit.so.0(LIBGCCJIT_ABI_10)(64bit)
libgccjit.so.0(LIBGCCJIT_ABI_11)(64bit)
libgccjit.so.0(LIBGCCJIT_ABI_12)(64bit)
libgccjit.so.0(LIBGCCJIT_ABI_13)(64bit)
libgccjit.so.0(LIBGCCJIT_ABI_2)(64bit)
libgccjit.so.0(LIBGCCJIT_ABI_3)(64bit)
libgccjit.so.0(LIBGCCJIT_ABI_4)(64bit)
libgccjit.so.0(LIBGCCJIT_ABI_5)(64bit)
libgccjit.so.0(LIBGCCJIT_ABI_6)(64bit)
libgccjit.so.0(LIBGCCJIT_ABI_7)(64bit)
libgccjit.so.0(LIBGCCJIT_ABI_8)(64bit)
libgccjit.so.0(LIBGCCJIT_ABI_9)(64bit)

where the versions get detected by rpmbuild and "baked into" the package
metadata. Similarly, packages that use libgccjit can record exactly which ABI
they were built again in their package metadata, ensuring that RPM can enforce
compatibility, whilst also allowing new API/ABI entrypoints to be added without
bumping the SONAME, which would require everything to be recompiled.

This relies on the dynamic loader being able to express this information and
enforce it, which is the case for glibc's ld.so.

It sounds like the windows dynamic linker either doesn't have these
capabilities, or has different ones, and that I've assumed too much.

Does the windows dynamic linker have any such abilities, or do we simply need
to express the ABI version in the dll name, or somesuch?

Hope this makes sense



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

      Reporter: eliz
         Owner: keith
          Type: Feature Request
        Status: Open [Owner assigned]
      Priority: 5 - Medium
     MileStone: (None)
     Component: GCC
      Severity: 5 - Medium
    Resolution: None
---------------------------------------------------------------------

Ticket details:

Please add libgccjit to the binaries included in the MinGW GCC distributions.
This is required to be able to build projects that use libgccjit for JIT
compilation of code. One example of this is "gccemacs", a branch of GNU Emacs
development (soon to land on the master branch of Emacs) that compiles Emacs
Lisp programs into native x86 code for faster runtime performance.

Thank you.



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


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

Message: 6
Date: Fri, 08 Jan 2021 20:47:17 +0200
From: MinGW Notification List <[email protected]>
To: OSDN Ticket System <[email protected]>
Subject: [MinGW-Notify] [mingw] #41070: Please include libgccjit with
        MinGW GCC distribution
Message-ID: <[email protected]>
Content-Type: text/plain; charset=UTF-8

#41070: Please include libgccjit with MinGW GCC distribution

  Open Date: 2020-12-23 19:28
Last Update: 2021-01-08 20:47

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

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

Last Changes/Comment on this Ticket:
2021-01-08 20:47 Updated by: eliz

Comment:

Reply To davidmalcolm

    $ rpm -q --provides libgccjit libgccjit = 10.2.1-1.fc32 libgccjit(x86-64) =
    10.2.1-1.fc32 libgccjit.so.0()(64bit) libgccjit.so.0(LIBGCCJIT_ABI_0)
    (64bit) libgccjit.so.0(LIBGCCJIT_ABI_1)(64bit) libgccjit.so.0
    (LIBGCCJIT_ABI_10)(64bit) libgccjit.so.0(LIBGCCJIT_ABI_11)(64bit)
    libgccjit.so.0(LIBGCCJIT_ABI_12)(64bit) libgccjit.so.0(LIBGCCJIT_ABI_13)
    (64bit) libgccjit.so.0(LIBGCCJIT_ABI_2)(64bit) libgccjit.so.0
    (LIBGCCJIT_ABI_3)(64bit) libgccjit.so.0(LIBGCCJIT_ABI_4)(64bit)
    libgccjit.so.0(LIBGCCJIT_ABI_5)(64bit) libgccjit.so.0(LIBGCCJIT_ABI_6)
    (64bit) libgccjit.so.0(LIBGCCJIT_ABI_7)(64bit) libgccjit.so.0
    (LIBGCCJIT_ABI_8)(64bit) libgccjit.so.0(LIBGCCJIT_ABI_9)(64bit) }}} where
    the versions get detected by rpmbuild and "baked into" the package
    metadata. Similarly, packages that use libgccjit can record exactly which
    ABI they were built again in their package metadata, ensuring that RPM can
    enforce compatibility, whilst also allowing new API/ABI entrypoints to be
    added without bumping the SONAME, which would require everything to be
    recompiled. This relies on the dynamic loader being able to express this
    information and enforce it, which is the case for glibc's ld.so. It sounds
    like the windows dynamic linker either doesn't have these capabilities, or
    has different ones, and that I've assumed too much. Does the windows
    dynamic linker have any such abilities, or do we simply need to express the
    ABI version in the dll name, or somesuch?

Like I said: the Windows program loader checks at load time that all the entry
points the program imports are actually present in the DLL, and if not, it will
refuse to run the program.

If all the entry points are present, but some have an incompatible ABI, then
the loader will not be able to detect that. But this is largely unimportant in
practice, since on Windows programs are linked against the versioned DLL names,
and the name is recorded in the binary. And since symlinking a versioned DLL to
an unversioned name is not practiced on Windows (because symlink support is
problematic and requires privilege elevation), the problem of an incompatible
ABI for the same entry points doesn't happen in practice, because the versioned
DLL is being looked up explicitly.



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

      Reporter: eliz
         Owner: keith
          Type: Feature Request
        Status: Open [Owner assigned]
      Priority: 5 - Medium
     MileStone: (None)
     Component: GCC
      Severity: 5 - Medium
    Resolution: None
---------------------------------------------------------------------

Ticket details:

Please add libgccjit to the binaries included in the MinGW GCC distributions.
This is required to be able to build projects that use libgccjit for JIT
compilation of code. One example of this is "gccemacs", a branch of GNU Emacs
development (soon to land on the master branch of Emacs) that compiles Emacs
Lisp programs into native x86 code for faster runtime performance.

Thank you.



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


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

Subject: Digest Footer

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


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

End of MinGW-Notify Digest, Vol 40, Issue 6
*******************************************

Reply via email to