mirror of
https://github.com/ziglang/zig.git
synced 2024-11-26 15:12:31 +00:00
musl: Pass -f(function,data)-sections via CrtFileOptions instead of CFLAGS.
This commit is contained in:
parent
f973d3e93e
commit
7fef0b4a23
@ -6262,6 +6262,8 @@ fn buildOutputFromZig(
|
||||
}
|
||||
|
||||
pub const CrtFileOptions = struct {
|
||||
function_sections: ?bool = null,
|
||||
data_sections: ?bool = null,
|
||||
pic: ?bool = null,
|
||||
no_builtin: ?bool = null,
|
||||
};
|
||||
@ -6356,6 +6358,8 @@ pub fn build_crt_file(
|
||||
.directory = null, // Put it in the cache directory.
|
||||
.basename = basename,
|
||||
},
|
||||
.function_sections = options.function_sections orelse false,
|
||||
.data_sections = options.data_sections orelse false,
|
||||
.emit_h = null,
|
||||
.c_source_files = c_source_files,
|
||||
.verbose_cc = comp.verbose_cc,
|
||||
|
14
src/musl.zig
14
src/musl.zig
@ -39,6 +39,8 @@ pub fn buildCrtFile(comp: *Compilation, in_crt_file: CrtFile, prog_node: std.Pro
|
||||
},
|
||||
};
|
||||
return comp.build_crt_file("crti", .Obj, .@"musl crti.o", prog_node, &files, .{
|
||||
.function_sections = true,
|
||||
.data_sections = true,
|
||||
.no_builtin = true,
|
||||
});
|
||||
},
|
||||
@ -53,6 +55,8 @@ pub fn buildCrtFile(comp: *Compilation, in_crt_file: CrtFile, prog_node: std.Pro
|
||||
},
|
||||
};
|
||||
return comp.build_crt_file("crtn", .Obj, .@"musl crtn.o", prog_node, &files, .{
|
||||
.function_sections = true,
|
||||
.data_sections = true,
|
||||
.no_builtin = true,
|
||||
});
|
||||
},
|
||||
@ -70,6 +74,8 @@ pub fn buildCrtFile(comp: *Compilation, in_crt_file: CrtFile, prog_node: std.Pro
|
||||
},
|
||||
};
|
||||
return comp.build_crt_file("crt1", .Obj, .@"musl crt1.o", prog_node, &files, .{
|
||||
.function_sections = true,
|
||||
.data_sections = true,
|
||||
.no_builtin = true,
|
||||
});
|
||||
},
|
||||
@ -87,6 +93,8 @@ pub fn buildCrtFile(comp: *Compilation, in_crt_file: CrtFile, prog_node: std.Pro
|
||||
},
|
||||
};
|
||||
return comp.build_crt_file("rcrt1", .Obj, .@"musl rcrt1.o", prog_node, &files, .{
|
||||
.function_sections = true,
|
||||
.data_sections = true,
|
||||
.pic = true,
|
||||
.no_builtin = true,
|
||||
});
|
||||
@ -105,6 +113,8 @@ pub fn buildCrtFile(comp: *Compilation, in_crt_file: CrtFile, prog_node: std.Pro
|
||||
},
|
||||
};
|
||||
return comp.build_crt_file("Scrt1", .Obj, .@"musl Scrt1.o", prog_node, &files, .{
|
||||
.function_sections = true,
|
||||
.data_sections = true,
|
||||
.pic = true,
|
||||
.no_builtin = true,
|
||||
});
|
||||
@ -201,6 +211,8 @@ pub fn buildCrtFile(comp: *Compilation, in_crt_file: CrtFile, prog_node: std.Pro
|
||||
};
|
||||
}
|
||||
return comp.build_crt_file("c", .Lib, .@"musl libc.a", prog_node, c_source_files.items, .{
|
||||
.function_sections = true,
|
||||
.data_sections = true,
|
||||
.no_builtin = true,
|
||||
});
|
||||
},
|
||||
@ -448,8 +460,6 @@ fn addCcArgs(
|
||||
"-fomit-frame-pointer",
|
||||
"-fno-unwind-tables",
|
||||
"-fno-asynchronous-unwind-tables",
|
||||
"-ffunction-sections",
|
||||
"-fdata-sections",
|
||||
|
||||
"-Qunused-arguments",
|
||||
"-w", // disable all warnings
|
||||
|
Loading…
Reference in New Issue
Block a user