[patch] Fix jit-reader.h for multilib

Jan Kratochvil
2015-01-07T17:36:41Z

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