Hello, On Mon, 9 Mar 2020, Martin Liška wrote:
> On 3/9/20 4:36 PM, H.J. Lu wrote: > > We nee to support different variables, like TLS, data and bss variables. > > Why do we need TLS? Right now, it's not supported by nm. Of course it does. It's the 'T' (or 't') character. When you introduce symbol categories into the plugin system it would be advisable to include all we usually care about, and as the ELF categories are (roughly) a superset of everything we support, I'd say that should be the list to look at. I.e. a mixture of visibility, locality (aka binding) and type: {object,function,common,tls} x {local,global,weak,unique} x {default,internal,hidden,protected} That doesn't include symbols types section,file,ifunc or os or arch specific types or visibilities or bindings. But it would probably not be the worst idea to simply encode what we need with ELF constants and names. While not all the world is ELF, all concepts we have can be mapped onto ELF. Ciao, Michael.