Hi David.

>> Hi YiFei.
>> 
>>> Prior to this, a BSS declaration such as:
>>>
>>>   int foo;
>>>   static int bar;
>>>
>>> Generates:
>>>
>>>   .global foo
>>>   .local  foo
>>>   .comm   foo,4,4
>>>   .local  bar
>>>   .comm       bar,4,4
>>>
>>> Creating symbols:
>>>
>>>   0000000000000000 b foo
>>>   0000000000000004 b bar
>>>
>>> Both symbols are local. However, libbpf bpf_object__variable_offset
>>> rquires symbols to be STB_GLOBAL & STT_OBJECT for data section lookup.
>>> This patch makes the same declaration generate:
>>>
>>>   .global foo
>>>   .type   foo, @object
>>>   .lcomm  foo,4,4
>>>   .local  bar
>>>   .comm   bar,4,4
>>>
>>> Creating symbols:
>>>
>>>   0000000000000000 B foo
>>>   0000000000000004 b bar
>>>
>>> And libbpf will be okay with looking up the global symbol "foo".
>> 
>> Thanks for the patch.
>> This is OK for both master and GCC 10.
>> 
>
> OK for backport to GCC 11 (both patches)?

Yes please. Provided releases/gcc-11 is open for backports..

Reply via email to