summaryrefslogtreecommitdiff
path: root/xmake/rules/platform/linux
diff options
context:
space:
mode:
authorruki <[email protected]>2021-12-11 21:02:59 +0800
committerruki <[email protected]>2021-12-11 21:02:59 +0800
commit47ba653b6417a2fe8897e58e446406497dca4fac (patch)
tree736db649ca1ba69a784a82b375f1646f85307eb6 /xmake/rules/platform/linux
parent13585a08f101e70d640feb045d02137cdf3d6114 (diff)
support arm64 for linux driver
Diffstat (limited to 'xmake/rules/platform/linux')
-rw-r--r--xmake/rules/platform/linux/driver/driver_modules.lua5
1 files changed, 5 insertions, 0 deletions
diff --git a/xmake/rules/platform/linux/driver/driver_modules.lua b/xmake/rules/platform/linux/driver/driver_modules.lua
index 9e8c7c613..31f56a36f 100644
--- a/xmake/rules/platform/linux/driver/driver_modules.lua
+++ b/xmake/rules/platform/linux/driver/driver_modules.lua
@@ -159,6 +159,7 @@ function load(target)
target:add("cflags", "-mbig-endian", "-mabi=aapcs-linux", "-mfpu=vfp", "-marm", "-march=armv6k", "-mtune=arm1136j-s", "-msoft-float", "-Uarm")
target:add("defines", "__LINUX_ARM_ARCH__=6")
elseif target:is_arch("arm64", "arm64-v8a") then
+ target:add("cflags", "-mlittle-endian", "-mgeneral-regs-only", "-mabi=lp64")
end
-- add optional flags (fentry)
@@ -208,6 +209,8 @@ function link(target, opt)
table.join2(argv, "-m", "elf_" .. target:arch())
elseif target:is_arch("arm", "armv7") then
table.join2(argv, "-EB")
+ elseif target:is_arch("arm64", "arm64-v8a") then
+ table.join2(argv, "-EL", "-maarch64elf")
end
local targetfile_o = target:objectfile(targetfile)
table.join2(argv, "-r", "-o", targetfile_o)
@@ -250,6 +253,8 @@ function link(target, opt)
table.join2(argv, "-m", "elf_" .. target:arch())
elseif target:is_arch("arm", "armv7") then
table.join2(argv, "-EB", "--be8")
+ elseif target:is_arch("arm64", "arm64-v8a") then
+ table.join2(argv, "-EL", "-maarch64elf")
end
local targetfile_o = target:objectfile(targetfile)
table.join2(argv, "-r", "--build-id=sha1", "-T", ldscriptfile, "-o", targetfile, targetfile_o, targetfile_mod_o)