[fpc-devel] AVR - assembler error when compiling large files
Christo
christo.crause at gmail.com
Sat Nov 25 16:53:06 CET 2017
I am busy adding extra definitions to the AVR mcu files. I've
encountered a problem when building some controller files with lots of
record and set definitions. When I build the RTL the build process
fails with lots of assembler errors:
../../rtl/units/avr-embedded/atmega32u4.s: Assembler messages:
../../rtl/units/avr-embedded/atmega32u4.s:37285: Error: value of 65611
too large for field of 2 bytes at 65609
The lines surrounding the first error:
_sATMEGA32U4s_Ld549:
.uleb128 6
.ascii "rtti_enum_basetype_array_rec$00000070\000"
.short .La454 <===== line 37285
.La454:
.uleb128 12
.ascii "$RTTI_ENUM_BASETYPE_ARRAY_REC$00000070\000"
It seems as if there are too many data entries to fit into a 16 bit
value (.short). Note that this is only an issue for large files,
smaller files do not have this problem.
Is there a way to instruct the compiler to use a larger data type when
emitting this information to the assembler file?
More information about the fpc-devel
mailing list