From 520ae0fd0bc4dbb57f103eedc818d6c1b39be13e Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Mon, 14 May 2012 14:56:07 -0700 Subject: [PATCH] Define LP_SIZE/LP_OP/ASM_ADDR/RXX_LP for x86-64 --- ChangeLog | 22 ++++++++++++++++ sysdeps/x86_64/sysdep.h | 56 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 78 insertions(+) diff --git a/ChangeLog b/ChangeLog index e9a3c99a39..499d1274a4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,25 @@ +2012-05-14 H.J. Lu + + * sysdeps/x86_64/sysdep.h (LP_SIZE): New macro. + (LP_OP): Likewise. + (ASM_ADDR): Likewise. + (RAX_LP): Likewise. + (RBP_LP): Likewise. + (RBX_LP): Likewise. + (RCX_LP): Likewise. + (RDI_LP): Likewise. + (RSI_LP): Likewise. + (RSP_LP): Likewise. + (R8_LP): Likewise. + (R9_LP): Likewise. + (R10_LP): Likewise. + (R10_LP): Likewise. + (R11_LP): Likewise. + (R12_LP): Likewise. + (R13_LP): Likewise. + (R14_LP): Likewise. + (R15_LP): Likewise. + 2012-05-14 H.J. Lu * sysdeps/x86_64/x32/dl-machine.h: New file. diff --git a/sysdeps/x86_64/sysdep.h b/sysdeps/x86_64/sysdep.h index e455c6087d..e34d7a9444 100644 --- a/sysdeps/x86_64/sysdep.h +++ b/sysdeps/x86_64/sysdep.h @@ -95,4 +95,60 @@ lose: \ #define atom_text_section .section ".text.atom", "ax" +/* Long and pointer size in bytes. */ +#define LP_SIZE 8 + +/* Instruction to operate on long and pointer. */ +#define LP_OP(insn) insn##q + +/* Assembler address directive. */ +#define ASM_ADDR .quad + +/* Registers to hold long and pointer. */ +#define RAX_LP rax +#define RBP_LP rbp +#define RBX_LP rbx +#define RCX_LP rcx +#define RDI_LP rdi +#define RDX_LP rdx +#define RSI_LP rsi +#define RSP_LP rsp +#define R8_LP r8 +#define R9_LP r9 +#define R10_LP r10 +#define R11_LP r11 +#define R12_LP r12 +#define R13_LP r13 +#define R14_LP r14 +#define R15_LP r15 + +#else /* __ASSEMBLER__ */ + +/* Long and pointer size in bytes. */ +#define LP_SIZE "8" + +/* Instruction to operate on long and pointer. */ +#define LP_OP(insn) #insn "q" + +/* Assembler address directive. */ +#define ASM_ADDR ".quad" + +/* Registers to hold long and pointer. */ +#define RAX_LP "rax" +#define RBP_LP "rbp" +#define RBX_LP "rbx" +#define RCX_LP "rcx" +#define RDI_LP "rdi" +#define RDX_LP "rdx" +#define RSI_LP "rsi" +#define RSP_LP "rsp" +#define R8_LP "r8" +#define R9_LP "r9" +#define R10_LP "r10" +#define R11_LP "r11" +#define R12_LP "r12" +#define R13_LP "r13" +#define R14_LP "r14" +#define R15_LP "r15" + #endif /* __ASSEMBLER__ */