Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) // SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) #include <string.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3) #include <stdlib.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4) #include <stdio.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5) #include "tests.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6) #include "session.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7) #include "debug.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8) #include "demangle-java.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) int test__demangle_java(struct test *test __maybe_unused, int subtest __maybe_unused)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) 	int ret = TEST_OK;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) 	char *buf = NULL;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) 	size_t i;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) 	struct {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) 		const char *mangled, *demangled;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) 	} test_cases[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) 		{ "Ljava/lang/StringLatin1;equals([B[B)Z",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) 		  "boolean java.lang.StringLatin1.equals(byte[], byte[])" },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) 		{ "Ljava/util/zip/ZipUtils;CENSIZ([BI)J",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) 		  "long java.util.zip.ZipUtils.CENSIZ(byte[], int)" },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) 		{ "Ljava/util/regex/Pattern$BmpCharProperty;match(Ljava/util/regex/Matcher;ILjava/lang/CharSequence;)Z",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) 		  "boolean java.util.regex.Pattern$BmpCharProperty.match(java.util.regex.Matcher, int, java.lang.CharSequence)" },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) 		{ "Ljava/lang/AbstractStringBuilder;appendChars(Ljava/lang/String;II)V",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) 		  "void java.lang.AbstractStringBuilder.appendChars(java.lang.String, int, int)" },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) 		{ "Ljava/lang/Object;<init>()V",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) 		  "void java.lang.Object<init>()" },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) 	};
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) 	for (i = 0; i < sizeof(test_cases) / sizeof(test_cases[0]); i++) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) 		buf = java_demangle_sym(test_cases[i].mangled, 0);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) 		if (strcmp(buf, test_cases[i].demangled)) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) 			pr_debug("FAILED: %s: %s != %s\n", test_cases[i].mangled,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) 				 buf, test_cases[i].demangled);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) 			ret = TEST_FAIL;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) 		}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) 		free(buf);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) 	}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) 	return ret;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) }