[PATCH] ELF: Add support for unique section ID to assembler
Fangrui Song
i@maskray.me
Mon Feb 3 01:10:00 GMT 2020
More information about the Binutils mailing list
Mon Feb 3 01:10:00 GMT 2020
- Previous message (by thread): [PATCH] ELF: Add support for unique section ID to assembler
- Next message (by thread): [PATCH] ELF: Add support for unique section ID to assembler
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 2020-02-02, H.J. Lu wrote: >On Sun, Feb 2, 2020@4:22 PM Alan Modra <amodra@gmail.com> wrote: >> >> On Sun, Feb 02, 2020@09:50:54AM -0800, H.J. Lu wrote: >> > Clang's integrated assembler supports multiple section with the same >> > name: >> > >> > .section .text,"ax",@progbits,unique,1 >> > nop >> > .section .text,"ax",@progbits,unique,2 >> > nop >> > >> > "unique,N" assigns the number, N, as the section ID, to a section. The >> > valid values of the section ID are between 0 and 4294967295. It can be >> > used to distinguish different sections with the same section name. >> > >> > This is useful with -fno-unique-section-names -ffunction-sections. >> > -ffunction-sections by default generates .text.foo, .text.bar, etc. >> > Using the same string can save lots of space in .strtab. >> > >> > This patch adds section_id to bfd_section and reuses the linker >> > internal bit in BFD section flags, SEC_LINKER_CREATED, for assmebler >> > internal use to mark valid section_id. It also updates objdump to >> > compare section pointers if 2 sections comes from the same file since >> > 2 different sections can have the same section name. >> >> Looks OK to me. >> > >This is the patch I am checking in. I updated documentation with > >iff --git a/gas/doc/as.texi b/gas/doc/as.texi >index fa155096159..152bbfdd009 100644 >--- a/gas/doc/as.texi >+++ b/gas/doc/as.texi >@@ -6709,6 +6709,18 @@ this directive. If that section used @code{G}, then the >new section will use > @code{G} with those same @var{GroupName} and @var{linkage} fields implicitly. > If not, then the @code{?} symbol has no effect. > >+The optional @var{unique,@code{<number>}} argument must come last. It >+assigns @var{@code{<number>}} as a unique section ID to distinguish >+different sections with the same section name like these: >+ >+@smallexample >+.section @var{name},"@var{flags}",@@@var{type},@var{unique,@code{<number>}} >+.section @var{name},"@var{flags}"G,@@@var{type},@var{GroupName},[@var{linkage}] >,@var{unique,@code{<number>}} >+.section @var{name},"@var{flags}"MG,@@@var{type},@var{entsize},@var{GroupName}[ >,@var{linkage}],@var{unique,@code{<number>}} >+@end smallexample >+ >+The valid values of @var{@code{<number>}} are between 0 and 4294967295. >+ > If no flags are specified, the default flags depend upon the section name. If > the section name is not recognized, the default will be for the section to have > none of the above flags: it will not be allocated in memory, nor writable, nor > > >-- >H.J. Thanks for the patch! Looks good. + sections withe the same section name. */ Typo. withe -> with
- Previous message (by thread): [PATCH] ELF: Add support for unique section ID to assembler
- Next message (by thread): [PATCH] ELF: Add support for unique section ID to assembler
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Binutils mailing list