X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=driver%2Fmangler%2Fghc-asm.lprl;h=769681c2a7ab2d1a5161f602d43072b29f0713a3;hb=9f7dc57027046a350b57f99059f18819c2cf2ae2;hp=d18c032fd19a61672bf2e3738d1595b7d7e404bf;hpb=7d8b9748aed26150c0145f80ae380a57b6910352;p=ghc-hetmet.git diff --git a/driver/mangler/ghc-asm.lprl b/driver/mangler/ghc-asm.lprl index d18c032..769681c 100644 --- a/driver/mangler/ghc-asm.lprl +++ b/driver/mangler/ghc-asm.lprl @@ -150,14 +150,14 @@ sub init_TARGET_STUFF { $T_COPY_DIRVS = '\.(globl|stab|lcomm)'; $T_DOT_WORD = '\.(long|word|value|byte|space)'; $T_DOT_GLOBAL = '\.globl'; - $T_HDR_literal = "\.text\n\t\.align 2\n"; - $T_HDR_misc = "\.text\n\t\.align 2,0x90\n"; - $T_HDR_data = "\.data\n\t\.align 2\n"; - $T_HDR_rodata = "\.text\n\t\.align 2\n"; - $T_HDR_closure = "\.data\n\t\.align 2\n"; - $T_HDR_info = "\.text\n\t\.align 2\n"; # NB: requires padding + $T_HDR_literal = "\.text\n\t\.align 4\n"; + $T_HDR_misc = "\.text\n\t\.align 4,0x90\n"; + $T_HDR_data = "\.data\n\t\.align 4\n"; + $T_HDR_rodata = "\.text\n\t\.align 4\n"; + $T_HDR_closure = "\.data\n\t\.align 4\n"; + $T_HDR_info = "\.text\n\t\.align 4\n"; # NB: requires padding $T_HDR_entry = "\.text\n"; # no .align so we're right next to _info (arguably wrong...?) - $T_HDR_vector = "\.text\n\t\.align 2\n"; # NB: requires padding + $T_HDR_vector = "\.text\n\t\.align 4\n"; # NB: requires padding #--------------------------------------------------------# } elsif ( $TargetPlatform =~ /^i386-.*-(solaris2|linux|gnu|freebsd|netbsd|openbsd|kfreebsdgnu)$/m ) { @@ -216,7 +216,7 @@ sub init_TARGET_STUFF { $T_HDR_vector = "\.text\n\t\.align 8\n"; #--------------------------------------------------------# - } elsif ( $TargetPlatform =~ /^x86_64-.*-(linux|openbsd)$/m ) { + } elsif ( $TargetPlatform =~ /^x86_64-.*-(linux|openbsd|freebsd|netbsd)$/m ) { $T_STABBY = 0; # 1 iff .stab things (usually if a.out format) $T_US = ''; # _ if symbols have an underscore on the front @@ -1284,7 +1284,7 @@ sub mangle_asm { # toss all prologue stuff, except for loading gp, and the ..ng address unless ($c =~ /\.ent.*\n\$.*\.\.ng:/m) { if (($p, $r) = split(/^\t\.prologue/m, $c)) { - use vars '$junk'; # Unused? + # use vars '$junk'; # Unused? if (($keep, $junk) = split(/\.\.ng:/m, $p)) { $keep =~ s/^\t\.frame.*\n/\t.frame \$30,0,\$26,0\n/m; $keep =~ s/^\t\.(mask|fmask).*\n//gm; @@ -1861,7 +1861,7 @@ sub print_doctored { \begin{code} sub init_FUNNY_THINGS { - use vars '%KNOWN_FUNNY_THING'; # Unused? + # use vars '%KNOWN_FUNNY_THING'; # Unused? %KNOWN_FUNNY_THING = ( # example # "${T_US}stg_.*{T_POST_LBL}", 1, @@ -1877,7 +1877,7 @@ right after the table itself. (The code pasting is done elsewhere.) \begin{code} sub rev_tbl { - use vars '$discard1'; # Unused? + # use vars '$discard1'; # Unused? local($symb, $tbl, $discard1) = @_; return ($tbl) if ($TargetPlatform =~ /^ia64-/m);