aboutsummaryrefslogtreecommitdiffstats
path: root/src/include/errno.h
diff options
context:
space:
mode:
authorMichael Brown <mcb30@ipxe.org>2021-02-12 23:22:54 +0000
committerMichael Brown <mcb30@ipxe.org>2021-02-12 23:22:54 +0000
commitc160fb259378e5f08190db39b5bf4f697f892e7c (patch)
tree371560e395c41d4f48eeeb5200ff7af4344f5fcd /src/include/errno.h
parentb539e9a7e95c3a481c686ffcf310c87bc1e19707 (diff)
downloadipxe-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.h4
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 ) ), \