diff options
author | Michael Brown <mcb30@ipxe.org> | 2016-03-13 11:09:01 +0000 |
---|---|---|
committer | Michael Brown <mcb30@ipxe.org> | 2016-03-13 11:20:53 +0000 |
commit | 1f65ed53da16e383416ae034b585fd52682f5ea7 (patch) | |
tree | 3503be882258c7f371875fbb9dde567f72649fff /src/Makefile.housekeeping | |
parent | a8037ee131a9501ddfc89ce157e3718b1a3b86a7 (diff) | |
download | ipxe-1f65ed53da16e383416ae034b585fd52682f5ea7.tar.gz |
[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.housekeeping | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/Makefile.housekeeping b/src/Makefile.housekeeping index 0a80d2ac9..4280f398e 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 ) |