| ... | ... | @@ -94,34 +94,36 @@ fn testGcSections(b: *Build, opts: Options) *Step { |
| 94 | 94 | test_step.dependOn(&check.step); |
| 95 | 95 | } |
| 96 | 96 | |
| 97 | | // { |
| 98 | | // const exe = cc(b, opts); |
| 99 | | // exe.addFileSource(obj_out.file); |
| 100 | | // exe.addArg("-Wl,-gc-sections"); |
| 101 | | |
| 102 | | // const run = exe.run(); |
| 103 | | // run.expectStdOutEqual("1 2\n"); |
| 104 | | // test_step.dependOn(run.step()); |
| 105 | | |
| 106 | | // const check = exe.check(); |
| 107 | | // check.checkInSymtab(); |
| 108 | | // check.checkContains("live_var1"); |
| 109 | | // check.checkInSymtab(); |
| 110 | | // check.checkContains("live_var2"); |
| 111 | | // check.checkInSymtab(); |
| 112 | | // check.checkNotPresent("dead_var1"); |
| 113 | | // check.checkInSymtab(); |
| 114 | | // check.checkNotPresent("dead_var2"); |
| 115 | | // check.checkInSymtab(); |
| 116 | | // check.checkContains("live_fn1"); |
| 117 | | // check.checkInSymtab(); |
| 118 | | // check.checkContains("live_fn2"); |
| 119 | | // check.checkInSymtab(); |
| 120 | | // check.checkNotPresent("dead_fn1"); |
| 121 | | // check.checkInSymtab(); |
| 122 | | // check.checkNotPresent("dead_fn2"); |
| 123 | | // test_step.dependOn(&check.step); |
| 124 | | // } |
| 97 | { |
| 98 | const exe = addExecutable(b, opts); |
| 99 | exe.addObject(obj); |
| 100 | exe.link_gc_sections = true; |
| 101 | exe.is_linking_libc = true; |
| 102 | exe.is_linking_libcpp = true; |
| 103 | |
| 104 | const run = addRunArtifact(exe); |
| 105 | run.expectStdOutEqual("1 2\n"); |
| 106 | test_step.dependOn(&run.step); |
| 107 | |
| 108 | const check = exe.checkObject(); |
| 109 | check.checkInSymtab(); |
| 110 | check.checkContains("live_var1"); |
| 111 | check.checkInSymtab(); |
| 112 | check.checkContains("live_var2"); |
| 113 | check.checkInSymtab(); |
| 114 | check.checkNotPresent("dead_var1"); |
| 115 | check.checkInSymtab(); |
| 116 | check.checkNotPresent("dead_var2"); |
| 117 | check.checkInSymtab(); |
| 118 | check.checkContains("live_fn1"); |
| 119 | check.checkInSymtab(); |
| 120 | check.checkContains("live_fn2"); |
| 121 | check.checkInSymtab(); |
| 122 | check.checkNotPresent("dead_fn1"); |
| 123 | check.checkInSymtab(); |
| 124 | check.checkNotPresent("dead_fn2"); |
| 125 | test_step.dependOn(&check.step); |
| 126 | } |
| 125 | 127 | |
| 126 | 128 | return test_step; |
| 127 | 129 | } |