summaryrefslogtreecommitdiffstats
path: root/src/Makefile.housekeeping
diff options
context:
space:
mode:
authorMichael Brown2016-03-13 12:09:01 +0100
committerMichael Brown2016-03-13 12:20:53 +0100
commit1f65ed53da16e383416ae034b585fd52682f5ea7 (patch)
tree3503be882258c7f371875fbb9dde567f72649fff /src/Makefile.housekeeping
parent[efi] Centralise architecture-independent EFI Makefile and linker script (diff)
downloadipxe-1f65ed53da16e383416ae034b585fd52682f5ea7.tar.gz
ipxe-1f65ed53da16e383416ae034b585fd52682f5ea7.tar.xz
ipxe-1f65ed53da16e383416ae034b585fd52682f5ea7.zip
[build] Allow assembler section type character to vary by architecture
On some architectures (such as ARM) the "@" character is used as a comment delimiter. A section type argument such as "@progbits" therefore becomes "%progbits". This is further complicated by the fact that the "%" character has special meaning for inline assembly when input or output operands are used, in which cases "@progbits" becomes "%%progbits". Allow the section type character(s) to be defined via Makefile variables. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/Makefile.housekeeping')
-rw-r--r--src/Makefile.housekeeping7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/Makefile.housekeeping b/src/Makefile.housekeeping
index 0a80d2ac..4280f398 100644
--- a/src/Makefile.housekeeping
+++ b/src/Makefile.housekeeping
@@ -491,6 +491,11 @@ LDFLAGS += -static
#
CFLAGS += -include include/compiler.h
+# The section type character (e.g. "@" in "@progbits") varies by
+# architecture.
+#
+CFLAGS += -DASM_TCHAR='$(ASM_TCHAR)' -DASM_TCHAR_OPS='$(ASM_TCHAR_OPS)'
+
# CFLAGS for specific object types
#
CFLAGS_c +=
@@ -896,7 +901,7 @@ endif
# Device ID tables (using IDs from ROM definition file)
#
define obj_pci_id_asm
- .section ".pci_devlist.$(1)", "a", @progbits
+ .section ".pci_devlist.$(1)", "a", $(ASM_TCHAR)progbits
.globl pci_devlist_$(1)
pci_devlist_$(1):
.short ( 0x$(1) & 0xffff )