From aa0587b290e9155e71c01447c0e3f57c3ee0ecc3 Mon Sep 17 00:00:00 2001 From: Nelson Chu Date: Thu, 8 Jul 2021 20:22:20 -0700 Subject: [PATCH] RISC-V: Enable elf attributes when default configure option isn't set. Since gcc commit, 3c70b3ca1ef58f302bf8c16d9e7c7bb8626408bf, we now enable elf attributes for all riscv targets by default in gcc. Therefore, I think binutils should have the same behavior, in case users are writing assembly files. If --enable-default-riscv-attribute isn't set, then we enable the elf attributes for all riscv targets by default. ChangLog: binutils/ * testsuite/binutils-all/readelf.s: Add comments for riscv. * testsuite/binutils-all/readelf.s-64: Likewise. * testsuite/binutils-all/readelf.s-64-unused: Likewise. * testsuite/binutils-all/readelf.ss: Likewise. * testsuite/binutils-all/readelf.ss-64: Likewise. * testsuite/binutils-all/readelf.ss-64-unused: Likewise. gas/ * configure.ac: If --enable-default-riscv-attribute isn't set, then we enable the elf attributes for all riscv targets by default. * configure: Regenerated. --- binutils/testsuite/binutils-all/readelf.s | 3 ++- binutils/testsuite/binutils-all/readelf.s-64 | 2 ++ binutils/testsuite/binutils-all/readelf.s-64-unused | 2 ++ binutils/testsuite/binutils-all/readelf.ss | 1 + binutils/testsuite/binutils-all/readelf.ss-64 | 1 + binutils/testsuite/binutils-all/readelf.ss-64-unused | 1 + gas/configure | 9 +-------- gas/configure.ac | 9 +-------- 8 files changed, 11 insertions(+), 17 deletions(-) diff --git a/binutils/testsuite/binutils-all/readelf.s b/binutils/testsuite/binutils-all/readelf.s index 6ae4dc756b9..ff37acb4da8 100644 --- a/binutils/testsuite/binutils-all/readelf.s +++ b/binutils/testsuite/binutils-all/readelf.s @@ -11,9 +11,10 @@ Section Headers: #... +\[ .\] .* +PROGBITS +00000000 0000(3c|40|44|48|50) 0000(04|10) 00 +WA +0 +0 +(.|..) +\[ .\] .* +NOBITS +00000000 0000(40|44|48|4c|60) 000000 00 +WA +0 +0 +(.|..) -# ARM targets put .ARM.attributes here +# ARM targets put .ARM.attributes here. # MIPS targets put .reginfo, .mdebug, .MIPS.abiflags and .gnu.attributes here. # v850 targets put .call_table_data and .call_table_text here. +# riscv targets put .riscv.attributes here. #... +\[..\] .symtab +SYMTAB +00000000 0+.* 0+.* 10 +.. +.+ +4 +\[..\] .strtab +STRTAB +00000000 0+.* 0+.* 00 .* +0 +0 +1 diff --git a/binutils/testsuite/binutils-all/readelf.s-64 b/binutils/testsuite/binutils-all/readelf.s-64 index 92ec05f0376..4c957f7a938 100644 --- a/binutils/testsuite/binutils-all/readelf.s-64 +++ b/binutils/testsuite/binutils-all/readelf.s-64 @@ -14,10 +14,12 @@ Section Headers: +\[ 4\] .bss +NOBITS +0000000000000000 +000000(4c|50|54|58|68) +0000000000000000 +0000000000000000 +WA +0 +0 +.* # x86 targets may put .note.gnu.property here. +# riscv targets put .riscv.attributes here. #... +\[ .\] .symtab +SYMTAB +0000000000000000 +0+.* # aarch64-elf targets have one more data symbol. # x86 targets may have .note.gnu.property. +# riscv targets have .riscv.attributes. +0+.* +0000000000000018 +(6|7) +(3|4) +8 +\[ .\] .strtab +STRTAB +0000000000000000 +0+.* +0+.* +0000000000000000 .* +0 +0 +1 diff --git a/binutils/testsuite/binutils-all/readelf.s-64-unused b/binutils/testsuite/binutils-all/readelf.s-64-unused index a1e6cd1bbd8..771439411a0 100644 --- a/binutils/testsuite/binutils-all/readelf.s-64-unused +++ b/binutils/testsuite/binutils-all/readelf.s-64-unused @@ -14,10 +14,12 @@ Section Headers: +\[ 4\] .bss +NOBITS +0000000000000000 +000000(4c|50|54|58) +0000000000000000 +0000000000000000 +WA +0 +0 +.* # x86 targets may put .note.gnu.property here. +# riscv targets put .riscv.attributes here. #... +\[ .\] .symtab +SYMTAB +0000000000000000 +0+.* # aarch64-elf targets have one more data symbol. # x86 targets may have .note.gnu.property. +# riscv targets have .riscv.attributes. +0+.* +0000000000000018 +(6|7) +(6|7) +8 +\[ .\] .strtab +STRTAB +0000000000000000 +0+.* +0+.* +0000000000000000 .* +0 +0 +1 diff --git a/binutils/testsuite/binutils-all/readelf.ss b/binutils/testsuite/binutils-all/readelf.ss index 5fbb5d002e3..b81c016e9e7 100644 --- a/binutils/testsuite/binutils-all/readelf.ss +++ b/binutils/testsuite/binutils-all/readelf.ss @@ -9,6 +9,7 @@ Symbol table '.symtab' contains .* entries: +.: 00000000 +0 +NOTYPE +LOCAL +DEFAULT +[34] static_data_symbol # v850 targets include extra SECTION symbols here for the .call_table_data # and .call_table_text sections. +# riscv targets add .riscv.attribute symbol here... #... +[0-9]+: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +1 text_symbol +[0-9]+: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +UND external_symbol diff --git a/binutils/testsuite/binutils-all/readelf.ss-64 b/binutils/testsuite/binutils-all/readelf.ss-64 index 99a732f71f5..c6ffb0fc523 100644 --- a/binutils/testsuite/binutils-all/readelf.ss-64 +++ b/binutils/testsuite/binutils-all/readelf.ss-64 @@ -7,6 +7,7 @@ Symbol table '.symtab' contains .* entries: #... +.: 0000000000000000 +0 +NOTYPE +LOCAL +DEFAULT +3 static_data_symbol # ... or here ... +# riscv targets add .riscv.attribute symbol here... #... .* +.: 0000000000000000 +0 +NOTYPE +GLOBAL +DEFAULT +1 text_symbol +.: 0000000000000000 +0 +NOTYPE +GLOBAL +DEFAULT +UND external_symbol diff --git a/binutils/testsuite/binutils-all/readelf.ss-64-unused b/binutils/testsuite/binutils-all/readelf.ss-64-unused index f48a4b2bbd2..cf515aa60d0 100644 --- a/binutils/testsuite/binutils-all/readelf.ss-64-unused +++ b/binutils/testsuite/binutils-all/readelf.ss-64-unused @@ -10,6 +10,7 @@ Symbol table '.symtab' contains .* entries: #... +.: 0000000000000000 +0 +NOTYPE +LOCAL +DEFAULT +3 static_data_symbol # ... or here ... +# riscv targets add .riscv.attribute symbol here... #... .* +.: 0000000000000000 +0 +NOTYPE +GLOBAL +DEFAULT +1 text_symbol +.: 0000000000000000 +0 +NOTYPE +GLOBAL +DEFAULT +UND external_symbol diff --git a/gas/configure b/gas/configure index 110d707f079..7a528fd485e 100755 --- a/gas/configure +++ b/gas/configure @@ -12550,14 +12550,7 @@ _ACEOF if test ${ac_default_generate_riscv_attr} = unset; then - case ${target_os} in - elf) - ac_default_generate_riscv_attr=1 - ;; - *) - ac_default_generate_riscv_attr=0 - ;; - esac + ac_default_generate_riscv_attr=1 fi diff --git a/gas/configure.ac b/gas/configure.ac index 78efba88e23..e2374268c56 100644 --- a/gas/configure.ac +++ b/gas/configure.ac @@ -727,14 +727,7 @@ AC_DEFINE_UNQUOTED(DEFAULT_X86_USED_NOTE, properties by default.]) if test ${ac_default_generate_riscv_attr} = unset; then - case ${target_os} in - elf) - ac_default_generate_riscv_attr=1 - ;; - *) - ac_default_generate_riscv_attr=0 - ;; - esac + ac_default_generate_riscv_attr=1 fi AC_DEFINE_UNQUOTED(DEFAULT_RISCV_ATTR, -- 2.30.2