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