Enable the mangler for netbsd/amd64; fixes trac #2347
[ghc-hetmet.git] / driver / mangler / ghc-asm.lprl
index d18c032..769681c 100644 (file)
@@ -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);