summaryrefslogtreecommitdiff
path: root/ghc
diff options
context:
space:
mode:
authorigloo <unknown>2003-08-16 11:19:08 +0000
committerigloo <unknown>2003-08-16 11:19:08 +0000
commit4cdc197978cf22419b2f4344a19c87c474c8fc1c (patch)
treebc71c6f12f1df3c912ded33a5b27906a2553020b /ghc
parentd9d7ceaa9f77c3d44a51405b71bb9fd4a44b6588 (diff)
downloadhaskell-4cdc197978cf22419b2f4344a19c87c474c8fc1c.tar.gz
[project @ 2003-08-16 11:19:07 by igloo]
Sparc Linux configure and mangler
Diffstat (limited to 'ghc')
-rw-r--r--ghc/driver/mangler/ghc-asm.lprl27
1 files changed, 27 insertions, 0 deletions
diff --git a/ghc/driver/mangler/ghc-asm.lprl b/ghc/driver/mangler/ghc-asm.lprl
index 7ddacaf3b5..c929624752 100644
--- a/ghc/driver/mangler/ghc-asm.lprl
+++ b/ghc/driver/mangler/ghc-asm.lprl
@@ -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;