1 - signal did not clear the stack properly.
2 - lseek did not return correct.
This commit is contained in:
		
							parent
							
								
									7b39ce2cfa
								
							
						
					
					
						commit
						37d01caabd
					
				
					 1 changed files with 11 additions and 5 deletions
				
			
		|  | @ -1,7 +1,10 @@ | ||||||
| !THIS FILE CONTAINS THE SYSTEM CALLS FOR PMDS-II AS SUBROUTINES FOR THE | !THIS FILE CONTAINS THE SYSTEM CALLS FOR PMDS-II AS SUBROUTINES FOR THE | ||||||
| !EM-INTERPRETER. a1 CONTAINS A POINTER TO THE RETURN AREA . EACH SUBROUTINE | !EM-INTERPRETER. a1 CONTAINS A POINTER TO THE RETURN AREA . EACH SUBROUTINE | ||||||
| !EXPECTS ITS DATA IN THE FORM EM PRODUCES AND GIVES ITS RESULTS AS EM  | !EXPECTS ITS DATA IN THE FORM EM PRODUCES AND GIVES ITS RESULTS AS EM  | ||||||
| !REQUIRES | !REQUIRES. | ||||||
|  | !THE PMDS-II REQUIRES THE ARGUMENTS ON THE STACK AS 4 BYTE INTEGERS  OR | ||||||
|  | !POINTERS , AND USES THE C-CALLING CONVENTION. THE 2 BYTE WORDS 4 BYTE | ||||||
|  | !POINTERS VERSION HAS TO DO SOME CONVERSION FIRST . | ||||||
| 
 | 
 | ||||||
| _exit:		move.l	(sp),(a1) | _exit:		move.l	(sp),(a1) | ||||||
| #ifndef lword | #ifndef lword | ||||||
|  | @ -186,8 +189,7 @@ _lseek:		move.l	(sp),(a1) | ||||||
| 		mov	d0,-(sp) | 		mov	d0,-(sp) | ||||||
| 		mov	d0,-(sp) | 		mov	d0,-(sp) | ||||||
| 		bra	2f | 		bra	2f | ||||||
| 1:		move.l	d1,-(sp) | 1:		move.l	d0,-(sp) | ||||||
| 		mov	d0,-(sp) |  | ||||||
| 		cl	-(sp) | 		cl	-(sp) | ||||||
| 2:		move.l	(a1),a0 | 2:		move.l	(a1),a0 | ||||||
| 		jmp	(a0) | 		jmp	(a0) | ||||||
|  | @ -359,10 +361,14 @@ _signal:	move.l	(sp)+,retaddr | ||||||
| 		move.l	retaddr,-(sp) | 		move.l	retaddr,-(sp) | ||||||
| 		trap	#0 | 		trap	#0 | ||||||
| 	.short	48 | 	.short	48 | ||||||
|  | 		lea	12(sp),sp		!remove arguments | ||||||
|  | 		bcc	1f | ||||||
| 		mov	d0,-(sp) | 		mov	d0,-(sp) | ||||||
| 		bne	1f |  | ||||||
| 		mov	d0,-(sp) | 		mov	d0,-(sp) | ||||||
| 1:		move.l	retaddr,a0 | 		bra	2f | ||||||
|  | 1: 		mov	d0,-(sp) | ||||||
|  | 		cl	-(sp) | ||||||
|  | 2:		move.l	retaddr,a0 | ||||||
| 		jmp	(a0) | 		jmp	(a0) | ||||||
| 	.data | 	.data | ||||||
| retaddr:  .long	0 | retaddr:  .long	0 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue