Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-9]: src/external/gpl3/gdb/dist/gdb Pull up following revision(s) ...



details:   https://anonhg.NetBSD.org/src/rev/79d013a12a1d
branches:  netbsd-9
changeset: 458167:79d013a12a1d
user:      martin <martin%NetBSD.org@localhost>
date:      Mon Aug 12 17:29:46 2019 +0000

description:
Pull up following revision(s) (requested by christos in ticket #47):

        external/gpl3/gdb/dist/gdb/auxv.c: revision 1.2

On NetBSD the auxv tag is always 32 bits long. Gdb assumes it is 64 on _LP64.
This works most of the time, except for 64 bit big endian (sparc64 eg).

diffstat:

 external/gpl3/gdb/dist/gdb/auxv.c |  8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diffs (18 lines):

diff -r 4246a5d6caf0 -r 79d013a12a1d external/gpl3/gdb/dist/gdb/auxv.c
--- a/external/gpl3/gdb/dist/gdb/auxv.c Mon Aug 12 17:23:20 2019 +0000
+++ b/external/gpl3/gdb/dist/gdb/auxv.c Mon Aug 12 17:29:46 2019 +0000
@@ -266,8 +266,12 @@
 
   if (endptr - ptr < sizeof_auxv_field * 2)
     return -1;
-
-  *typep = extract_unsigned_integer (ptr, sizeof_auxv_field, byte_order);
+#ifdef __NetBSD__
+  const int sizeof_auxv_type = 4;
+#else
+  const int sizeof_auxv_type = sizeof_auxv_field;
+#endif
+  *typep = extract_unsigned_integer (ptr, sizeof_auxv_type, byte_order);
   ptr += sizeof_auxv_field;
   *valp = extract_unsigned_integer (ptr, sizeof_auxv_field, byte_order);
   ptr += sizeof_auxv_field;



Home | Main Index | Thread Index | Old Index