From 339229c28beaaf49fcf197f75f829540090a777a Mon Sep 17 00:00:00 2001 From: Alex Menkov Date: Fri, 19 Dec 2025 18:06:03 -0800 Subject: [PATCH] fix --- make/modules/jdk.jdwp.agent/Lib.gmk | 15 --------------- .../share/native/libjdwp/EventRequestImpl.c | 4 +--- src/jdk.jdwp.agent/share/native/libjdwp/SDE.c | 13 ------------- .../share/native/libjdwp/error_messages.c | 5 +++++ .../share/native/libjdwp/eventFilter.c | 3 ++- .../share/native/libjdwp/inStream.c | 1 + .../share/native/libjdwp/log_messages.c | 1 + .../share/native/libjdwp/threadControl.c | 5 +++-- .../share/native/libjdwp/utf_util.c | 4 ++-- src/jdk.jdwp.agent/share/native/libjdwp/util.h | 7 +++++++ 10 files changed, 22 insertions(+), 36 deletions(-) diff --git a/make/modules/jdk.jdwp.agent/Lib.gmk b/make/modules/jdk.jdwp.agent/Lib.gmk index 6ae053d4bec1a..ce58e145f59b3 100644 --- a/make/modules/jdk.jdwp.agent/Lib.gmk +++ b/make/modules/jdk.jdwp.agent/Lib.gmk @@ -54,21 +54,6 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBJDWP, \ NAME := jdwp, \ OPTIMIZATION := LOW, \ CFLAGS := -DJDWP_LOGGING $(ICONV_CFLAGS), \ - DISABLED_WARNINGS_gcc_eventFilter.c := unused-variable, \ - DISABLED_WARNINGS_gcc_SDE.c := unused-function, \ - DISABLED_WARNINGS_gcc_threadControl.c := unused-but-set-variable \ - unused-variable, \ - DISABLED_WARNINGS_gcc_utf_util.c := unused-but-set-variable, \ - DISABLED_WARNINGS_clang_error_messages.c := format-nonliteral, \ - DISABLED_WARNINGS_clang_eventFilter.c := unused-variable, \ - DISABLED_WARNINGS_clang_EventRequestImpl.c := self-assign, \ - DISABLED_WARNINGS_clang_inStream.c := sometimes-uninitialized, \ - DISABLED_WARNINGS_clang_log_messages.c := format-nonliteral, \ - DISABLED_WARNINGS_clang_SDE.c := unused-function, \ - DISABLED_WARNINGS_clang_threadControl.c := unused-but-set-variable \ - unused-variable, \ - DISABLED_WARNINGS_clang_utf_util.c := unused-but-set-variable, \ - DISABLED_WARNINGS_microsoft_debugInit.c := 5287, \ LDFLAGS := $(ICONV_LDFLAGS), \ EXTRA_HEADER_DIRS := \ include \ diff --git a/src/jdk.jdwp.agent/share/native/libjdwp/EventRequestImpl.c b/src/jdk.jdwp.agent/share/native/libjdwp/EventRequestImpl.c index 3eddb01eaa5f4..be9231507d776 100644 --- a/src/jdk.jdwp.agent/share/native/libjdwp/EventRequestImpl.c +++ b/src/jdk.jdwp.agent/share/native/libjdwp/EventRequestImpl.c @@ -84,12 +84,10 @@ readAndSetFilters(JNIEnv *env, PacketInputStream *in, HandlerNode *node, } case JDWP_REQUEST_MODIFIER(LocationOnly): { - jbyte tag; jclass clazz; jmethodID method; jlocation location; - tag = inStream_readByte(in); /* not currently used */ - tag = tag; /* To shut up lint */ + (void)inStream_readByte(in); /* not currently used */ if ( (serror = inStream_error(in)) != JDWP_ERROR(NONE) ) break; clazz = inStream_readClassRef(env, in); diff --git a/src/jdk.jdwp.agent/share/native/libjdwp/SDE.c b/src/jdk.jdwp.agent/share/native/libjdwp/SDE.c index b1f18dd10bebe..d3dd6d122f638 100644 --- a/src/jdk.jdwp.agent/share/native/libjdwp/SDE.c +++ b/src/jdk.jdwp.agent/share/native/libjdwp/SDE.c @@ -718,19 +718,6 @@ private jboolean isValid(void); lineTable[lti].jplsLineInc)); } - private int fileTableIndex(int sti, int fileId) { - int i; - int fileIndexStart = stratumTable[sti].fileIndex; - /* one past end */ - int fileIndexEnd = stratumTable[sti+1].fileIndex; - for (i = fileIndexStart; i < fileIndexEnd; ++i) { - if (fileTable[i].fileId == fileId) { - return i; - } - } - return -1; - } - private jboolean isValid(void) { return sourceMapIsValid; } diff --git a/src/jdk.jdwp.agent/share/native/libjdwp/error_messages.c b/src/jdk.jdwp.agent/share/native/libjdwp/error_messages.c index a37b88e70dfd0..32700cce056a4 100644 --- a/src/jdk.jdwp.agent/share/native/libjdwp/error_messages.c +++ b/src/jdk.jdwp.agent/share/native/libjdwp/error_messages.c @@ -61,6 +61,8 @@ * NOTE: This function is at the lowest level of the call tree. * Do not use the ERROR* macros here. */ + +ATTRIBUTE_PRINTF(4, 0) static void vprint_message(FILE *fp, const char *prefix, const char *suffix, const char *format, va_list ap) @@ -84,6 +86,7 @@ vprint_message(FILE *fp, const char *prefix, const char *suffix, * NOTE: This function is at the lowest level of the call tree. * Do not use the ERROR* macros here. */ +ATTRIBUTE_PRINTF(4, 5) void print_message(FILE *fp, const char *prefix, const char *suffix, const char *format, ...) @@ -96,6 +99,7 @@ print_message(FILE *fp, const char *prefix, const char *suffix, } /* Generate error message */ +ATTRIBUTE_PRINTF(1, 2) void error_message(const char *format, ...) { @@ -110,6 +114,7 @@ error_message(const char *format, ...) } /* Print plain message to stdout. */ +ATTRIBUTE_PRINTF(1, 2) void tty_message(const char *format, ...) { diff --git a/src/jdk.jdwp.agent/share/native/libjdwp/eventFilter.c b/src/jdk.jdwp.agent/share/native/libjdwp/eventFilter.c index 3ba875e88cdd3..8e1cf09411de4 100644 --- a/src/jdk.jdwp.agent/share/native/libjdwp/eventFilter.c +++ b/src/jdk.jdwp.agent/share/native/libjdwp/eventFilter.c @@ -976,7 +976,8 @@ eventFilter_setSourceNameMatchFilter(HandlerNode *node, jvmtiError eventFilter_setPlatformThreadsOnlyFilter(HandlerNode *node, jint index) { - PlatformThreadsFilter *filter = &FILTER(node, index).u.PlatformThreadsOnly; + // PlatformThreadsFilter contains nothing useful + //PlatformThreadsFilter *filter = &FILTER(node, index).u.PlatformThreadsOnly; if (index >= FILTER_COUNT(node)) { return AGENT_ERROR_ILLEGAL_ARGUMENT; } diff --git a/src/jdk.jdwp.agent/share/native/libjdwp/inStream.c b/src/jdk.jdwp.agent/share/native/libjdwp/inStream.c index 232da2cb34859..d34cae7b59436 100644 --- a/src/jdk.jdwp.agent/share/native/libjdwp/inStream.c +++ b/src/jdk.jdwp.agent/share/native/libjdwp/inStream.c @@ -470,6 +470,7 @@ inStream_readValue(PacketInputStream *stream) break; default: stream->error = JDWP_ERROR(INVALID_TAG); + value.j = 0L; // to make compiler happy break; } } diff --git a/src/jdk.jdwp.agent/share/native/libjdwp/log_messages.c b/src/jdk.jdwp.agent/share/native/libjdwp/log_messages.c index ebc39febff9cf..b0be154e9c4e6 100644 --- a/src/jdk.jdwp.agent/share/native/libjdwp/log_messages.c +++ b/src/jdk.jdwp.agent/share/native/libjdwp/log_messages.c @@ -155,6 +155,7 @@ standard_logging_format(FILE *fp, } /* End a log entry */ +ATTRIBUTE_PRINTF(1, 2) void log_message_end(const char *format, ...) { diff --git a/src/jdk.jdwp.agent/share/native/libjdwp/threadControl.c b/src/jdk.jdwp.agent/share/native/libjdwp/threadControl.c index 8a02f3f9ee932..b667824dad098 100644 --- a/src/jdk.jdwp.agent/share/native/libjdwp/threadControl.c +++ b/src/jdk.jdwp.agent/share/native/libjdwp/threadControl.c @@ -2673,6 +2673,9 @@ threadControl_currentThread(void) { jthread thread = NULL; jvmtiError error = JVMTI_FUNC_PTR(gdata->jvmti,GetCurrentThread)(gdata->jvmti, &thread); + if (error != JVMTI_ERROR_NONE) { + EXIT_ERROR(error, "cannot get current thread"); + } return thread; } @@ -2700,11 +2703,9 @@ threadControl_getFrameGeneration(jthread thread) jthread * threadControl_allVThreads(jint *numVThreads) { - JNIEnv *env; ThreadNode *node; jthread* vthreads; - env = getEnv(); debugMonitorEnter(threadLock); *numVThreads = numRunningVThreads; diff --git a/src/jdk.jdwp.agent/share/native/libjdwp/utf_util.c b/src/jdk.jdwp.agent/share/native/libjdwp/utf_util.c index f5573930d347c..78294801215b4 100644 --- a/src/jdk.jdwp.agent/share/native/libjdwp/utf_util.c +++ b/src/jdk.jdwp.agent/share/native/libjdwp/utf_util.c @@ -173,7 +173,7 @@ int JNICALL utf8mToUtf8sLength(jbyte *string, int length) { newLength = 0; for ( i = 0 ; i < length ; i++ ) { - unsigned byte1, byte2, byte3, byte4, byte5, byte6; + unsigned byte1, byte2, byte4, byte5, byte6; byte1 = (unsigned char)string[i]; if ( (byte1 & 0x80) == 0 ) { /* 1byte encoding */ @@ -196,7 +196,7 @@ int JNICALL utf8mToUtf8sLength(jbyte *string, int length) { break; /* Error condition */ } byte2 = (unsigned char)string[++i]; - byte3 = (unsigned char)string[++i]; + ++i; // byte3 is not used newLength += 3; /* Possible process a second 3byte encoding */ if ( (i+3) < length && byte1 == 0xED && (byte2 & 0xF0) == 0xA0 ) { diff --git a/src/jdk.jdwp.agent/share/native/libjdwp/util.h b/src/jdk.jdwp.agent/share/native/libjdwp/util.h index a48c8ba2c095e..59b70d3f30e78 100644 --- a/src/jdk.jdwp.agent/share/native/libjdwp/util.h +++ b/src/jdk.jdwp.agent/share/native/libjdwp/util.h @@ -59,6 +59,13 @@ #include "error_messages.h" #include "debugInit.h" +/* To handle "format string is not a string literal" warning. */ +#if !defined(_MSC_VER) + #define ATTRIBUTE_PRINTF(fmt, vargs) __attribute__((format(printf, fmt, vargs))) +#else + #define ATTRIBUTE_PRINTF(fmt, vargs) +#endif + /* Definition of a CommonRef tracked by the backend for the frontend */ typedef struct RefNode { jlong seqNum; /* ID of reference, also key for hash table */