[PATCH] define SHT_LLVM_ADDRSIG section rather than error out
Timm Bäder
tbaeder@redhat.com
Thu Mar 4 13:44:11 GMT 2021
On 18/11/2020 06:34, Navin P via Elfutils-devel wrote:
>>> diff --git a/src/elflint.c b/src/elflint.c
>>> index ef3e3732..62663800 100644
>>> --- a/src/elflint.c
>>> +++ b/src/elflint.c
>>> @@ -3905,6 +3905,7 @@ section [%2zu] '%s': size not multiple of entry
>>> size\n"),
>>> && shdr->sh_type != SHT_GNU_ATTRIBUTES
>>> && shdr->sh_type != SHT_GNU_LIBLIST
>>> && shdr->sh_type != SHT_CHECKSUM
>>> + && shdr->sh_type != SHT_LLVM_ADDRSIG
>>> && shdr->sh_type != SHT_GNU_verdef
>>> && shdr->sh_type != SHT_GNU_verneed
>>> && shdr->sh_type != SHT_GNU_versym
>>
>> Note that for various of these SHT_GNU extensions we actually do have
>> some extra checks. Do we need to check anything for a section marked
>> SHT_LLVM_ADDRSIG?
>>
> We can do two things here
> a) Recognize the section exists but ignore its contents which is what i
> do. This needn't be the correct approach.
> You may need to check the contents to sht_llvm_addrsig but that is
> lot of work after the format has been frozen.
> https://www.mail-archive.com/netdev@vger.kernel.org/msg348254.html
> readelf output
> [22] .llvm_addrsig LOOS+0xfff4c03 0000000000000000 ...
>
> b) If we don't want to recognize SHT_LLVM_ADDRSIG
> you can strip section from object file by objcopy -R .llvm_addrsig size.o
> conditionally based on clang compiler.
>
Hey Navin and Mark,
any update on this? I see that SHT_LLVM_ADDRSIG is still not in upstream
glibc. Are you working on that, Navin?
As for the checks, I'm not sure we can do anything here since elfutils
can't know whether a symbol is rightfully marked as address-significant.
Thanks,
Timm
--
Red Hat GmbH, http://www.de.redhat.com/, Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Michael O'Neill, Tom Savage, Eric
Shander
More information about the Elfutils-devel
mailing list