From 3a8f25348b57a50f4e26ddca28c721046d8612a1 Mon Sep 17 00:00:00 2001 From: florian Date: Thu, 3 Jan 2019 20:55:25 +0000 Subject: [PATCH] * set default abi to eabi5 on arm git-svn-id: trunk@40751 - --- packages/fcl-res/src/elfconsts.pp | 3 +++ packages/fcl-res/src/elfsubwriter.inc | 13 ++++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/packages/fcl-res/src/elfconsts.pp b/packages/fcl-res/src/elfconsts.pp index 5cdefc7d91..cb1517a55e 100644 --- a/packages/fcl-res/src/elfconsts.pp +++ b/packages/fcl-res/src/elfconsts.pp @@ -79,6 +79,9 @@ const //machine-specific flags EF_IA_64_ABI64 = $10; //wow, this is really a 64-bit object file! + EF_ARM_ABIMASK = $ff000000; + EF_ARM_ABI5 = $05000000; + // riscv flags EF_RISCV_RVC = 1; diff --git a/packages/fcl-res/src/elfsubwriter.inc b/packages/fcl-res/src/elfsubwriter.inc index e2eabb6e71..069b75202f 100644 --- a/packages/fcl-res/src/elfsubwriter.inc +++ b/packages/fcl-res/src/elfsubwriter.inc @@ -441,9 +441,16 @@ begin {$ELSE} fDataAlignment:=4; {$ENDIF} - if aMachineType=EM_IA_64 then fMachineFlags:=EF_IA_64_ABI64 - else if aMachineType=EM_RISCV then fMachineFlags:=EF_RISCV_FLOAT_ABI_DOUBLE or EF_RISCV_RVC // This is the default class for now - else fMachineFlags:=0; + case aMachineType of + EM_IA_64: + fMachineFlags:=EF_IA_64_ABI64; + EM_RISCV: + fMachineFlags:=EF_RISCV_FLOAT_ABI_DOUBLE or EF_RISCV_RVC; // This is the default class for now; + EM_ARM: + fMachineFlags:=EF_ARM_ABI5; + else + fMachineFlags:=0; + end; end; destructor _TElfSubWriter_.Destroy;