[ipxe-devel] [PATCH 1/1] build: Fix building with gcc 8.2
Michael Brown
mcb30 at ipxe.org
Sun Aug 26 21:47:25 UTC 2018
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
More information about the ipxe-devel
mailing list