perf test x86: insn-x86 test data is immutable so mark it const
This allows the movement of some sizeable data arrays (168,624 bytes) to .data.relro. Without PIE or the strings it could be moved to .rodata. Signed-off-by: Ian Rogers <irogers@google.com> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: K Prateek Nayak <kprateek.nayak@amd.com> Cc: Kan Liang <kan.liang@linux.intel.com> Cc: Leo Yan <leo.yan@linaro.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Masami Hiramatsu <mhiramat@kernel.org> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Ravi Bangoria <ravi.bangoria@amd.com> Cc: Ross Zwisler <zwisler@chromium.org> Cc: Sean Christopherson <seanjc@google.com> Cc: Steven Rostedt (VMware) <rostedt@goodmis.org> Cc: Tiezhu Yang <yangtiezhu@loongson.cn> Cc: Yang Jihong <yangjihong1@huawei.com> Link: https://lore.kernel.org/r/20230526183401.2326121-3-irogers@google.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Родитель
5c6e7c21ae
Коммит
b1d870a8bb
|
@ -18,14 +18,14 @@ struct test_data {
|
||||||
const char *asm_rep;
|
const char *asm_rep;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct test_data test_data_32[] = {
|
const struct test_data test_data_32[] = {
|
||||||
#include "insn-x86-dat-32.c"
|
#include "insn-x86-dat-32.c"
|
||||||
{{0x0f, 0x01, 0xee}, 3, 0, NULL, NULL, "0f 01 ee \trdpkru"},
|
{{0x0f, 0x01, 0xee}, 3, 0, NULL, NULL, "0f 01 ee \trdpkru"},
|
||||||
{{0x0f, 0x01, 0xef}, 3, 0, NULL, NULL, "0f 01 ef \twrpkru"},
|
{{0x0f, 0x01, 0xef}, 3, 0, NULL, NULL, "0f 01 ef \twrpkru"},
|
||||||
{{0}, 0, 0, NULL, NULL, NULL},
|
{{0}, 0, 0, NULL, NULL, NULL},
|
||||||
};
|
};
|
||||||
|
|
||||||
struct test_data test_data_64[] = {
|
const struct test_data test_data_64[] = {
|
||||||
#include "insn-x86-dat-64.c"
|
#include "insn-x86-dat-64.c"
|
||||||
{{0x0f, 0x01, 0xee}, 3, 0, NULL, NULL, "0f 01 ee \trdpkru"},
|
{{0x0f, 0x01, 0xee}, 3, 0, NULL, NULL, "0f 01 ee \trdpkru"},
|
||||||
{{0x0f, 0x01, 0xef}, 3, 0, NULL, NULL, "0f 01 ef \twrpkru"},
|
{{0x0f, 0x01, 0xef}, 3, 0, NULL, NULL, "0f 01 ef \twrpkru"},
|
||||||
|
@ -97,7 +97,7 @@ static int get_branch(const char *branch_str)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int test_data_item(struct test_data *dat, int x86_64)
|
static int test_data_item(const struct test_data *dat, int x86_64)
|
||||||
{
|
{
|
||||||
struct intel_pt_insn intel_pt_insn;
|
struct intel_pt_insn intel_pt_insn;
|
||||||
int op, branch, ret;
|
int op, branch, ret;
|
||||||
|
@ -147,9 +147,9 @@ static int test_data_item(struct test_data *dat, int x86_64)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int test_data_set(struct test_data *dat_set, int x86_64)
|
static int test_data_set(const struct test_data *dat_set, int x86_64)
|
||||||
{
|
{
|
||||||
struct test_data *dat;
|
const struct test_data *dat;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
for (dat = dat_set; dat->expected_length; dat++) {
|
for (dat = dat_set; dat->expected_length; dat++) {
|
||||||
|
|
Загрузка…
Ссылка в новой задаче