From a26f0b229d087ba27a863aae9bd28b7e25166bbd Mon Sep 17 00:00:00 2001 From: Waldemar Kozaczuk Date: Mon, 2 May 2022 16:27:59 +0000 Subject: [PATCH] aarch64: build tst-elf-permissions.cc with correctly named sections The assembler on aarch64 uses different characters - '//' - for the end of line comment (see https://sourceware.org/binutils/docs-2.26/as/i386_002dChars.html#i386_002dChars and https://sourceware.org/binutils/docs-2.26/as/AArch64_002dChars.html#AArch64_002dChars respectively). So we add the relevant ifdef directives to make it build correctly on each arch. Signed-off-by: Waldemar Kozaczuk --- tests/tst-elf-permissions.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tests/tst-elf-permissions.cc b/tests/tst-elf-permissions.cc index 3b70478711..4ff045a46e 100644 --- a/tests/tst-elf-permissions.cc +++ b/tests/tst-elf-permissions.cc @@ -20,9 +20,19 @@ static int test_text_section() __attribute__((noinline)); // solution is to take advantage from the fact that gcc passes section name // verbatim to the assembler and thus adding '#' makes whatever gcc appends // to the directive ignored. +#ifdef __x86_64__ static int test_data_section() __attribute__((noinline, section(".data #"))); +#endif +#ifdef __aarch64__ +static int test_data_section() __attribute__((noinline, section(".data //"))); +#endif +#ifdef __x86_64__ static int test_gnu_relro __attribute__((section(".got #"))); +#endif +#ifdef __aarch64__ +static int test_gnu_relro __attribute__((section(".got //"))); +#endif volatile int value = 123; static int test_text_section()