Internal handling of interrupt vectors and jump table

"Klaus Rudolph" <[email protected]>
Newsgroups gmane.comp.hardware.avr.gcc
Message-ID <trinity-de6c7a9e-45b1-4456-9b3c-6c385dab00cd-1439287457543@3capp-gmx-bs13>
Hi,

can someone explain how interrupt vectors are handled in gcc internally?

OK, I saw that in  /opt/avr_5.2.0/lib/gcc/avr/5.2.0/../../../../avr/lib/avr5/crtatmega32.o

the empty vector table is included, like:

Disassembly of section .vectors:
00000000 <__vectors>:
0:   0c 94 00 00     jmp     0       ; 0x0 <__vectors>
4:   0c 94 00 00     jmp     0       ; 0x0 <__vectors>
8:   0c 94 00 00     jmp     0       ; 0x0 <__vectors>

And I also can see, that my code results in:

Disassembly of section .text:
00000000 <__vector_7>:
...

but where can I see that __vector_7 goes to the correct place in the table?

I can't see the relocations nor the symbols for that! Is this hardcoded somewhere in binutils?

It would be nice that someone can give me some hints to where I can find the details of getting the vectors into the table.

Thanks!

Klaus
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.