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
Jeppe Johansen wrote 79 lines
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 <
>> > 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
>>
>>
>> Try building without specifying -gw2 in CROSSOPT.
>>
>> _______________________________________________
>> fpc-devel maillist
>>
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
>
> _______________________________________________
> fpc-devel maillist
>
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel