🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

1 total messages Started by Glenn Engel Thu, 13 Oct 1988 00:24
fixes for hpux 6.2 in crt0.c
#1498
Author: Glenn Engel
Date: Thu, 13 Oct 1988 00:24
104 lines
3097 bytes
The following patch to 1.25.1 crt0.c is needed for hp-ux.
It adds initialization of several more flag variables.

Glenn

*** crt0.c	Wed Oct 12 16:58:23 1988
--- ../g++-1.25.1/crt0.c	Wed Oct 12 17:10:31 1988
***************
*** 502,507
  	asm("	global	__start");
  	asm("	global	_exit");
  	asm("	global	_main");
  	asm("__start:");
  	asm("	byte	0,0,0,0");
  	asm("	subq.w	&1,%d0");

--- 502,508 -----
  	asm("	global	__start");
  	asm("	global	_exit");
  	asm("	global	_main");
+         asm("   global  flag_fpa,flag_68010,fpa_loc,float_loc");
  	asm("__start:");
  	asm("	byte	0,0,0,0");
  	asm("   sub.l   %a6,%a6");
***************
*** 504,509
  	asm("	global	_main");
  	asm("__start:");
  	asm("	byte	0,0,0,0");
  	asm("	subq.w	&1,%d0");
  	asm("	mov.w	%d0,float_soft");
  	asm("	mov.w	%d1,flag_68881");

--- 505,511 -----
          asm("   global  flag_fpa,flag_68010,fpa_loc,float_loc");
  	asm("__start:");
  	asm("	byte	0,0,0,0");
+ 	asm("   sub.l   %a6,%a6");
  	asm("	subq.w	&1,%d0");
  	asm("	mov.w	%d0,float_soft");
  	asm("	mov.w	%d1,flag_68881");
***************
*** 508,514
  	asm("	mov.w	%d0,float_soft");
  	asm("	mov.w	%d1,flag_68881");
  	asm("	beq.b	skip_float"); 
! 	asm("	fmov.l	&0x7480,%fpcr");
  	asm("skip_float:");
  	asm("	mov.l	4(%a7),%d0");
  	asm("	beq.b	skip_1");

--- 510,516 -----
  	asm("	mov.w	%d0,float_soft");
  	asm("	mov.w	%d1,flag_68881");
  	asm("	beq.b	skip_float"); 
! 	asm("	fmov.l	&0x7400,%fpcr");
  	asm("skip_float:");
  	asm("   move.l  %a0,%d0");
  	asm("   add.l   %d0,%d0");
***************
*** 510,515
  	asm("	beq.b	skip_float"); 
  	asm("	fmov.l	&0x7480,%fpcr");
  	asm("skip_float:");
  	asm("	mov.l	4(%a7),%d0");
  	asm("	beq.b	skip_1");
  	asm("	mov.l	%d0,%a0");

--- 512,524 -----
  	asm("	beq.b	skip_float"); 
  	asm("	fmov.l	&0x7400,%fpcr");
  	asm("skip_float:");
+ 	asm("   move.l  %a0,%d0");
+ 	asm("   add.l   %d0,%d0");
+ 	asm("   subx.w  %d1,%d1");
+ 	asm("   move.w  %d1,flag_68010");
+ 	asm("   add.l   %d0,%d0");
+ 	asm("   subx.w  %d1,%d1");
+ 	asm("   move.w  %d1,flag_fpa");
  	asm("	mov.l	4(%a7),%d0");
  	asm("	beq.b	skip_1");
  	asm("	mov.l	%d0,%a0");
***************
*** 541,547
  	asm("	trap	&0");
  	asm("	comm	float_soft, 4");
  	asm("	comm	flag_68881, 4");
! 	
  #endif /* new hp assembler */
  #endif /* hp9000 */
  

--- 550,560 -----
  	asm("	trap	&0");
  	asm("	comm	float_soft, 4");
  	asm("	comm	flag_68881, 4");
! 	asm("	comm	flag_68010, 4");
! 	asm("	comm	flag_fpa,   4");
! 	asm("   set     float_loc,0xffffb000");
! 	asm("   set     fpa_loc,0xfff08000");
! 
  #endif /* new hp assembler */
  #endif /* hp9000 */
  
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads