On 25 November 2015 at 20:08, Cohen, Eugene <[email protected]> wrote: > In response to Leifs request earlier, this adds a new RVCT assembler macro to > centralize the exporting of assembly functions including the EXPORT directive > (so the linker can see it), the AREA directive (so it's in its own section > for code size reasons) and the function label itself. > > This patch is just the macro, PATCH 3/3 contains the assembly source changes. > > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Eugene Cohen <[email protected]> >
Reviewed-by: Ard Biesheuvel <[email protected]> Committed as SVN r19098 (after fixing up the commit log) Thanks, Ard. > --- > ArmPkg/Include/AsmMacroExport.inc | 29 +++++++++++++++++++++++++++++ > 1 file changed, 29 insertions(+) > create mode 100644 ArmPkg/Include/AsmMacroExport.inc > > diff --git a/ArmPkg/Include/AsmMacroExport.inc > b/ArmPkg/Include/AsmMacroExport.inc > new file mode 100644 > index 0000000..818d6b2 > --- /dev/null > +++ b/ArmPkg/Include/AsmMacroExport.inc > @@ -0,0 +1,29 @@ > +;%HEADER% > +;/** @file > +; Macros to centralize the EXPORT, AREA, and definition of an assembly > +; function. The AREA prefix is required to put the function in its own > +; section so that removal of unused functions in the final link is > performed. > +; This provides equivalent functionality to the compiler's --split-sections > +; option. > +; > +; Copyright (c) 2015 HP Development Company, L.P. > +; > +; This program and the accompanying materials > +; are licensed and made available under the terms and conditions of the BSD > License > +; which accompanies this distribution. The full text of the license may be > found at > +; http://opensource.org/licenses/bsd-license.php > +; > +; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, > +; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR > IMPLIED. > +; > +;**/ > + > + > + MACRO > + RVCT_ASM_EXPORT $func > + EXPORT $func > + AREA s_$func, CODE, READONLY > +$func > + MEND > + > + END > -- > 1.9.5.msysgit.0 > > _______________________________________________ > edk2-devel mailing list > [email protected] > https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

