# I guess this is never entered, since all _upds are
# either vtbl_'s or ret_'s, caught above. - andre
$chksymb[$i] = '';
-# if ($TargetPlatform =~ /^powerpc-/)
-# { $chksymb[$i] = $symbtmp;}
-# else { $chksymb[$i] = ''; };
-
} elsif ( $TargetPlatform =~ /^i386-.*-solaris2/
&& /^(_uname|uname|stat|fstat):/ ) {
# HPPAs, MIPSen: also start medding at chunk 1
-# AIX hack for the moment, to join up multiple identical tocs
if ($TargetPlatform =~ /^powerpc|^rs6000/) {
print OUTASM $T_HDR_toc; # yes, we have to put a .toc
# in the beginning of every file!
$chk[$i] =~ s/\[RW\]//g;
$chk[$i] =~ s/\[DS\]//g;
$chk[$i] =~ s/^\.csect .*\[DS\]$//g;
+
if ( $chkcat[$i] eq 'toc' && $chk[$i] !~ /\.byte/ )
{ $chk[$i] =~ s/$T_MOVE_DIRVS//g;
$chk[$i] =~ s/\t\.tc (\S+)\[TC\],(\S+_fast\d+)/\t\.tc \1\[TC\],\.\2/;
\begin{code}
#if powerpc_TARGET_ARCH || rs6000_TARGET_ARCH
-/* shift 4 arg registers down one */
-
#define MAGIC_CALL_SETUP \
register void (*f)() __asm__("$2"); \
__asm__ volatile ( \
- "move $2,$4\n" \
"not used!!!????\n" \
- "\tmove $4,$5\n" \
- "\tmove $5,$6\n" \
- "\tmove $6,$7\n" \
- "\tlw $7,16($sp)\n" \
- "\taddu $sp,$sp,4\n" \
: : : "$2" );
#define MAGIC_CALL \
(*f)(); \
__asm__ volatile ( \
- "subu $sp,$sp,4\n" \
- "\ts.d $f0, -8($sp)\n" \
- "not used!!!????\n" \
- "\tsw $2, -12($sp)");
+ "not used!!!????\n");
#define MAGIC_RETURN \
__asm__ volatile ( \
- "l.d $f0, -8($sp)\n" \
- "not used!!!????\n" \
- "\tlw $2, -12($sp)");
+ "not used!!!????\n");
#define WRAPPER_NAME(f) /* nothing */
do {RestoreAllStgRegs(); if(x) JMP_(EnterNodeCode);} while(0); \
__asm__ volatile ( \
"cal 1,136(1)\n" \
- "\tstm 13,-76(1)\n" \
+ "\tstm 14,-72(1)\n" \
"\tstu 1,-136(1)");
#define SEPARATE_WRAPPER_RESTORE /* none */
*/
data_size_in_words = BYTES_TO_STGWORDS(size_in_bytes);
total_size_in_words = DATA_HS + data_size_in_words;
-
#ifdef ALLOC_DEBUG
/* Check that we are within the current budget */
if (DEBUG_GMPAllocBudget < total_size_in_words) {
fprintf(stderr, "stgAllocForGMP: budget error: %ld %ld\n",
DEBUG_GMPAllocBudget, total_size_in_words);
- abort();
+ abort();
}
- else
+ else {
DEBUG_GMPAllocBudget -= total_size_in_words;
+ }
#endif
/* if it's a DATA thingy, we'd better fill it in.