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

Reply via email to