This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: illegal assembler output on ix86


> I just checked updated my egcs archive and tried to compile
> it on ix86.  The libgcc compilation failed because of illegal
> assembler code.  The messages are:
> 
> [...]
> 	.4byte	*.LLCIE1			<<----- 178
> [...]
> 	.set	*.LLCIE1,*.LECIE1-*.LSCIE1	<<----- 193
> [...]
> 	.set	*.LLFDE1,*.LEFDE1-*.LSFDE1	<<----- 219

Try the following (and Jim or Jason please check it in).
This is against my sources.  What got installed is perhaps slightly different.

Thu Nov 20 23:33:01 1997  Philippe De Muyter  <phdm@macqel.be>

	* dwarf2out.c (ASM_OUTPUT_DWARF_VALUE4) : Print label using
	assemble_name, not '%s'.
	(ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Likewise.

--- /tmp/dm28991	Thu Nov 20 23:31:20 1997
+++ ./dwarf2out.c	Thu Nov 20 23:30:44 1997
@@ -376,7 +376,9 @@ dwarf2out_do_frame ()
 
 #ifndef ASM_OUTPUT_DWARF_VALUE4
 #define ASM_OUTPUT_DWARF_VALUE4(FILE,LABEL) \
-  fprintf ((FILE), "\t%s\t%s", UNALIGNED_INT_ASM_OP, LABEL)
+  do {	fprintf ((FILE), "\t%s\t", UNALIGNED_INT_ASM_OP);		\
+	assemble_name (FILE, LABEL);					\
+  } while (0)
 #endif
 
 #else /* UNALIGNED_INT_ASM_OP */
@@ -422,7 +424,14 @@ dwarf2out_do_frame ()
 #ifdef SET_ASM_OP
 #ifndef ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL
 #define ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL(FILE, SY, HI, LO)	\
-   fprintf (FILE, "\t%s\t%s,%s-%s\n", SET_ASM_OP, SY, HI, LO)
+  do {	fprintf ((FILE), "\t%s\t", SET_ASM_OP);				\
+	assemble_name (FILE, SY);					\
+	fprintf ((FILE), ",");						\
+	assemble_name (FILE, HI);					\
+	fprintf ((FILE), "-");						\
+	assemble_name (FILE, LO);					\
+	fprintf ((FILE), "\n");						\
+  } while (0)
 #endif
 #endif /* SET_ASM_OP */
 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]