lgm@ODDJOB.UCHICAGO.EDU (12/26/88)
SYNOPSIS:
GCC Version 1.32 requires a few modifications to compile and
run properly on the AT&T UNIX PC. Two problems exist:
(a) A bug in Version 1.31, about which I had posted, was
incompletely fixed. (Apparently my last communique
in the matter was unclear, so the modifications
were incompletely applied.)
(b) Some new code uses the 'clrl' instruction. The UNIX PC
needs 'clr.l' for this.
Context diffs for the necessary modifications are given below.
MACHINE AND OS:
AT&T UNIX PC 3B1 (based on Motorola 68010 microprocessor) running
OS Version 3.5 (compatible with UNIX System V Release 2).
CONFIGURATION:
'config.gcc 3b1'
CONTEXT DIFFS:
_______________________________________
*** m68k.md.orig Thu Dec 22 23:03:01 1988
--- m68k.md Fri Dec 23 12:30:08 1988
***************
*** 679,684
"*
{
if (operands[1] == const0_rtx)
return \"clrl %0\";
return \"pea %a1\";
}")
--- 679,687 -----
"*
{
if (operands[1] == const0_rtx)
+ #ifdef MOTOROLA
+ return \"clr.l %0\";
+ #else
return \"clrl %0\";
#endif
return \"pea %a1\";
***************
*** 680,685
{
if (operands[1] == const0_rtx)
return \"clrl %0\";
return \"pea %a1\";
}")
--- 683,689 -----
return \"clr.l %0\";
#else
return \"clrl %0\";
+ #endif
return \"pea %a1\";
}")
***************
*** 3539,3547
"*
#ifdef SGS
#ifdef ASM_OUTPUT_CASE_LABEL
! if (! RTX_INTEGRATED_P (operands[1]))
! return \"jmp 6(%%pc,%0.w)\";
! #endif
return \"jmp 2(%%pc,%0.w)\";
#else
#ifdef MOTOROLA
--- 3543,3550 -----
"*
#ifdef SGS
#ifdef ASM_OUTPUT_CASE_LABEL
! return \"jmp 6(%%pc,%0.w)\";
! #else
return \"jmp 2(%%pc,%0.w)\";
#endif
#else
***************
*** 3543,3548
return \"jmp 6(%%pc,%0.w)\";
#endif
return \"jmp 2(%%pc,%0.w)\";
#else
#ifdef MOTOROLA
return \"jmp (2,pc,%0.w)\";
--- 3546,3552 -----
return \"jmp 6(%%pc,%0.w)\";
#else
return \"jmp 2(%%pc,%0.w)\";
+ #endif
#else
#ifdef MOTOROLA
return \"jmp (2,pc,%0.w)\";
*** tm-3b1.h.orig Thu Dec 22 23:05:19 1988
--- tm-3b1.h Fri Dec 23 00:02:47 1988
***************
*** 346,354
`short L%nn-L%nn' supposedly works. */
#define ASM_OUTPUT_CASE_LABEL(FILE,PREFIX,NUM,TABLE) \
if (RTX_INTEGRATED_P (TABLE)) \
- fprintf (FILE, "\tswbeg &%d\n%s%%%d:\n", \
- XVECLEN (PATTERN (TABLE), 1), (PREFIX), (NUM))
- else
fprintf (FILE, "\tswbeg &%d\n%s%%%d:\n\tshort %s%%%d-%s%%%d\n", \
XVECLEN (PATTERN (TABLE), 1) + 1, (PREFIX), (NUM), \
(PREFIX), (NUM), (PREFIX), (NUM))
--- 346,351 -----
`short L%nn-L%nn' supposedly works. */
#define ASM_OUTPUT_CASE_LABEL(FILE,PREFIX,NUM,TABLE) \
if (RTX_INTEGRATED_P (TABLE)) \
fprintf (FILE, "\tswbeg &%d\n%s%%%d:\n\tshort %s%%%d-%s%%%d\n", \
XVECLEN (PATTERN (TABLE), 1) + 1, (PREFIX), (NUM), \
(PREFIX), (NUM), (PREFIX), (NUM)); \
***************
*** 351,357
else
fprintf (FILE, "\tswbeg &%d\n%s%%%d:\n\tshort %s%%%d-%s%%%d\n", \
XVECLEN (PATTERN (TABLE), 1) + 1, (PREFIX), (NUM), \
! (PREFIX), (NUM), (PREFIX), (NUM))
/* At end of a switch table, define LD%n iff the symbol LI%n was defined. */
#define ASM_OUTPUT_CASE_END(FILE,NUM,TABLE) \
--- 348,357 -----
if (RTX_INTEGRATED_P (TABLE)) \
fprintf (FILE, "\tswbeg &%d\n%s%%%d:\n\tshort %s%%%d-%s%%%d\n", \
XVECLEN (PATTERN (TABLE), 1) + 1, (PREFIX), (NUM), \
! (PREFIX), (NUM), (PREFIX), (NUM)); \
! else \
! fprintf (FILE, "\tswbeg &%d\n%s%%%d:\n", \
! XVECLEN (PATTERN (TABLE), 1), (PREFIX), (NUM))
/* At end of a switch table, define LD%n iff the symbol LI%n was defined. */
#define ASM_OUTPUT_CASE_END(FILE,NUM,TABLE) \
_______________________________________
Lawrence G. Mayka
Aurora, Illinois
lgm@lmayk.UUCP
chinet!lmayk!lgm