diff options
author | Michael Brown <mcb30@ipxe.org> | 2021-02-12 23:22:54 +0000 |
---|---|---|
committer | Michael Brown <mcb30@ipxe.org> | 2021-02-12 23:22:54 +0000 |
commit | c160fb259378e5f08190db39b5bf4f697f892e7c (patch) | |
tree | 371560e395c41d4f48eeeb5200ff7af4344f5fcd /src/include/errno.h | |
parent | b539e9a7e95c3a481c686ffcf310c87bc1e19707 (diff) | |
download | ipxe-c160fb259378e5f08190db39b5bf4f697f892e7c.tar.gz |
[build] Use .balign directive instead of .align
The semantics of the assembler's .align directive vary by CPU
architecture. For the ARM builds, it specifies a power of two rather
than a number of bytes. This currently leads to the .einfo entries
(which do not appear in the final binary) having an alignment of 256
bytes for the ARM builds.
Fix by switching to the GNU-specific directive .balign, which is
consistent across architectures
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include/errno.h')
-rw-r--r-- | src/include/errno.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/include/errno.h b/src/include/errno.h index 342384fa4..decde38ed 100644 --- a/src/include/errno.h +++ b/src/include/errno.h @@ -259,7 +259,7 @@ static inline void eplatform_discard ( int dummy __unused, ... ) {} */ #define __einfo_error( einfo ) ( { \ __asm__ ( ".section \".einfo\", \"\", " PROGBITS_OPS "\n\t" \ - ".align 8\n\t" \ + ".balign 8\n\t" \ "\n1:\n\t" \ ".long ( 4f - 1b )\n\t" \ ".long %c0\n\t" \ @@ -268,7 +268,7 @@ static inline void eplatform_discard ( int dummy __unused, ... ) {} ".long %c1\n\t" \ "\n2:\t.asciz \"" __einfo_desc ( einfo ) "\"\n\t" \ "\n3:\t.asciz \"" __FILE__ "\"\n\t" \ - ".align 8\n\t" \ + ".balign 8\n\t" \ "\n4:\n\t" \ ".previous\n\t" : : \ "i" ( __einfo_errno ( einfo ) ), \ |