[PATCH v2 1/3] RISC-V: Enable elf attributes when default configure option isn't set.
Nelson Chu
nelson.chu@sifive.com
Tue Jul 13 07:07:01 GMT 2021
Thanks for the suggestion. Committed this one first.
Nelson
On Fri, Jul 9, 2021 at 4:00 PM Kito Cheng <kito.cheng@sifive.com> wrote:
>
> I would suggest this patch could be a standalone patch from the
> mapping symbol patch set.
>
> On Fri, Jul 9, 2021 at 3:28 PM Nelson Chu <nelson.chu@sifive.com> wrote:
> >
> > 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.
> >
> > 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
> >
More information about the Binutils
mailing list