* xtensa-embedded: fix setting of the fpu and abi

git-svn-id: trunk@45270 -
This commit is contained in:
florian 2020-05-05 20:41:36 +00:00
parent 3ab5acccb1
commit a4695a7015
3 changed files with 14 additions and 3 deletions

View File

@ -4610,6 +4610,17 @@ begin
end;
{$endif}
{$ifdef xtensa}
if (target_info.system=system_xtensa_embedded) and not(option.ABISetExplicitly) then
begin
if CPUXTENSA_REGWINDOW in cpu_capabilities[init_settings.cputype] then
target_info.abi:=abi_xtensa_windowed
else
target_info.abi:=abi_xtensa_call0;
end;
{$endif xtensa}
{$if defined(powerpc) or defined(powerpc64)}
{ define _CALL_ELF symbol like gcc }
case target_info.abi of

View File

@ -712,7 +712,7 @@ unit i_embed;
first_parm_offset : 8;
stacksize : 65536;
stackalign : 16;
abi : abi_default;
abi : abi_xtensa_call0;
llvmdatalayout : 'e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:64:128-a0:0:64-n32-S32';
);

View File

@ -109,8 +109,8 @@ Const
embedded_controllers : array [tcontrollertype] of tcontrollerdatatype =
(
(controllertypestr:''; controllerunitstr:''; cputype:cpu_none; fputype:fpu_none; abi: abi_default; flashbase:0),
(controllertypestr:'ESP8266'; controllerunitstr:'ESP8266'; cputype:cpu_lx106; fputype:fpu_none; abi: abi_xtensa_call0; { flashbase:$40000000; flashsize:448*1024; srambase:$40070000; sramsize: 520*1024 }),
(controllertypestr:''; controllerunitstr:''; cputype:cpu_none; fputype:fpu_soft; abi: abi_default; flashbase:0),
(controllertypestr:'ESP8266'; controllerunitstr:'ESP8266'; cputype:cpu_lx106; fputype:fpu_soft; abi: abi_xtensa_call0; { flashbase:$40000000; flashsize:448*1024; srambase:$40070000; sramsize: 520*1024 }),
(controllertypestr:'ESP32'; controllerunitstr:'ESP32'; cputype:cpu_lx6; fputype:fpu_hard; abi: abi_xtensa_windowed; flashbase:$40000000; flashsize:2*1024*1024),
(controllertypestr:'ESP32_D0WD'; controllerunitstr:'ESP32_D0WD'; cputype:cpu_lx6; fputype:fpu_hard; abi: abi_xtensa_windowed; flashbase:$40000000; flashsize:448*1024; srambase:$40070000; sramsize: 520*1024),
(controllertypestr:'ESP32_D2WD'; controllerunitstr:'ESP32_D2WD'; cputype:cpu_lx6; fputype:fpu_hard; abi: abi_xtensa_windowed; flashbase:$40000000; flashsize:448*1024; srambase:$40070000; sramsize: 520*1024),