https://git.reactos.org/?p=reactos.git;a=commitdiff;h=2ae1675208bb05e43c91b5762a10d1292298f420
commit 2ae1675208bb05e43c91b5762a10d1292298f420 Author: Victor Perevertkin <vic...@perevertkin.ru> AuthorDate: Sun Jul 15 18:49:49 2018 +0300 Commit: Hermès BÉLUSCA - MAÏTO <hermes.belusca-ma...@reactos.org> CommitDate: Sun Jul 15 23:25:23 2018 +0200 [ASM] Fixed ".double" macro in asm.inc. GAS uses ".double" symbol for declaring floating-point constants and ".quad" symbol for declaring 64-bit numbers. This is not compatible with our macro for MASM and introduces bugs. Now 64-bit constants are supposed to be declared using ".quad" macro. --- boot/freeldr/freeldr/arch/amd64/entry.S | 4 ++-- sdk/include/asm/asm.inc | 6 +++++- sdk/lib/crt/except/amd64/cpp.s | 6 +++--- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/boot/freeldr/freeldr/arch/amd64/entry.S b/boot/freeldr/freeldr/arch/amd64/entry.S index a5b7fd6770..075778f884 100644 --- a/boot/freeldr/freeldr/arch/amd64/entry.S +++ b/boot/freeldr/freeldr/arch/amd64/entry.S @@ -25,7 +25,7 @@ RealEntryPoint: jmp qword ptr [ContinueAddress] ContinueAddress: - .double offset FrldrStartup + .quad offset FrldrStartup FrldrStartup: @@ -120,7 +120,7 @@ CallRealMode_return: /* 64-bit stack pointer */ stack64: - .double STACKADDR + .quad STACKADDR PUBLIC FrldrBootDrive FrldrBootDrive: diff --git a/sdk/include/asm/asm.inc b/sdk/include/asm/asm.inc index 3b4dfe1458..e94a078445 100644 --- a/sdk/include/asm/asm.inc +++ b/sdk/include/asm/asm.inc @@ -136,10 +136,14 @@ ENDM dd args ENDM -.double MACRO args:VARARG +.quad MACRO args:VARARG dq args ENDM +.double MACRO args:VARARG + real8 args +ENDM + .org MACRO value ORG value ENDM diff --git a/sdk/lib/crt/except/amd64/cpp.s b/sdk/lib/crt/except/amd64/cpp.s index a5ead9508b..3be32c9648 100644 --- a/sdk/lib/crt/except/amd64/cpp.s +++ b/sdk/lib/crt/except/amd64/cpp.s @@ -8,18 +8,18 @@ MACRO(START_VTABLE, shortname, cxxname) EXTERN shortname&_rtti:PROC EXTERN MSVCRT_&shortname&_vector_dtor:PROC - .double shortname&_rtti + .quad shortname&_rtti PUBLIC MSVCRT_&shortname&_vtable MSVCRT_&shortname&_vtable: PUBLIC &cxxname &cxxname: - .double MSVCRT_&shortname&_vector_dtor + .quad MSVCRT_&shortname&_vector_dtor ENDM MACRO(DEFINE_EXCEPTION_VTABLE, shortname, cxxname) START_VTABLE shortname, cxxname EXTERN MSVCRT_what_exception:ABS - .double MSVCRT_what_exception + .quad MSVCRT_what_exception ENDM START_VTABLE type_info, __dummyname_type_info