[KDGDB] Fix build with x86 and x64 MSVC (#5187)

```
gdb_input.c(243): error C4477: '_snprintf' : format string '%p' requires
  an argument of type 'void *', but variadic argument 1 has type 'UINT_PTR'

i386_sup.c(98): error C4090: 'return': different 'const' qualifiers
amd64_sup.c(115): error C4090: 'return': different 'const' qualifiers
```
This commit is contained in:
Hermès Bélusca-Maïto
2026-03-21 22:52:16 +01:00
parent 6e3e7f0d23
commit 9669b3124f
3 changed files with 15 additions and 16 deletions
+5 -6
View File
@@ -30,7 +30,7 @@ static const unsigned char reg_size[] =
};
static
void*
const void*
ctx_to_reg(CONTEXT* ctx, enum reg_name name)
{
switch (name)
@@ -60,12 +60,11 @@ ctx_to_reg(CONTEXT* ctx, enum reg_name name)
case GS: return &ctx->SegGs;
case SS: return &ctx->SegSs;
}
#undef return_reg
return 0;
return NULL;
}
static
void*
const void*
thread_to_reg(PETHREAD Thread, enum reg_name reg_name)
{
static const void* NullValue = NULL;
@@ -144,7 +143,7 @@ KDSTATUS
gdb_send_registers(void)
{
CHAR RegisterStr[17];
UCHAR* RegisterPtr;
const UCHAR* RegisterPtr;
unsigned short i;
unsigned short size;
@@ -218,7 +217,7 @@ KDSTATUS
gdb_send_register(void)
{
enum reg_name reg_name;
void *ptr;
const void* ptr;
/* Get the GDB register name (gdb_input = "pXX") */
reg_name = (hex_value(gdb_input[1]) << 4) | hex_value(gdb_input[2]);
+4 -4
View File
@@ -187,10 +187,10 @@ handle_gdb_query(void)
{
char gdb_out[64];
#if MONOPROCESS
sprintf(gdb_out, "QC:%"PRIxPTR";",
sprintf(gdb_out, "QC:%" PRIxPTR ";",
handle_to_gdb_tid(PsGetThreadId((PETHREAD)(ULONG_PTR)CurrentStateChange.Thread)));
#else
sprintf(gdb_out, "QC:p%"PRIxPTR".%"PRIxPTR";",
sprintf(gdb_out, "QC:p%" PRIxPTR ".%" PRIxPTR ";",
handle_to_gdb_pid(PsGetThreadProcessId((PETHREAD)(ULONG_PTR)CurrentStateChange.Thread)),
handle_to_gdb_tid(PsGetThreadId((PETHREAD)(ULONG_PTR)CurrentStateChange.Thread)));
#endif
@@ -240,9 +240,9 @@ handle_gdb_query(void)
PETHREAD Thread = CONTAINING_RECORD(CurrentThreadEntry, ETHREAD, ThreadListEntry);
#if MONOPROCESS
_snprintf(gdb_out, 40, ",%p", handle_to_gdb_tid(Thread->Cid.UniqueThread));
_snprintf(gdb_out, 40, ",%" PRIxPTR, handle_to_gdb_tid(Thread->Cid.UniqueThread));
#else
_snprintf(gdb_out, 40, ",p%p.%p",
_snprintf(gdb_out, 40, ",p%" PRIxPTR ".%" PRIxPTR,
handle_to_gdb_pid(Process->UniqueProcessId),
handle_to_gdb_tid(Thread->Cid.UniqueThread));
#endif
+6 -6
View File
@@ -20,7 +20,7 @@ enum reg_name
};
static
void*
const void*
ctx_to_reg(CONTEXT* ctx, enum reg_name name, unsigned short* size)
{
/* For general registers: 32bits */
@@ -76,11 +76,11 @@ ctx_to_reg(CONTEXT* ctx, enum reg_name name, unsigned short* size)
return &ctx->ExtendedRegisters[160 + (name - XMM0)*16];
case MXCSR: return &ctx->ExtendedRegisters[24];
}
return 0;
return NULL;
}
static
void*
const void*
thread_to_reg(PETHREAD Thread, enum reg_name reg_name, unsigned short* size)
{
static const void* NullValue = NULL;
@@ -152,8 +152,8 @@ KDSTATUS
gdb_send_registers(void)
{
CHAR RegisterStr[9];
UCHAR* RegisterPtr;
unsigned i;
const UCHAR* RegisterPtr;
unsigned short i;
unsigned short size;
RegisterStr[8] = '\0';
@@ -223,7 +223,7 @@ KDSTATUS
gdb_send_register(void)
{
enum reg_name reg_name;
void *ptr;
const void* ptr;
unsigned short size;
/* Get the GDB register name (gdb_input = "pXX") */