[gnu.emacs.bug] crt0.c and gcc and ISI68K

ray@GIBBS.PHYSICS.PURDUE.EDU (Ray Moody) (07/11/89)

    Here are some patches to crt0.c so that emacs can be compiled on
an ISI68K with gcc.  Some asm() instructions made some improper
assumptions about the compiler and the assember.  I have rewritten the
ISI68K part in a more portable manner.

								Ray
-------------------------------------------------------------------------------
RCS file: /usr/src/new/gnu/emacs/src/RCS/crt0.c,v
retrieving revision 18.54
diff -c -r18.54 /usr/src/new/gnu/emacs/src/crt0.c
*** /tmp/,RCSt1015997	Mon Jul 10 22:39:13 1989
--- /usr/src/new/gnu/emacs/src/crt0.c	Sun Jul  2 21:56:32 1989
***************
*** 344,352
    
  #ifdef ISI68K
  /* Added by ESM Sun May 24 12:44:02 1987 to get new ISI library to work */
! #ifdef BSD4_3
! static foo () {
! #endif
  	asm ("	.globl  is68020");
  	asm ("is68020:");
  #ifndef BSD4_3

--- 344,351 -----
    
  #ifdef ISI68K
  /* Added by ESM Sun May 24 12:44:02 1987 to get new ISI library to work */
! /* Edited by Ray Mon May 15 15:59:56 EST 1989 so we can compile with gcc */
! _start () {
  	asm ("	.globl  is68020");
  	asm ("is68020:");
  #ifndef BSD4_3
***************
*** 355,362
  /* End of stuff added by ESM */
  #endif
  	asm ("	.text");
- 	asm ("	.globl	__start");
- 	asm ("__start:");
  	asm ("	.word 0");
  	asm ("	link	fp,#0");
  	asm ("	jbsr	_start1");

--- 354,359 -----
  /* End of stuff added by ESM */
  #endif
  	asm ("	.text");
  	asm ("	.word 0");
  	asm ("	link	a6,#0");
  	asm ("	jbsr	_start1");
***************
*** 358,364
  	asm ("	.globl	__start");
  	asm ("__start:");
  	asm ("	.word 0");
! 	asm ("	link	fp,#0");
  	asm ("	jbsr	_start1");
  	asm ("	unlk	fp");
  	asm ("	rts");

--- 355,361 -----
  #endif
  	asm ("	.text");
  	asm ("	.word 0");
! 	asm ("	link	a6,#0");
  	asm ("	jbsr	_start1");
  	asm ("	unlk	a6");
  	asm ("	rts");
***************
*** 360,366
  	asm ("	.word 0");
  	asm ("	link	fp,#0");
  	asm ("	jbsr	_start1");
! 	asm ("	unlk	fp");
  	asm ("	rts");
  #ifdef BSD4_3
        }

--- 357,363 -----
  	asm ("	.word 0");
  	asm ("	link	a6,#0");
  	asm ("	jbsr	_start1");
! 	asm ("	unlk	a6");
  	asm ("	rts");
  }
  /* End of stuff edited by Ray */
***************
*** 362,370
  	asm ("	jbsr	_start1");
  	asm ("	unlk	fp");
  	asm ("	rts");
! #ifdef BSD4_3
!       }
! #endif
  #else /* not ISI68K */
  
  _start ()

--- 359,366 -----
  	asm ("	jbsr	_start1");
  	asm ("	unlk	a6");
  	asm ("	rts");
! }
! /* End of stuff edited by Ray */
  #else /* not ISI68K */
  
  _start ()