summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Brown2019-07-14 15:05:48 +0200
committerMichael Brown2019-07-14 15:05:48 +0200
commit3fb3ffccea717ce10bb29dfd8a9e761c7387626e (patch)
treecc548f89faf2b1874ccea15e77c399efb26e9b47
parent[golan] Add various new PCI device IDs (diff)
downloadipxe-3fb3ffccea717ce10bb29dfd8a9e761c7387626e.tar.gz
ipxe-3fb3ffccea717ce10bb29dfd8a9e761c7387626e.tar.xz
ipxe-3fb3ffccea717ce10bb29dfd8a9e761c7387626e.zip
[build] Fix use of inline assembly on GCC 8 ARM64 builds
Commit 1a7746603 ("[build] Fix use of inline assembly on GCC 4.8 ARM64 builds") switched from using "%c0" to "%a0" in order to avoid an "invalid operand prefix" error on the ARM64 version of GCC 4.8. It appears that the ARM64 version of GCC 8 now produces an "invalid address mode" error for the "%a0" form, but is happy with the original "%c0" form. Switch back to using the "%c0" form, on the assumption that the requirement for "%a0" was a temporary aberration. Originally-fixed-by: John L. Jolly <jjolly@suse.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
-rw-r--r--src/include/errno.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/include/errno.h b/src/include/errno.h
index e80bf9ca..342384fa 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 %c0\n\t" \
".long ( 2f - 1b )\n\t" \
".long ( 3f - 1b )\n\t" \
- ".long %a1\n\t" \
+ ".long %c1\n\t" \
"\n2:\t.asciz \"" __einfo_desc ( einfo ) "\"\n\t" \
"\n3:\t.asciz \"" __FILE__ "\"\n\t" \
".align 8\n\t" \