Am 26.08.18, 23:47, Michael Brown <mc...@ipxe.org> schrieb:
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