Some I/O headers define _VECTOR_SIZE which can be used in gcrt1.S to layout the vector table.
This information is more reliable than __AVR_HAVE_JMP_CALL__ which is currently used via macros.inc's definition of XCALL/XJMP (which deviates from the definition in asmdef.h btw).
As an example, take ATmega808/9 which is currently in avrxmega3/short-calls, hence does not define __AVR_HAVE_JMP_CALL__. However according to the data sheet and iom808/9.h, _VECTOR_SIZE is 4.
Some I/O headers define
_VECTOR_SIZE
which can be used ingcrt1.S
to layout the vector table.This information is more reliable than
__AVR_HAVE_JMP_CALL__
which is currently used viamacros.inc
's definition ofXCALL
/XJMP
(which deviates from the definition inasmdef.h
btw).As an example, take ATmega808/9 which is currently in
avrxmega3/short-calls
, hence does not define__AVR_HAVE_JMP_CALL__
. However according to the data sheet and iom808/9.h,_VECTOR_SIZE
is 4.