[fpc-devel] AVR target on trunk does not compile for me

Michael Ring mail at michael-ring.org
Mon Jun 3 12:00:40 CEST 2019


I set CROSSOPT to empty, after this change avr6 builds. BUT:

What made me wonder was that avr5 builds fine, it should be affected by 
the same SOFTFPU issue.

I did a quick grep through the fpc sources and found no obviously 
missing defines for avr6.

However, a grep for avr revealed this code snippet in 
rtl/embedded/system.cfg:

# AVR6 has normally more memory, so enable more functions
#ifdef CPUAVR6
-SfANSISTRINGS
-SfWIDESTRINGS
-SfDYNARRAYS
-SfTHREADING
-SfVARIANTS
-SfOBJECTS
-SfCOMMANDARGS
-SfRANDOM
-SfRESOURCES
#endif


The build works find with -g when I remove -SfVARIANTS

I am also wondering if CPUAVR is set when CPUAVR6 is set (I guess so), 
if this is true then -SfOBJECTS can also be removed from the CPUAVR6 
Define as it is already in the CPUAVR define

Last question: Is avr6 the only subarch that has enough memory for 
enabling strings? I am a Noob when it comes to avr, but I guess there 
should be more subarchs that have more memory, I today saw some ATTINY 
Chips with 32kB of Flash....

Michael


Am 03.06.19 um 10:37 schrieb Jeppe Johansen:
>
> Probably because of the missing softfpu support. It's failing while 
> writing debug info for floating point stuff in variants.
>
> It will be fixed some day :)
>
> On 6/2/19 10:54 PM, Michael Ring wrote:
>>
>> Thank you, not using -gw2 did the trick for avr5.
>>
>> Is this issue also known to you? I am trying to build avr6 support:
>>
>>   BINUTILSPREFIX=avr- ; CROSSOPT="-O- -g -dDEBUG"
>>   SUBARCH=avr6
>>   make clean buildbase  CROSSINSTALL=1 OS_TARGET=embedded 
>> CPU_TARGET=avr SUBARCH=$SUBARCH CROSSOPT="$CROSSOPT" 
>> BINUTILSPREFIX=$BINUTILSPREFIX 
>> OPT="-XR/Library/Developer/CommandLineTools//SDKs/MacOSX.sdk/" || exit 1
>>   sudo make installbase CROSSINSTALL=1 OS_TARGET=embedded 
>> CPU_TARGET=avr SUBARCH=$SUBARCH CROSSOPT="$CROSSOPT" 
>> BINUTILSPREFIX=$BINUTILSPREFIX 
>> INSTALL_UNITDIR=/usr/local/lib/fpc/3.3.1/units/avr-embedded/$SUBARCH/rtl 
>> || exit 1
>>
>> results in:
>>
>> /bin/mkdir -p /Users/ring/devel/fpc-avr/rtl/units/avr-embedded
>> /Users/ring/devel/fpc-avr/compiler/ppcrossavr -Cpavr6 -Ur -Tembedded 
>> -Pavr -XPavr- -Xr -Ur -Xs -O2 -n -Fi../inc -Fi../avr -FE. 
>> -FU/Users/ring/devel/fpc-avr/rtl/units/avr-embedded 
>> -XR/Library/Developer/CommandLineTools//SDKs/MacOSX.sdk/ -davr 
>> -dRELEASE -O- -g -dDEBUG  -Us -Sg system.pp @system.cfg
>> system.pp(293,1) Fatal: Internal error -1413909275
>>
>> Michael
>>
>> Am 02.06.19 um 17:56 schrieb Christo Crause:
>>>
>>> On Sun, Jun 2, 2019 at 4:51 PM Michael Ring <mail at michael-ring.org 
>>> <mailto:mail at michael-ring.org>> wrote:
>>>
>>>     I tried answering a question on the list today and to do so I
>>>     did my
>>>     'first time ever' compile of the avr target.
>>>
>>>     This is how I tried to build the avr-embedded target on my Mac:
>>>
>>>        SUBARCH=avr5; BINUTILSPREFIX=avr- ; CROSSOPT="-O- -gw2 -dDEBUG"
>>>        make clean buildbase  CROSSINSTALL=1 OS_TARGET=embedded
>>>     CPU_TARGET=avr SUBARCH=$SUBARCH CROSSOPT="$CROSSOPT"
>>>     BINUTILSPREFIX=$BINUTILSPREFIX
>>>     OPT="-XR/Library/Developer/CommandLineTools//SDKs/MacOSX.sdk/"
>>>     || exit 1
>>>
>>>     [snip]
>>>     /Users/ring/devel/fpc-avr/rtl/units/avr-embedded/system.s:
>>>     Assembler
>>>     messages:
>>>     /Users/ring/devel/fpc-avr/rtl/units/avr-embedded/system.s:90477:
>>>     Error:
>>>     value of 68582 too large for field of 2 bytes at 4713
>>>     /Users/ring/devel/fpc-avr/rtl/units/avr-embedded/system.s:90485:
>>>     Error:
>>>     value of 68582 too large for field of 2 bytes at 4731
>>>
>>>
>>> The compiler picks dwarf3 by default to avoid this type of problem, 
>>> see also 
>>> https://www.mail-archive.com/fpc-devel@lists.freepascal.org/msg35438.html
>>>
>>> Try building without specifying -gw2 in CROSSOPT.
>>>
>>> _______________________________________________
>>> fpc-devel maillist  -fpc-devel at lists.freepascal.org
>>> http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
>>
>> _______________________________________________
>> fpc-devel maillist  -fpc-devel at lists.freepascal.org
>> http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20190603/6153f6f3/attachment.html>


More information about the fpc-devel mailing list