Index: /trunk/include/iprt/asmdefs.mac
===================================================================
--- /trunk/include/iprt/asmdefs.mac	(revision 41714)
+++ /trunk/include/iprt/asmdefs.mac	(revision 41715)
@@ -213,7 +213,8 @@
 ; Ends a C callable procedure.
 %macro ENDPROC 1
-GLOBALNAME_EX %1_EndProc, hidden
+GLOBALNAME_EX %1 %+ _EndProc, function hidden
 %ifdef ASM_FORMAT_ELF
-size NAME(%1) NAME(%1_EndProc) - NAME(%1)
+size NAME(%1)               NAME(%1 %+ _EndProc) - NAME(%1)
+size NAME(%1 %+ _EndProc)   0
 %endif
     db  0xCC, 0xCC, 0xCC, 0xCC
Index: /trunk/src/VBox/Disassembler/DisasmTest.cpp
===================================================================
--- /trunk/src/VBox/Disassembler/DisasmTest.cpp	(revision 41714)
+++ /trunk/src/VBox/Disassembler/DisasmTest.cpp	(revision 41715)
@@ -27,13 +27,15 @@
 
 DECLASM(int) TestProc32(void);
-char TestProc32_End;
+DECLASM(int) TestProc32_EndProc(void);
 #ifndef RT_OS_OS2
 DECLASM(int) TestProc64(void);
-char TestProc64_End;
+DECLASM(int) TestProc64_EndProc(void);
 #endif
 //uint8_t aCode16[] = { 0x66, 0x67, 0x89, 0x07 };
 
-static void testDisas(uint8_t const *pabInstrs, size_t cbInstrs, DISCPUMODE enmDisCpuMode)
+static void testDisas(const char *pszSub, uint8_t const *pabInstrs, uintptr_t uEndPtr, DISCPUMODE enmDisCpuMode)
 {
+    RTTestISub(pszSub);
+    size_t const cbInstrs = uEndPtr - (uintptr_t)pabInstrs;
     for (size_t off = 0; off < cbInstrs; off++)
     {
@@ -67,8 +69,7 @@
     RTTestBanner(hTest);
 
-
-    testDisas((uint8_t const *)(uintptr_t)TestProc32, (uintptr_t)&TestProc32_End - (uintptr_t)TestProc32, DISCPUMODE_32BIT);
+    testDisas("32-bit", (uint8_t const *)(uintptr_t)TestProc32, (uintptr_t)&TestProc32_EndProc, DISCPUMODE_32BIT);
 #ifndef RT_OS_OS2
-    testDisas((uint8_t const *)(uintptr_t)TestProc64, (uintptr_t)&TestProc64_End - (uintptr_t)TestProc64, DISCPUMODE_64BIT);
+    testDisas("64-bit", (uint8_t const *)(uintptr_t)TestProc64, (uintptr_t)&TestProc64_EndProc, DISCPUMODE_64BIT);
 #endif
 
Index: /trunk/src/VBox/Disassembler/DisasmTestA.asm
===================================================================
--- /trunk/src/VBox/Disassembler/DisasmTestA.asm	(revision 41714)
+++ /trunk/src/VBox/Disassembler/DisasmTestA.asm	(revision 41715)
@@ -19,11 +19,12 @@
 ;* Header Files                                                                *
 ;*******************************************************************************
-%include "VBox/nasm.mac"
-%include "VBox/vmm/vm.mac"
-%include "VBox/err.mac"
-%include "VBox/vmm/stam.mac"
-%include "iprt/x86.mac"
+%include "iprt/asmdefs.mac"
+;%include "VBox/vmm/vm.mac"
+;%include "VBox/err.mac"
+;%include "VBox/vmm/stam.mac"
+;%include "iprt/x86.mac"
 
 BITS 32
+
 
 BEGINCODE
@@ -81,6 +82,6 @@
 
       pause
+ENDPROC   TestProc32
 
-ENDPROC   TestProc32
 
 %ifndef RT_OS_OS2
@@ -169,3 +170,4 @@
       ret
 ENDPROC   TestProc64
-%endif
+%endif ; !OS2
+
