From: wolfgang Date: Wed, 12 Jan 2005 05:53:07 +0000 (+0000) Subject: [project @ 2005-01-12 05:53:07 by wolfgang] X-Git-Tag: Initial_conversion_from_CVS_complete~1260 X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=b9472fcf1266927eb3c2083218e2eb9acd78f848 [project @ 2005-01-12 05:53:07 by wolfgang] Move _srtd and _closure_tbl to read-only data instead of text (these things contain pointers to other symbols, so they can't go into .text for position-independent code). --- diff --git a/ghc/driver/mangler/ghc-asm.lprl b/ghc/driver/mangler/ghc-asm.lprl index 00af653..e868f33 100644 --- a/ghc/driver/mangler/ghc-asm.lprl +++ b/ghc/driver/mangler/ghc-asm.lprl @@ -655,16 +655,22 @@ sub mangle_asm { || /^${T_US}.*_slow${T_POST_LBL}$/o # slow entry || /^${T_US}__stginit.*${T_POST_LBL}$/o # __stginit || /^${T_US}.*_btm${T_POST_LBL}$/o # large bitmaps - || /^${T_US}.*_srtd${T_POST_LBL}$/o # large bitmaps || /^${T_US}.*_fast${T_POST_LBL}$/o # primops - || /^${T_US}.*_closure_tbl${T_POST_LBL}$/o # closure tables || /^_uname:/o # x86/Solaris2 - ) { - $chkcat[$i] = 'misc'; - } else { - print STDERR "Warning: retaining unknown function \`$thing' in output from C compiler\n"; - $chkcat[$i] = 'unknown'; - } + ) + { + $chkcat[$i] = 'misc'; + } elsif ( + /^${T_US}.*_srtd${T_POST_LBL}$/o # large bitmaps + || /^${T_US}.*_closure_tbl${T_POST_LBL}$/o # closure tables + ) + { + $chkcat[$i] = 'rodata'; + } else + { + print STDERR "Warning: retaining unknown function \`$thing' in output from C compiler\n"; + $chkcat[$i] = 'unknown'; + } } elsif ( $TargetPlatform =~ /^powerpc-apple-.*/ && ( /^\.picsymbol_stub/