| ... | ... | @@ -33,6 +33,7 @@ pub fn testAll(b: *Build, build_opts: BuildOptions) *Step { |
| 33 | 33 | macho_step.dependOn(testRelocatableZig(b, .{ .target = default_target })); |
| 34 | 34 | macho_step.dependOn(testSectionBoundarySymbols(b, .{ .target = default_target })); |
| 35 | 35 | macho_step.dependOn(testSegmentBoundarySymbols(b, .{ .target = default_target })); |
| 36 | macho_step.dependOn(testStackSize(b, .{ .target = default_target })); |
| 36 | 37 | macho_step.dependOn(testTentative(b, .{ .target = default_target })); |
| 37 | 38 | macho_step.dependOn(testThunks(b, .{ .target = aarch64_target })); |
| 38 | 39 | macho_step.dependOn(testTlsLargeTbss(b, .{ .target = default_target })); |
| ... | ... | @@ -45,7 +46,7 @@ pub fn testAll(b: *Build, build_opts: BuildOptions) *Step { |
| 45 | 46 | macho_step.dependOn(testEntryPointDylib(b, .{ .target = default_target })); |
| 46 | 47 | macho_step.dependOn(testDylib(b, .{ .target = default_target })); |
| 47 | 48 | macho_step.dependOn(testNeededLibrary(b, .{ .target = default_target })); |
| 48 | | macho_step.dependOn(testSearchStrategy(b, .{ .target = b.host })); |
| 49 | macho_step.dependOn(testSearchStrategy(b, .{ .target = default_target })); |
| 49 | 50 | macho_step.dependOn(testTls(b, .{ .target = default_target })); |
| 50 | 51 | macho_step.dependOn(testTwoLevelNamespace(b, .{ .target = default_target })); |
| 51 | 52 | macho_step.dependOn(testWeakLibrary(b, .{ .target = default_target })); |
| ... | ... | @@ -1263,6 +1264,24 @@ fn testSegmentBoundarySymbols(b: *Build, opts: Options) *Step { |
| 1263 | 1264 | return test_step; |
| 1264 | 1265 | } |
| 1265 | 1266 | |
| 1267 | fn testStackSize(b: *Build, opts: Options) *Step { |
| 1268 | const test_step = addTestStep(b, "macho-stack-size", opts); |
| 1269 | |
| 1270 | const exe = addExecutable(b, opts, .{ .name = "main", .c_source_bytes = "int main() { return 0; }" }); |
| 1271 | exe.stack_size = 0x100000000; |
| 1272 | |
| 1273 | const run = addRunArtifact(exe); |
| 1274 | test_step.dependOn(&run.step); |
| 1275 | |
| 1276 | const check = exe.checkObject(); |
| 1277 | check.checkInHeaders(); |
| 1278 | check.checkExact("cmd MAIN"); |
| 1279 | check.checkExact("stacksize 100000000"); |
| 1280 | test_step.dependOn(&check.step); |
| 1281 | |
| 1282 | return test_step; |
| 1283 | } |
| 1284 | |
| 1266 | 1285 | fn testTentative(b: *Build, opts: Options) *Step { |
| 1267 | 1286 | const test_step = addTestStep(b, "macho-tentative", opts); |
| 1268 | 1287 | |