Yes. I will update Maintainers.txt. -----Original Message----- From: Ard Biesheuvel [mailto:ard.biesheu...@linaro.org] Sent: Friday, September 11, 2015 3:05 PM To: Gao, Liming Cc: edk2-devel@lists.01.org; Liu, Yingke D; Laszlo Ersek; Leif Lindholm Subject: Re: [edk2] [PATCH] BaseTools/GenFw: align RVA of debug
On 11 September 2015 at 09:03, Gao, Liming <liming....@intel.com> wrote: > Reviewed-by: Liming Gao <liming....@intel.com> > Thank you Liming > Besides, Dennis doesn't own BaseTools any longer. > OK, good to know. Could we get Maintainers.txt updated then? Who is the new maintainer? Regards, Ard. > -----Original Message----- > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of > Ard Biesheuvel > Sent: Friday, September 11, 2015 2:53 PM > To: edk2-devel@lists.01.org; Gao, Liming; Liu, Yingke D > Cc: Laszlo Ersek; Leif Lindholm; Ard Biesheuvel > Subject: Re: [edk2] [PATCH] BaseTools/GenFw: align RVA of debug > > On 9 September 2015 at 11:44, Ard Biesheuvel <ard.biesheu...@linaro.org> > wrote: >> SVN commit r18077 ("BaseTools/GenFw: move .debug contents to .data to >> save space") removed the separate .debug section after moving its >> contents into .text or .data. However, this change does not take into >> account that some of these contents need to appear at a 32-bit >> aligned offset. So align the debug data RVA to 32 bits. >> >> Contributed-under: TianoCore Contribution Agreement 1.0 >> Signed-off-by: Ard Biesheuvel <ard.biesheu...@linaro.org> > > @Dennis: any comments? > >> --- >> BaseTools/Source/C/GenFw/Elf32Convert.c | 13 +++++++++++-- >> BaseTools/Source/C/GenFw/Elf64Convert.c | 13 +++++++++++-- >> 2 files changed, 22 insertions(+), 4 deletions(-) >> >> diff --git a/BaseTools/Source/C/GenFw/Elf32Convert.c >> b/BaseTools/Source/C/GenFw/Elf32Convert.c >> index e1b92ebd713e..4b330a61669f 100644 >> --- a/BaseTools/Source/C/GenFw/Elf32Convert.c >> +++ b/BaseTools/Source/C/GenFw/Elf32Convert.c >> @@ -218,6 +218,15 @@ CoffAlign ( >> return (Offset + mCoffAlignment - 1) & ~(mCoffAlignment - 1); } >> >> +STATIC >> +UINT32 >> +DebugRvaAlign ( >> + UINT32 Offset >> + ) >> +{ >> + return (Offset + 3) & ~3; >> +} >> + >> // >> // filter functions >> // >> @@ -365,7 +374,7 @@ ScanSections32 ( >> assert (FALSE); >> } >> >> - mDebugOffset = mCoffOffset; >> + mDebugOffset = DebugRvaAlign(mCoffOffset); >> >> if (mEhdr->e_machine != EM_ARM) { >> mCoffOffset = CoffAlign(mCoffOffset); @@ -423,7 +432,7 @@ >> ScanSections32 ( >> // section alignment. >> // >> if (SectionCount > 0) { >> - mDebugOffset = mCoffOffset; >> + mDebugOffset = DebugRvaAlign(mCoffOffset); >> } >> mCoffOffset = mDebugOffset + sizeof(EFI_IMAGE_DEBUG_DIRECTORY_ENTRY) + >> sizeof(EFI_IMAGE_DEBUG_CODEVIEW_NB10_ENTRY) + diff >> --git a/BaseTools/Source/C/GenFw/Elf64Convert.c >> b/BaseTools/Source/C/GenFw/Elf64Convert.c >> index c758ed9d64a6..a3f1f5d3d4c7 100644 >> --- a/BaseTools/Source/C/GenFw/Elf64Convert.c >> +++ b/BaseTools/Source/C/GenFw/Elf64Convert.c >> @@ -211,6 +211,15 @@ CoffAlign ( >> return (Offset + mCoffAlignment - 1) & ~(mCoffAlignment - 1); } >> >> +STATIC >> +UINT32 >> +DebugRvaAlign ( >> + UINT32 Offset >> + ) >> +{ >> + return (Offset + 3) & ~3; >> +} >> + >> // >> // filter functions >> // >> @@ -359,7 +368,7 @@ ScanSections64 ( >> assert (FALSE); >> } >> >> - mDebugOffset = mCoffOffset; >> + mDebugOffset = DebugRvaAlign(mCoffOffset); >> >> if (mEhdr->e_machine != EM_ARM) { >> mCoffOffset = CoffAlign(mCoffOffset); @@ -412,7 +421,7 @@ >> ScanSections64 ( >> // section alignment. >> // >> if (SectionCount > 0) { >> - mDebugOffset = mCoffOffset; >> + mDebugOffset = DebugRvaAlign(mCoffOffset); >> } >> mCoffOffset = mDebugOffset + sizeof(EFI_IMAGE_DEBUG_DIRECTORY_ENTRY) + >> sizeof(EFI_IMAGE_DEBUG_CODEVIEW_NB10_ENTRY) + >> -- >> 1.9.1 >> > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel