test/macho: simplify testing range extension thunks

This commit is contained in:
Jakub Konka 2024-08-22 00:36:47 +02:00
parent cbb8093455
commit fa79f53f92

View File

@ -2204,25 +2204,28 @@ fn testThunks(b: *Build, opts: Options) *Step {
const exe = addExecutable(b, opts, .{ .name = "main", .c_source_bytes =
\\#include <stdio.h>
\\__attribute__((aligned(0x8000000))) int bar() {
\\ return 42;
\\void bar() {
\\ printf("bar");
\\}
\\int foobar();
\\int foo() {
\\ return bar() - foobar();
\\}
\\__attribute__((aligned(0x8000000))) int foobar() {
\\ return 42;
\\void foo() {
\\ fprintf(stdout, "foo");
\\}
\\int main() {
\\ printf("bar=%d, foo=%d, foobar=%d", bar(), foo(), foobar());
\\ return foo();
\\ foo();
\\ bar();
\\ return 0;
\\}
});
const check = exe.checkObject();
check.checkInSymtab();
check.checkContains("_printf__thunk");
check.checkInSymtab();
check.checkContains("_fprintf__thunk");
test_step.dependOn(&check.step);
const run = addRunArtifact(exe);
run.expectStdOutEqual("bar=42, foo=0, foobar=42");
run.expectExitCode(0);
run.expectStdOutEqual("foobar");
test_step.dependOn(&run.step);
return test_step;