In the GNU Assembler, what does the dot at the beginning of a name mean?

The following is a line from a microprocessor startup file for input to the GNU collector:

.section .isr_vector,"a",%progbits 

Does the dot at the beginning of the .isr_vector name .isr_vector something special? PS: This name refers to GNU linker ld.

EDIT:

This name also appears in the readelf file as the section header:

 Section Headers: [Nr] Name Type Addr Off Size ES Flg Lk Inf Al ... [ 1] .isr_vector PROGBITS 08000000 008000 0001ac 00 A 0 0 1 
+6
source share
2 answers

The dot preceding the name is either an assembler directive or a local label.

The assembler directive tells as to do something special, for example .text tells it to generate data in the text section of the object file (for things like code and literals that cannot be changed). There are also .space directives that tell him about the allocation of .space space in the object file, this is often used to allocate space in the bss section.

On the other hand, we have local labels of the .L1 type, which are used in the code but are not intended to be exported to the object file and should be hidden from the symbol table.

+8
source

However, I do not agree that this is a local variable. Only .L character .L mean local variables. (The naming convention for the local character is portable, but some kind of convention is machine dependent). Enter info as , go to the Symbols chapter and the Symbol-names sub-chapter, and you will get it.

I think this is just a character, which is the name of the section, and that name is mentioned in the script linker. You said you saw this in the microprocessor startup file. Of course, a script linker is needed to link microprocessor startup files. And this name is just used for reference, which may seem strange, but real.

+2
source

All Articles