From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 1EBEDC433FE for ; Sun, 6 Nov 2022 09:20:54 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id EA74883F50; Sun, 6 Nov 2022 10:20:52 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmx.de Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; secure) header.d=gmx.de header.i=@gmx.de header.b="p5CyyDsu"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id A0DD084C66; Sun, 6 Nov 2022 10:20:50 +0100 (CET) Received: from mout.gmx.net (mout.gmx.net [212.227.17.20]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 74651809D0 for ; Sun, 6 Nov 2022 10:20:48 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmx.de Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=xypron.glpk@gmx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417; t=1667726446; bh=FxhQWyB8vLnLCf08k8ZFCex7ceirxBgM90gPOXPf6Ec=; h=X-UI-Sender-Class:Date:Subject:To:References:Cc:From:In-Reply-To; b=p5CyyDsuDq+ndy31aE3vm6YKrTy9HBesxkACgPDMYFRQwI4mzMw0L172AsYBHTqRg cbWtF/3S4RZFSVbMWt5aq8wAxSwJ0GxXlk3SUO6TWTaLe5YybGq7ZWXbUa6kZ5IviP kh++HroTC6/3bP3s+Pu7kQYUTZfzQd8TPwEKxXBvW4MpPhOgz1Whvpzgd2aJIbu7L1 EUqOlDZlcsAp8a/xchfZwIqhMIp9dULNXEgxJrf1FCx7ARzm7tj3PXdiy+GjKivUPu 9AUj194W46BttTu3z9iUzFebCqymfS5b3p+EKzrZJEd3abj5LiqevCA5Vowa4kgaux 5HEz6rsQOjukA== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [172.25.0.188] ([84.118.157.2]) by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MfpOT-1pXFFH23q5-00gEtc; Sun, 06 Nov 2022 10:20:46 +0100 Message-ID: <6f2b45fb-8b2e-e1cf-e3f5-5a30f0cefe39@gmx.de> Date: Sun, 6 Nov 2022 10:20:45 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Subject: Re: [PATCH] efi: arm,arm64: Fix relocations from not being loaded Content-Language: en-US To: Patrick Zacharias References: <7eeee0cc-2652-83d1-149e-6b5c0eb3b3ef@web.de> Cc: u-boot@lists.denx.de, Ilias Apalodimas From: Heinrich Schuchardt In-Reply-To: <7eeee0cc-2652-83d1-149e-6b5c0eb3b3ef@web.de> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:br7ygtlEqt6AgjJxt4OVFQAh3gFJeo09HapIcki2RmSiYX5cokQ heMvYScGa2WGymm5V377vv7iPDmMDuOqMKhdzGZu0kkn4mOqLLBLToNa/ehH5KaW2k8GH8f KL/77sQAXNI2+2/XcVsOZmQkf8oyy4UxAHL87s7RaSzaukJLT/NWT8iKnSFTFKbzgrh2s4W Cy9unuqrSTE1YAq4/elFw== UI-OutboundReport: notjunk:1;M01:P0:8/cUp3r/ScM=;Kl+GoujsV1dVxTGNjdsCRJK2EF2 e2DY1sWQirpzgN2KdfesKZu4VipjFO1+xcgmmFJq8xttftIhszHzZrMZG2h7RUGvXHiOAw7LO MLOOGh63URYe1X8leIt7JwqK6blHhLbaOIv1WWrwxAJHH2q816yjfy2cm361DNx2eurB70WfK zzBTCusvo2w5c2cxtXa1IKh7joEjb4/zmARKMpqhwyMefIQlLNzdgGDDWZLqESGGJ2HWslQW7 rDuNND9+vgAk2fvFzml+RQq2RR8vazY1GzyJ23E6Usx6kCOcI3KpulOoff6uEWLl1Qdsz7Y02 WMLh2vbc1DkPYwRxPFc7omRBj2HNMC+0Iqldk19+64MQm9qPkdb84XdV47NucA5uxspoaAB5s RJFFyiqrxHQaKlM5T2LsWMR+yZ3mqDr6KHn4yFdGuupP24BbrLcFk/jUQUeJR0PmiZBM12XcG jliffmE3AJdcvpuLp98iYjNF8XCq4LeQvOgkmfTaG/T6T2PxqY0j55AOc0/dpGjbrxmgwX3eF PBDbwRu9zWgJMK5BG9uNXUgCT7AK+qApV++Eur9p7mCChZJhXrkJU7MG4vR2v+93rpKlQjkzE f+l5zVDzfUJHe09qaRtEO41OMbbudirUKX82K8bA8XptgM4IyjSLdeDYxKlmW+3AEKoxI8Moh GR1dcYR/kLJPEyFn/DvH+GBu4F6yav91dcIAqvoI0Ff0OVsXeqCeb2DgyDMdyg48VgFRWWCA5 iH+EzRGSJptmCAD9T8zui1td+fwrIv5pGp6H0CSst2wakt23ZgF/MzTSWId9J4cy6gWj7N0D/ KUCzKeRosqo7g73ia652FvTF9jGIegobXN4aqhaxzrl5111evtI2S1/Qbq/oVB0HgIiVY339v qGPgnrtSIpuQI4GX8C17taRbcWwZW62OWsK5BDs+7c34+KSPIQrAVgcZJx2+/CPjsioXSygle lDqnVw== X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean On 10/31/22 21:01, Patrick Zacharias wrote: > Prior to this commit, the relocations would not get loaded by the efi > loader. > > This lead to none of the relocations being applied. > > Signed-off-by: Fighter19 <1475802+Fighter19@users.noreply.github.com> Thanks Patrick for your contribution. You can use scripts/get_maintainer.pl to determine to whom a patch should be sent. Where did you actually see relocations? Which code is not position independent? > --- > =C2=A0arch/arm/lib/elf_aarch64_efi.lds | 2 +- > =C2=A0arch/arm/lib/elf_arm_efi.lds=C2=A0=C2=A0=C2=A0=C2=A0 | 2 +- > =C2=A02 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/arm/lib/elf_aarch64_efi.lds > b/arch/arm/lib/elf_aarch64_efi.lds > index c0604dad46..1982864d17 100644 > --- a/arch/arm/lib/elf_aarch64_efi.lds > +++ b/arch/arm/lib/elf_aarch64_efi.lds > @@ -46,12 +46,12 @@ SECTIONS > =C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 *(COMMON) > =C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 . =3D ALIGN(512); > =C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 _bss_end =3D .; > -=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 _edata =3D .; > =C2=A0=C2=A0=C2=A0=C2=A0 } > =C2=A0=C2=A0=C2=A0=C2=A0 .rela.dyn : { *(.rela.dyn) } > =C2=A0=C2=A0=C2=A0=C2=A0 .rela.plt : { *(.rela.plt) } > =C2=A0=C2=A0=C2=A0=C2=A0 .rela.got : { *(.rela.got) } > =C2=A0=C2=A0=C2=A0=C2=A0 .rela.data : { *(.rela.data) *(.rela.data*) } > +=C2=A0=C2=A0=C2=A0 _edata =3D .; > =C2=A0=C2=A0=C2=A0=C2=A0 _data_size =3D . - _etext; > > =C2=A0=C2=A0=C2=A0=C2=A0 . =3D ALIGN(4096); > diff --git a/arch/arm/lib/elf_arm_efi.lds b/arch/arm/lib/elf_arm_efi.lds > index 767ebda635..c1b58a8033 100644 > --- a/arch/arm/lib/elf_arm_efi.lds > +++ b/arch/arm/lib/elf_arm_efi.lds > @@ -46,12 +46,12 @@ SECTIONS > =C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 *(COMMON) > =C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 . =3D ALIGN(512); > =C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 _bss_end =3D .; > -=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 _edata =3D .; > =C2=A0=C2=A0=C2=A0=C2=A0 } > =C2=A0=C2=A0=C2=A0=C2=A0 .rel.dyn : { *(.rel.dyn) } > =C2=A0=C2=A0=C2=A0=C2=A0 .rel.plt : { *(.rel.plt) } > =C2=A0=C2=A0=C2=A0=C2=A0 .rel.got : { *(.rel.got) } > =C2=A0=C2=A0=C2=A0=C2=A0 .rel.data : { *(.rel.data) *(.rel.data*) } > +=C2=A0=C2=A0=C2=A0 _edata =3D .; Relocations (if they exist) should be in the .reloc section, not in the .data section. If we want to create a .reloc section, we have to change arch/arm/lib/crt0_*_efi.S too. Furthermore the relocation section must be pointed to by field BaseRelocationTable of the Optional Header Data Directories (see PE-COFF specification). Please, consider the other UEFI architectures (x86 and RISC-V) too. Best regards Heinrich > =C2=A0=C2=A0=C2=A0=C2=A0 _data_size =3D . - _etext; > > =C2=A0=C2=A0=C2=A0=C2=A0 /DISCARD/ : {