| ... | ... | @@ -2404,19 +2404,19 @@ pub fn firstLinkerMemberOffsetsSlice(coff: *Coff) []u32 { |
| 2404 | 2404 | return @ptrCast(@alignCast(Node.known.first_linker_member.slice(&coff.mf)[@sizeOf(u32)..][0 .. len * @sizeOf(u32)])); |
| 2405 | 2405 | } |
| 2406 | 2406 | |
| 2407 | | pub fn secondLinkerMemberNumMembersPtr(coff: *Coff) *u32 { |
| 2407 | pub fn secondLinkerMemberNumMembersPtr(coff: *Coff) *align(2) u32 { |
| 2408 | 2408 | assert(coff.isArchive()); |
| 2409 | 2409 | return @ptrCast(@alignCast(Node.known.second_linker_member.slice(&coff.mf))); |
| 2410 | 2410 | } |
| 2411 | 2411 | |
| 2412 | | pub fn secondLinkerMemberOffsetsSlice(coff: *Coff) []u32 { |
| 2412 | pub fn secondLinkerMemberOffsetsSlice(coff: *Coff) []align(2) u32 { |
| 2413 | 2413 | const num_members = coff.targetLoad(coff.secondLinkerMemberNumMembersPtr()); |
| 2414 | 2414 | return @ptrCast(@alignCast( |
| 2415 | 2415 | Node.known.second_linker_member.slice(&coff.mf)[@sizeOf(u32)..][0 .. num_members * @sizeOf(u32)], |
| 2416 | 2416 | )); |
| 2417 | 2417 | } |
| 2418 | 2418 | |
| 2419 | | pub fn secondLinkerMemberNumSymbolsPtr(coff: *Coff) *u32 { |
| 2419 | pub fn secondLinkerMemberNumSymbolsPtr(coff: *Coff) *align(2) u32 { |
| 2420 | 2420 | const num_members = coff.targetLoad(coff.secondLinkerMemberNumMembersPtr()); |
| 2421 | 2421 | return @ptrCast(@alignCast( |
| 2422 | 2422 | Node.known.second_linker_member.slice(&coff.mf)[(1 + num_members) * @sizeOf(u32) ..], |
| ... | ... | @@ -2970,9 +2970,7 @@ fn ensureMemberSymbol(coff: *Coff, mi: Member.Index, name: String) !void { |
| 2970 | 2970 | try coff.lib_string_table.append(gpa, name); |
| 2971 | 2971 | |
| 2972 | 2972 | const slice = Node.known.second_linker_member.slice(&coff.mf); |
| 2973 | | const num_symbols_ptr: *u32 = @ptrCast(@alignCast(slice[@sizeOf(u32) + num_members * @sizeOf(u32) ..])); |
| 2974 | | coff.targetStore(num_symbols_ptr, @intFromEnum(mfli) + 1); |
| 2975 | | |
| 2973 | coff.targetStore(coff.secondLinkerMemberNumSymbolsPtr(), @intFromEnum(mfli) + 1); |
| 2976 | 2974 | if (!needs_sort) { |
| 2977 | 2975 | @memmove(slice[new_header_size..][0..coff.lib_string_len], slice[old_header_size..][0..coff.lib_string_len]); |
| 2978 | 2976 | @memcpy(slice[new_header_size + coff.lib_string_len ..][0..name_slice.len], name_slice[0..name_slice.len]); |
| ... | ... | @@ -4670,7 +4668,7 @@ fn loadObject( |
| 4670 | 4668 | |
| 4671 | 4669 | if (include_section) { |
| 4672 | 4670 | assert(coff.getNode(symbol.si.get(coff).ni) == .input_section); |
| 4673 | | symbol.si.get(coff).extra = .{ .isli = @enumFromInt(coff.input_symbols.items.len) }; |
| 4671 | symbol.si.get(coff).setExtra(.{ .isli = @enumFromInt(coff.input_symbols.items.len) }); |
| 4674 | 4672 | coff.input_symbols.addOneAssumeCapacity().* = .{ |
| 4675 | 4673 | .si = symbol.si, |
| 4676 | 4674 | .name = symbol.name, |