* [patch] Fix jit-reader.h for multilib
@ 2015-01-07 17:36 Jan Kratochvil
2015-01-11 12:02 ` Yao Qi
0 siblings, 1 reply; 7+ messages in thread
From: Jan Kratochvil @ 2015-01-07 17:36 UTC (permalink / raw)
To: gdb-patches
[-- Attachment #1: Type: text/plain, Size: 641 bytes --]
Hi,
I got reported jit-reader.h is not multi-lib safe:
--- /usr/include/gdb/jit-reader.h on x86_64 2015-01-07 11:54:27.705802129 -0500
+++ /usr/include/gdb/jit-reader.h on i686 2015-01-07 11:54:46.853774165 -0500
@@ -56,7 +56,7 @@ extern "C" {
/* Represents an address on the target system. */
-typedef unsigned long GDB_CORE_ADDR;
+typedef unsigned long long GDB_CORE_ADDR;
/* Return status codes. */
multi-lib safety means that files with the same pathname (which is
/usr/include, contrary to /usr/lib vs. /usr/lib64 for example).
The patch will make it on x86_64 also 'unsigned long long'.
OK for check-in?
Thanks,
Jan
[-- Attachment #2: multilib.patch --]
[-- Type: text/plain, Size: 969 bytes --]
gdb/ChangeLog
2015-01-07 Jan Kratochvil <jan.kratochvil@redhat.com>
* configure: Regenerate.
* configure.ac (TARGET_PTR): Try "unsigned long long" first.
diff --git a/gdb/configure.ac b/gdb/configure.ac
index ec776d7..c02ace9 100644
--- a/gdb/configure.ac
+++ b/gdb/configure.ac
@@ -648,10 +648,12 @@ AC_CHECK_SIZEOF(unsigned long long)
AC_CHECK_SIZEOF(unsigned long)
AC_CHECK_SIZEOF(unsigned __int128)
-if test "x${ac_cv_sizeof_unsigned_long}" = "x8"; then
- TARGET_PTR="unsigned long"
-elif test "x${ac_cv_sizeof_unsigned_long_long}" = "x8"; then
+# Try to keep TARGET_PTR the same across archs so that jit-reader.h file
+# content is the same for multilib distributions.
+if test "x${ac_cv_sizeof_unsigned_long_long}" = "x8"; then
TARGET_PTR="unsigned long long"
+elif test "x${ac_cv_sizeof_unsigned_long}" = "x8"; then
+ TARGET_PTR="unsigned long"
elif test "x${ac_cv_sizeof_unsigned___int128}" = "x16"; then
TARGET_PTR="unsigned __int128"
else
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [patch] Fix jit-reader.h for multilib
2015-01-07 17:36 [patch] Fix jit-reader.h for multilib Jan Kratochvil
@ 2015-01-11 12:02 ` Yao Qi
2015-01-11 13:14 ` Jan Kratochvil
0 siblings, 1 reply; 7+ messages in thread
From: Yao Qi @ 2015-01-11 12:02 UTC (permalink / raw)
To: Jan Kratochvil; +Cc: gdb-patches
Jan Kratochvil <jan.kratochvil@redhat.com> writes:
> I got reported jit-reader.h is not multi-lib safe:
>
> --- /usr/include/gdb/jit-reader.h on x86_64 2015-01-07 11:54:27.705802129 -0500
> +++ /usr/include/gdb/jit-reader.h on i686 2015-01-07 11:54:46.853774165 -0500
> @@ -56,7 +56,7 @@ extern "C" {
>
> /* Represents an address on the target system. */
>
> -typedef unsigned long GDB_CORE_ADDR;
> +typedef unsigned long long GDB_CORE_ADDR;
>
> /* Return status codes. */
>
>
> multi-lib safety means that files with the same pathname (which is
> /usr/include, contrary to /usr/lib vs. /usr/lib64 for example).
Hi Jan,
I am sorry I can't understand what you mean here, can you elaborate?
Do you mean sizeof (GDB_CORE_ADDR) should be the same on different
multi-lib (i686 vs x86_64)?
--
Yao (齐尧)
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [patch] Fix jit-reader.h for multilib
2015-01-11 12:02 ` Yao Qi
@ 2015-01-11 13:14 ` Jan Kratochvil
2015-01-12 2:33 ` Yao Qi
0 siblings, 1 reply; 7+ messages in thread
From: Jan Kratochvil @ 2015-01-11 13:14 UTC (permalink / raw)
To: Yao Qi; +Cc: gdb-patches
On Sun, 11 Jan 2015 13:02:55 +0100, Yao Qi wrote:
> Jan Kratochvil <jan.kratochvil@redhat.com> writes:
>
> > I got reported jit-reader.h is not multi-lib safe:
> >
> > --- /usr/include/gdb/jit-reader.h on x86_64 2015-01-07 11:54:27.705802129 -0500
> > +++ /usr/include/gdb/jit-reader.h on i686 2015-01-07 11:54:46.853774165 -0500
> > @@ -56,7 +56,7 @@ extern "C" {
> >
> > /* Represents an address on the target system. */
> >
> > -typedef unsigned long GDB_CORE_ADDR;
> > +typedef unsigned long long GDB_CORE_ADDR;
> >
> > /* Return status codes. */
> >
> >
> > multi-lib safety means that files with the same pathname (which is
> > /usr/include, contrary to /usr/lib vs. /usr/lib64 for example).
>
> I am sorry I can't understand what you mean here, can you elaborate?
Sorry I see I haven't finished the sentence, it should have been:
# multi-lib safety means that files with the same pathname (which is
# /usr/include, contrary to /usr/lib vs. /usr/lib64 for example)
# contain exactly the same content.
See also:
https://fedoraproject.org/wiki/PackagingDrafts/MultilibTricks#File_conflicts
When we discuss it personally I do not think multilib should be applied to the
GDB package as there is nothing like /usr/lib{,64}/libgdb.so. There is only
/usr/bin/gdb and that has always just one arch on one system. So installing
gdb.i686 and gdb.x86_64 simultaneously does not have any benefits / makes
sense. But despites this I need it for Red Hat packaging so I am fine to also
keep it just as a downstream patch. OTOH I guess other OS packagers may also
face it so it may be easier for everyone to do it upstream.
> Do you mean sizeof (GDB_CORE_ADDR) should be the same on different
> multi-lib (i686 vs x86_64)?
For multilib it does not matter what is the runtime GDB_CORE_ADDR type but the
text defining it (in /usr/include/gdb/jit-reader.h) has to be the same for
archs sharing multilib.
IIUC GDB requires for GDB_CORE_ADDR:
* sizeof (GDB_CORE_ADDR) >= sizeof (CORE_ADDR)
* sizeof (GDB_CORE_ADDR) is preferrably the smallest available size
Jan
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [patch] Fix jit-reader.h for multilib
2015-01-11 13:14 ` Jan Kratochvil
@ 2015-01-12 2:33 ` Yao Qi
2015-01-12 8:42 ` Jan Kratochvil
2015-06-03 19:42 ` ping: " Jan Kratochvil
0 siblings, 2 replies; 7+ messages in thread
From: Yao Qi @ 2015-01-12 2:33 UTC (permalink / raw)
To: Jan Kratochvil; +Cc: gdb-patches
Jan Kratochvil <jan.kratochvil@redhat.com> writes:
> # multi-lib safety means that files with the same pathname (which is
> # /usr/include, contrary to /usr/lib vs. /usr/lib64 for example)
> # contain exactly the same content.
>
Thanks, that is clear to me now.
> See also:
> https://fedoraproject.org/wiki/PackagingDrafts/MultilibTricks#File_conflicts
>
>
> When we discuss it personally I do not think multilib should be applied to the
> GDB package as there is nothing like /usr/lib{,64}/libgdb.so. There is only
> /usr/bin/gdb and that has always just one arch on one system. So installing
> gdb.i686 and gdb.x86_64 simultaneously does not have any benefits / makes
> sense. But despites this I need it for Red Hat packaging so I am fine to also
> keep it just as a downstream patch. OTOH I guess other OS packagers may also
> face it so it may be easier for everyone to do it upstream.
Is multi-lib safety a Fedora/Red Hat specific packaging rule? or do
other distributions need this too? If answer is yes, I don't object to
your patch as it adjusts the order of looking for desired types.
--
Yao (齐尧)
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [patch] Fix jit-reader.h for multilib
2015-01-12 2:33 ` Yao Qi
@ 2015-01-12 8:42 ` Jan Kratochvil
2015-01-12 9:57 ` Joel Brobecker
2015-06-03 19:42 ` ping: " Jan Kratochvil
1 sibling, 1 reply; 7+ messages in thread
From: Jan Kratochvil @ 2015-01-12 8:42 UTC (permalink / raw)
To: Yao Qi; +Cc: gdb-patches
On Mon, 12 Jan 2015 03:33:37 +0100, Yao Qi wrote:
> Jan Kratochvil <jan.kratochvil@redhat.com> writes:
> > When we discuss it personally I do not think multilib should be applied to the
> > GDB package as there is nothing like /usr/lib{,64}/libgdb.so. There is only
> > /usr/bin/gdb and that has always just one arch on one system. So installing
> > gdb.i686 and gdb.x86_64 simultaneously does not have any benefits / makes
> > sense. But despites this I need it for Red Hat packaging so I am fine to also
> > keep it just as a downstream patch. OTOH I guess other OS packagers may also
> > face it so it may be easier for everyone to do it upstream.
>
> Is multi-lib safety a Fedora/Red Hat specific packaging rule? or do
> other distributions need this too?
I do not know how other distributions do that. Debian 'gdb' does not seem to
ship jit-reader.h at all if I read Debian package listing correctly.
For other libraries Debian ships the file like Fedora does:
https://packages.debian.org/sid/amd64/libgpm-dev/filelist
/usr/include/gpm.h
/usr/lib/x86_64-linux-gnu/libgpm.so
https://packages.debian.org/sid/i386/libgpm-dev/filelist
/usr/include/gpm.h
/usr/lib/i386-linux-gnu/libgpm.so
What would happen if /usr/include/gpm.h content differs between amd64 and i386
build? Fedora would refuse to install the second package due to conflicting
file content (sure unless forced to do so).
As I said this patch may not affect much/any other distros because
* at least Debian does not ship jit-reader.h at all
* other distros may not consider GDB as a multilib package
Jan
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [patch] Fix jit-reader.h for multilib
2015-01-12 8:42 ` Jan Kratochvil
@ 2015-01-12 9:57 ` Joel Brobecker
0 siblings, 0 replies; 7+ messages in thread
From: Joel Brobecker @ 2015-01-12 9:57 UTC (permalink / raw)
To: Jan Kratochvil; +Cc: Yao Qi, gdb-patches
> As I said this patch may not affect much/any other distros because
> * at least Debian does not ship jit-reader.h at all
> * other distros may not consider GDB as a multilib package
I don't think the problem would be specific to Fedora - it is
possible that other distros might benefit from the fix as well.
The only thing that gave me pause was the relatively strange
fix, and the fact that I didn't really understand the issue,
and therefore didn't understand the fix. I don't know much
about jit-reader.h, and the impact of the fix, but I have
a feeling that it would beneficial to others and therefore should
be considered for inclusion.
--
Joel
^ permalink raw reply [flat|nested] 7+ messages in thread
* ping: [patch] Fix jit-reader.h for multilib
2015-01-12 2:33 ` Yao Qi
2015-01-12 8:42 ` Jan Kratochvil
@ 2015-06-03 19:42 ` Jan Kratochvil
1 sibling, 0 replies; 7+ messages in thread
From: Jan Kratochvil @ 2015-06-03 19:42 UTC (permalink / raw)
To: Yao Qi, Joel Brobecker; +Cc: gdb-patches
Message-ID: <87iogcsp6m.fsf@codesourcery.com>
On Mon, 12 Jan 2015 03:33:37 +0100, Yao Qi wrote:
> or do
> other distributions need this too? If answer is yes, I don't object to
> your patch as it adjusts the order of looking for desired types.
Message-ID: <20150112095711.GZ5445@adacore.com>
On Mon, 12 Jan 2015 10:57:11 +0100, Joel Brobecker wrote:
> I don't think the problem would be specific to Fedora - it is
> possible that other distros might benefit from the fix as well.
[...]
> but I have a feeling that it would beneficial to others and therefore should
> be considered for inclusion.
These mails look to me as if maybe the patch has been double-approved but I am
not sure if it was really approved or not. Was it?
Thanks,
Jan
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2015-06-03 19:42 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-07 17:36 [patch] Fix jit-reader.h for multilib Jan Kratochvil
2015-01-11 12:02 ` Yao Qi
2015-01-11 13:14 ` Jan Kratochvil
2015-01-12 2:33 ` Yao Qi
2015-01-12 8:42 ` Jan Kratochvil
2015-01-12 9:57 ` Joel Brobecker
2015-06-03 19:42 ` ping: " Jan Kratochvil
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).