Commit 6213757d authored by wolfgang.thaller@gmx.net's avatar wolfgang.thaller@gmx.net
Browse files

Darwin/x86 Mangler: Make sure each imported symbol stub gets a separate chunk.

parent cebb894a
...@@ -594,12 +594,19 @@ sub mangle_asm { ...@@ -594,12 +594,19 @@ sub mangle_asm {
$chk[++$i] = $_; $chk[++$i] = $_;
$chkcat[$i] = 'dyld'; $chkcat[$i] = 'dyld';
$chksymb[$i] = ''; $chksymb[$i] = '';
$dyld_section = $_;
} elsif ( $TargetPlatform =~ /^.*-apple-darwin.*/ && $chkcat[$i] eq 'dyld' && /^\s*\.data/) } elsif ( $TargetPlatform =~ /^.*-apple-darwin.*/ && $chkcat[$i] eq 'dyld' && /^\s*\.data/)
{ # non_lazy_symbol_ptrs that point to local symbols { # non_lazy_symbol_ptrs that point to local symbols
$chk[++$i] = $_; $chk[++$i] = $_;
$chkcat[$i] = 'dyld'; $chkcat[$i] = 'dyld';
$chksymb[$i] = ''; $chksymb[$i] = '';
$dyld_section = $_;
} elsif ( $TargetPlatform =~ /^.*-apple-darwin.*/ && $chkcat[$i] eq 'dyld' && /^L_.*:$/)
{ # non_lazy_symbol_ptrs that point to local symbols
$chk[++$i] = $dyld_section . $_;
$chkcat[$i] = 'dyld';
$chksymb[$i] = '';
} elsif ( /^\s+/ ) { # most common case first -- a simple line! } elsif ( /^\s+/ ) { # most common case first -- a simple line!
# duplicated from the bottom # duplicated from the bottom
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment