diff options
| author | Tw <tw19881113@gmail.com> | 2023-03-28 16:26:24 +0800 |
|---|---|---|
| committer | Veikka Tuominen <git@vexu.eu> | 2023-03-30 12:11:04 +0300 |
| commit | 11903436a9818cba1ef474dfd705d10798d16ef6 (patch) | |
| tree | 27163d005452c87d9e6b168bb4585e9c93709637 /src/codegen/llvm.zig | |
| parent | 9c3bea8482915277093a5cb68eba6e05f01d404a (diff) | |
| download | zig-11903436a9818cba1ef474dfd705d10798d16ef6.tar.gz zig-11903436a9818cba1ef474dfd705d10798d16ef6.zip | |
llvm/bpf: disable llvm builtins for bpf target
As bpf program has no global section for constant values (especially strings),
so use llvm's builtins (like memcpy, memset, etc) will lead to compilation failure
(something like this: A call to built-in function 'memcpy' is not supported.)
Signed-off-by: Tw <tw19881113@gmail.com>
Diffstat (limited to 'src/codegen/llvm.zig')
| -rw-r--r-- | src/codegen/llvm.zig | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/codegen/llvm.zig b/src/codegen/llvm.zig index 8577252423..eea68a80e9 100644 --- a/src/codegen/llvm.zig +++ b/src/codegen/llvm.zig @@ -2719,6 +2719,9 @@ pub const DeclGen = struct { if (comp.bin_file.options.llvm_cpu_features) |s| { llvm_fn.addFunctionAttr("target-features", s); } + if (comp.getTarget().cpu.arch.isBpf()) { + llvm_fn.addFunctionAttr("no-builtins", ""); + } } fn resolveGlobalDecl(dg: *DeclGen, decl_index: Module.Decl.Index) Error!*llvm.Value { |
