[project @ 2003-08-16 11:19:07 by igloo]
authorigloo <unknown>
Sat, 16 Aug 2003 11:19:08 +0000 (11:19 +0000)
committerigloo <unknown>
Sat, 16 Aug 2003 11:19:08 +0000 (11:19 +0000)
Sparc Linux configure and mangler

configure.in
ghc/driver/mangler/ghc-asm.lprl

index 50f9fc8..0c5a11a 100644 (file)
@@ -312,6 +312,15 @@ sparc-sun-solaris2*)
         HostVendor_CPP='sun'
         HostOS_CPP='solaris2'
         ;;
+sparc*-linux*)
+        HostPlatform=sparc-unknown-linux
+        TargetPlatform=sparc-unknown-linux
+        BuildPlatform=sparc-unknown-linux
+        HostPlatform_CPP='sparc_unknown_linux'
+        HostArch_CPP='sparc'
+        HostVendor_CPP='unknown'
+        HostOS_CPP='linux'
+        ;;
 *)
         echo "Unrecognised platform: $HostPlatform"
         exit 1
index 7ddacaf..c929624 100644 (file)
@@ -371,6 +371,33 @@ sub init_TARGET_STUFF {
     $T_create_word  = "\t.word";
 
     #--------------------------------------------------------#
+    } elsif ( $TargetPlatform =~ /^sparc-.*-linux/ ) {
+    $T_STABBY       = 0; # 1 iff .stab things (usually if a.out format)
+    $T_US           = ''; # _ if symbols have an underscore on the front
+    $T_PRE_APP      = '#'; # regexp that says what comes before APP/NO_APP
+                           # Probably doesn't apply anyway
+    $T_CONST_LBL    = '^\.LLC(\d+):$'; # regexp for what such a lbl looks like
+    $T_POST_LBL     = ':';
+
+    $T_MOVE_DIRVS   = '^((\s+\.align\s+\d+|\s+\.proc\s+\d+|\s+\.global\s+\S+|\.text|\.data|\.seg|\.stab.*|\.section.*|\s+\.type.*|\s+\.size.*)\n)';
+    $T_COPY_DIRVS   = '\.(global|globl|proc|stab)';
+
+    $T_hsc_cc_PAT   = '\.asciz.*\)(hsc|cc) (.*)\\\\t(.*)"';
+    $T_DOT_WORD     = '\.(long|word|nword|xword|byte|half|short|skip|uahalf|uaword)';
+    $T_DOT_GLOBAL   = '^\t\.global';
+    $T_HDR_literal  = "\.text\n\t\.align 8\n";
+    $T_HDR_misc     = "\.text\n\t\.align 4\n";
+    $T_HDR_data     = "\.data\n\t\.align 8\n";
+    $T_HDR_consist  = "\.text\n";
+    $T_HDR_closure  = "\.data\n\t\.align 4\n";
+    $T_HDR_srt      = "\.data\n\t\.align 4\n";
+    $T_HDR_info     = "\.text\n\t\.align 4\n";
+    $T_HDR_entry    = "\.text\n\t\.align 4\n";
+    $T_HDR_vector   = "\.text\n\t\.align 4\n";
+    $T_HDR_direct   = "\.text\n\t\.align 4\n";
+    $T_create_word  = "\t.word";
+
+    #--------------------------------------------------------#
     } else {
        print STDERR "$Pgm: don't know how to mangle assembly language for: $TargetPlatform\n";
        exit 1;