[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH hurd] Improve portability for rpctrace on x86_64
From: |
Flavio Cruz |
Subject: |
[PATCH hurd] Improve portability for rpctrace on x86_64 |
Date: |
Mon, 24 Apr 2023 00:57:53 -0400 |
Defined alignment as __alignof__(uintptr_t) to match MiG.
Also used char* instead of void* during the message iteration since it's
more portable as pointer arithmetic on void* is a GNU extension.
---
utils/rpctrace.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/utils/rpctrace.c b/utils/rpctrace.c
index c2bc0062..09edc1e8 100644
--- a/utils/rpctrace.c
+++ b/utils/rpctrace.c
@@ -41,6 +41,9 @@
#include "msgids.h"
+/* Should match MiG's desired_complex_alignof */
+#define MSG_ALIGNMENT __alignof__(uintptr_t)
+
const char *argp_program_version = STANDARD_HURD_VERSION (rpctrace);
static unsigned strsize = 80;
@@ -807,7 +810,7 @@ print_contents (mach_msg_header_t *inp,
int first = 1;
/* Process the message data, wrapping ports and printing data. */
- while (msg_buf_ptr < (void *) inp + inp->msgh_size)
+ while (msg_buf_ptr < (char *) inp + inp->msgh_size)
{
mach_msg_type_t *const type = msg_buf_ptr;
mach_msg_type_long_t *const lt = (void *) type;
@@ -839,8 +842,7 @@ print_contents (mach_msg_header_t *inp,
msg_buf_ptr += sizeof (void *);
}
else
- msg_buf_ptr += ((nelt * eltsize + sizeof(natural_t) - 1)
- & ~(sizeof(natural_t) - 1));
+ msg_buf_ptr += ((nelt * eltsize + MSG_ALIGNMENT - 1) & ~(MSG_ALIGNMENT
- 1));
if (first)
first = 0;
--
2.39.2
- [PATCH hurd] Improve portability for rpctrace on x86_64,
Flavio Cruz <=