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?
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to