提交 26e71a18 编写于 作者: A Andy Polyakov

x86gas.pl update.

上级 db01bad3
...@@ -160,9 +160,7 @@ sub ::comment ...@@ -160,9 +160,7 @@ sub ::comment
} }
sub ::external_label sub ::external_label
{ foreach(@_) { foreach(@_) { &::LABEL($_,$nmdecor.$_); } }
{ push(@out,".extern\t".&::LABEL($_,$nmdecor.$_)."\n"); }
}
sub ::public_label sub ::public_label
{ push(@out,".globl\t".&::LABEL($_[0],$nmdecor.$_[0])."\n"); } { push(@out,".globl\t".&::LABEL($_[0],$nmdecor.$_[0])."\n"); }
...@@ -174,8 +172,7 @@ sub ::file_end ...@@ -174,8 +172,7 @@ sub ::file_end
else { push (@out,"$tmp\n"); } else { push (@out,"$tmp\n"); }
} }
if ($::macosx) if ($::macosx)
{ grep {s/^\.extern\s+.*$//} @out; { if (%non_lazy_ptr)
if (%non_lazy_ptr)
{ push(@out,".section __IMPORT,__pointers,non_lazy_symbol_pointers\n"); { push(@out,".section __IMPORT,__pointers,non_lazy_symbol_pointers\n");
foreach $i (keys %non_lazy_ptr) foreach $i (keys %non_lazy_ptr)
{ push(@out,"$non_lazy_ptr{$i}:\n.indirect_symbol\t$i\n.long\t0\n"); } { push(@out,"$non_lazy_ptr{$i}:\n.indirect_symbol\t$i\n.long\t0\n"); }
...@@ -214,9 +211,9 @@ sub ::picmeup ...@@ -214,9 +211,9 @@ sub ::picmeup
$non_lazy_ptr{"$nmdecor$sym"}=$indirect; $non_lazy_ptr{"$nmdecor$sym"}=$indirect;
} }
else else
{ &::lea($dst,&::DWP("${nmdecor}_GLOBAL_OFFSET_TABLE_+[.-$reflabel]", { &::lea($dst,&::DWP("_GLOBAL_OFFSET_TABLE_+[.-$reflabel]",
$base)); $base));
&::mov($dst,&::DWP("$nmdecor$sym\@GOT",$dst)); &::mov($dst,&::DWP("$sym\@GOT",$dst));
} }
} }
else else
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册