Commit b94551e8 authored by Andy Polyakov's avatar Andy Polyakov
Browse files

perlasm update: implement dataseg directive.

parent 9b634c9b
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -124,7 +124,7 @@ sub ::function_begin_B

    push(@out,".globl\t$func\n")	if ($global);
    if ($::coff)
    {	push(@out,".def\t$func;\t.scl\t2;\t.type\t32;\t.endef\n"); }
    {	push(@out,".def\t$func;\t.scl\t".(3-$global).";\t.type\t32;\t.endef\n"); }
    elsif (($::aout and !$::pic) or $::macosx)
    { }
    else
@@ -258,4 +258,7 @@ ___
    }
}

sub ::dataseg
{   push(@out,".data\n");   }

1;
+6 −1
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@ $::lbdecor="\$L"; # local label decoration
$nmdecor="_";		# external name decoration

$initseg="";
$segment="";

sub ::generic
{ my ($opcode,@arg)=@_;
@@ -84,6 +85,7 @@ ELSE
ENDIF
___
    push(@out,$tmp);
    $segment = ".text\$";
}

sub ::function_begin_B
@@ -121,7 +123,7 @@ ___
	grep {s/\.[3-7]86/$xmmheader/} @out;
    }

    push(@out,".text\$	ENDS\n");
    push(@out,"$segment	ENDS\n");

    if (grep {/\b${nmdecor}OPENSSL_ia32cap_P\b/i} @out)
    {	my $comm=<<___;
@@ -175,4 +177,7 @@ DD $f
___
}

sub ::dataseg
{   push(@out,"$segment\tENDS\n_DATA\tSEGMENT\n"); $segment="_DATA";   }

1;
+5 −0
Original line number Diff line number Diff line
@@ -158,4 +158,9 @@ ___
    }
}

sub ::dataseg
{   if ($mwerks)	{ push(@out,".section\t.data,4\n");   }
    else		{ push(@out,"section\t.data align=4\n"); }
}

1;