On 07/05/2024 17:55, Edgar E. Iglesias wrote:
On Tue, May 7, 2024 at 11:57 AM Julien Grall <jul...@xen.org> wrote:
Hi Julien,

Hi Edgar,


The reason I choose FUNC for the start of the symbol is because these
symbols contain
executable code (not only a table of pointers to code somewhere else)
and the ELF spec
says that STT_FUNC means the symbol contains functions or other executable
code (not only callable functions IIUC):

"STT_FUNC The symbol is associated with a function or other executable code."
https://refspecs.linuxbase.org/elf/elf.pdf
(Symbol Table 1-20).

Thanks for the pointer. I originally did intend to suggest the change, but then I saw the use of LABEL in x86 (such as svm_stgi_label). There are a few others example with LABEL_LOCAL.

AFAICT, this is also executable code which the only difference that it is not meant to be called by someone else. Furthermore, LABEL is using DO_CODE_ALIGN(...) for the alignment which imply that it is intended to be used by executable code. So I thought the only difference was whether the label was intended to be used as a function.


I think using LABEL instead of GLOBAL for the _end labels of these
code sequences makes sense.
I'm happy to change the _start labels to LABEL too if you guys feel
that's better.

I have to admit I am little confused with the difference between LABEL vs FUNC. I think I will need some guidance from Jan (he introduced linkage.h).

Cheers,

--
Julien Grall

Reply via email to