lkml.org 
[lkml]   [2008]   [Jul]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
SubjectRe: Current head x86_64 breakage - csum-copy_64.S
Date
 >   AS      arch/x86/lib/csum-copy_64.o
> arch/x86/lib/csum-copy_64.S: Assembler messages:
> arch/x86/lib/csum-copy_64.S:48: Error: Macro `ignore' was already defined

Yes, the culprit seems to be 70f1bba4 ("x86: use ignore macro instead of
hash comment"), which introduces the ignore macro in dwarf2.h, which
collides with the macro already in csum-copy_64.S.

Perhaps something like the patch below?

---

[PATCH] x86: Rename "ignore" macro in <asm/dwarf2.h> to avoid collision

Commit 70f1bba4 ("x86: use ignore macro instead of hash comment") breaks
the 64-bit x86 build on toolchains that have CONFIG_AS_CFI undefined with:

arch/x86/lib/csum-copy_64.S:48: Error: Macro `ignore' was already defined

because <asm/dwarf2.h> now uses the ignore macro name itself. Fix this
by changing to __cfi_ignore in dwarf2.h.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
---

include/asm-x86/dwarf2.h | 30 +++++++++++++++---------------
1 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/include/asm-x86/dwarf2.h b/include/asm-x86/dwarf2.h
index 0bfe250..1a283d5 100644
--- a/include/asm-x86/dwarf2.h
+++ b/include/asm-x86/dwarf2.h
@@ -38,23 +38,23 @@

/* Due to the structure of pre-exisiting code, don't use assembler line
comment character # to ignore the arguments. Instead, use a dummy macro. */
-.macro ignore a=0, b=0, c=0, d=0
+.macro __cfi_ignore a=0, b=0, c=0, d=0
.endm

-#define CFI_STARTPROC ignore
-#define CFI_ENDPROC ignore
-#define CFI_DEF_CFA ignore
-#define CFI_DEF_CFA_REGISTER ignore
-#define CFI_DEF_CFA_OFFSET ignore
-#define CFI_ADJUST_CFA_OFFSET ignore
-#define CFI_OFFSET ignore
-#define CFI_REL_OFFSET ignore
-#define CFI_REGISTER ignore
-#define CFI_RESTORE ignore
-#define CFI_REMEMBER_STATE ignore
-#define CFI_RESTORE_STATE ignore
-#define CFI_UNDEFINED ignore
-#define CFI_SIGNAL_FRAME ignore
+#define CFI_STARTPROC __cfi_ignore
+#define CFI_ENDPROC __cfi_ignore
+#define CFI_DEF_CFA __cfi_ignore
+#define CFI_DEF_CFA_REGISTER __cfi_ignore
+#define CFI_DEF_CFA_OFFSET __cfi_ignore
+#define CFI_ADJUST_CFA_OFFSET __cfi_ignore
+#define CFI_OFFSET __cfi_ignore
+#define CFI_REL_OFFSET __cfi_ignore
+#define CFI_REGISTER __cfi_ignore
+#define CFI_RESTORE __cfi_ignore
+#define CFI_REMEMBER_STATE __cfi_ignore
+#define CFI_RESTORE_STATE __cfi_ignore
+#define CFI_UNDEFINED __cfi_ignore
+#define CFI_SIGNAL_FRAME __cfi_ignore

#endif


\
 
 \ /
  Last update: 2008-07-15 03:13    [W:0.031 / U:0.188 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site