--- /dev/null
+;%HEADER%\r
+;/** @file\r
+; Macros to centralize the EXPORT, AREA, and definition of an assembly\r
+; function. The AREA prefix is required to put the function in its own\r
+; section so that removal of unused functions in the final link is performed.\r
+; This provides equivalent functionality to the compiler's --split-sections\r
+; option.\r
+;\r
+; Copyright (c) 2015 HP Development Company, L.P.\r
+;\r
+; This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution. The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+;**/\r
+\r
+\r
+ MACRO\r
+ RVCT_ASM_EXPORT $func\r
+ EXPORT $func\r
+ AREA s_$func, CODE, READONLY\r
+$func\r
+ MEND\r
+\r
+ END\r