https://git.reactos.org/?p=reactos.git;a=commitdiff;h=2ae1675208bb05e43c91b…
commit 2ae1675208bb05e43c91b5762a10d1292298f420
Author: Victor Perevertkin <victor(a)perevertkin.ru>
AuthorDate: Sun Jul 15 18:49:49 2018 +0300
Commit: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito(a)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