| ... | ... | @@ -2141,35 +2141,18 @@ pub const Zld = struct { |
| 2141 | 2141 | const exec_segment = self.segments.items[segment_index]; |
| 2142 | 2142 | const base_address = exec_segment.vmaddr; |
| 2143 | 2143 | |
| 2144 | | if (self.options.output_mode == .Exe) { |
| 2145 | | for (&[_]SymbolWithLoc{ |
| 2146 | | self.getEntryPoint(), |
| 2147 | | self.globals.items[self.mh_execute_header_index.?], |
| 2148 | | }) |global| { |
| 2149 | | const sym = self.getSymbol(global); |
| 2150 | | const sym_name = self.getSymbolName(global); |
| 2151 | | log.debug(" (putting '{s}' defined at 0x{x})", .{ sym_name, sym.n_value }); |
| 2152 | | try trie.put(gpa, .{ |
| 2153 | | .name = sym_name, |
| 2154 | | .vmaddr_offset = sym.n_value - base_address, |
| 2155 | | .export_flags = macho.EXPORT_SYMBOL_FLAGS_KIND_REGULAR, |
| 2156 | | }); |
| 2157 | | } |
| 2158 | | } else { |
| 2159 | | assert(self.options.output_mode == .Lib); |
| 2160 | | for (self.globals.items) |global| { |
| 2161 | | const sym = self.getSymbol(global); |
| 2162 | | if (sym.undf()) continue; |
| 2163 | | if (sym.n_desc == N_DEAD) continue; |
| 2144 | for (self.globals.items) |global| { |
| 2145 | const sym = self.getSymbol(global); |
| 2146 | if (sym.undf()) continue; |
| 2147 | if (sym.n_desc == N_DEAD) continue; |
| 2164 | 2148 | |
| 2165 | | const sym_name = self.getSymbolName(global); |
| 2166 | | log.debug(" (putting '{s}' defined at 0x{x})", .{ sym_name, sym.n_value }); |
| 2167 | | try trie.put(gpa, .{ |
| 2168 | | .name = sym_name, |
| 2169 | | .vmaddr_offset = sym.n_value - base_address, |
| 2170 | | .export_flags = macho.EXPORT_SYMBOL_FLAGS_KIND_REGULAR, |
| 2171 | | }); |
| 2172 | | } |
| 2149 | const sym_name = self.getSymbolName(global); |
| 2150 | log.debug(" (putting '{s}' defined at 0x{x})", .{ sym_name, sym.n_value }); |
| 2151 | try trie.put(gpa, .{ |
| 2152 | .name = sym_name, |
| 2153 | .vmaddr_offset = sym.n_value - base_address, |
| 2154 | .export_flags = macho.EXPORT_SYMBOL_FLAGS_KIND_REGULAR, |
| 2155 | }); |
| 2173 | 2156 | } |
| 2174 | 2157 | |
| 2175 | 2158 | try trie.finalize(gpa); |