Counting static __cxa_atexit calls

Nick Clifton
Tue Aug 23 12:28:59 GMT 2022

Hi Florian,

> What would be the most ELF-flavored way to implement this?  After the
> final link, I expect that the count (or counts, we need a separate
> counter for thread-local storage) would show up under a new dynamic tag
> in the dynamic segment.  This is actually a very good fit because older
> loaders will just ignore it.  But the question remains what GCC should
> emit into assembler & object files, so that the link editor can compute
> the total count from that.

(It would worthwhile asking this question of the LLVM community too,
since ideally we would like to use the same method in both compilers).

This sounds like an opportunity to add a couple of new GNU object

   .gnu_attribute Tag_gnu_destructor_count, <number>
   .gnu_attribute Tag_gnu_tld_count, <count>

Which would then translate into a GNU object attribute notes in the
object file.


More information about the Binutils mailing list