This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch] Fix jit-reader.h for multilib


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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]