On 26/08/18 11:45, Heinrich Schuchardt wrote:
diff --git a/src/include/errno.h b/src/include/errno.h
index e80bf9ca..0294a990 100644
--- a/src/include/errno.h
+++ b/src/include/errno.h
@@ -262,10 +262,10 @@ static inline void eplatform_discard ( int dummy 
__unused, ... ) {}
                  ".align 8\n\t"                                      \
                  "\n1:\n\t"                                          \
                  ".long ( 4f - 1b )\n\t"                             \
-                 ".long %a0\n\t"                                     \
+                 ".long %0\n\t"                                      \
                  ".long ( 2f - 1b )\n\t"                             \
                  ".long ( 3f - 1b )\n\t"                             \
-                 ".long %a1\n\t"                                     \
+                 ".long %1\n\t"                                      \
                  "\n2:\t.asciz \"" __einfo_desc ( einfo ) "\"\n\t"       \
                  "\n3:\t.asciz \"" __FILE__ "\"\n\t"                     \
                  ".align 8\n\t"                                      \

This patch results in an incorrect assembler expression for the standard x86 build, e.g.

   .long  $1216

instead of the needed

   .long  1216

You can observe the effects using "make bin/errors" and examining the resulting file. With your patch, all error numbers and line numbers are zero.

I'm happy to ditch ARM gcc 4.8 support if it makes it cleaner to support current versions of gcc, but the patch must still work for the x86 build.

Michael
_______________________________________________
ipxe-devel mailing list
ipxe-devel@lists.ipxe.org
https://lists.ipxe.org/mailman/listinfo.cgi/ipxe-devel

Reply via email to