delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2002/12/19/17:52:16

From: sandmann AT clio DOT rice DOT edu (Charles Sandmann)
Message-Id: <10212192254.AA22565@clio.rice.edu>
Subject: Patches for module cleanup
To: djgpp-workers AT delorie DOT com (DJGPP developers)
Date: Thu, 19 Dec 2002 16:54:19 -0600 (CST)
X-Mailer: ELM [version 2.5 PL2]
Mime-Version: 1.0
Reply-To: djgpp-workers AT delorie DOT com

Proposed patches for modularity.  Smaller, more modular fix for ds_alias
included (just copy the 2 bytes to locked area for locked only usage).

*** crt0.S_	Thu Aug 16 21:36:14 2001
--- crt0.S	Thu Dec 19 12:39:58 2002
***************
*** 36,39 ****
--- 36,41 ----
  	.comm	___djgpp_selector_limit, 4
  	.comm	___djgpp_stack_limit, 4
+ 	.comm	__crt0_startup_flags, 4
+ 	.comm	___djgpp_ds_alias, 2
  	.lcomm	sel_buf, 8
  	/* ___djgpp_ds_alias defined in go32/exceptn.S */


*** crt1.c_	Wed Feb 20 19:10:24 2002
--- crt1.c	Thu Dec 19 12:30:28 2002
*************** int __bss_count = 1;
*** 36,40 ****
  
  char **environ;
- int _crt0_startup_flags;	/* default to zero unless app overrides them */
  
  int __crt0_argc;
--- 36,39 ----



*** exceptn.bak	Thu Jan  4 15:39:14 2001
--- exceptn.s	Thu Dec 19 12:52:48 2002
*************** not_forced:
*** 150,154 ****
  	je	stack_ok
  	.byte	0x2e				/* CS: */
! 	movw	___djgpp_ds_alias,%di
  	cmpw	%di,32(%ebp)	/* if it's DS alias, switch to normal DS */
  	jne	1f
--- 150,154 ----
  	je	stack_ok
  	.byte	0x2e				/* CS: */
! 	movw	___excep_ds_alias,%di
  	cmpw	%di,32(%ebp)	/* if it's DS alias, switch to normal DS */
  	jne	1f
*************** ___djgpp_old_timer:		.long	0,0
*** 302,307 ****
  ___djgpp_exception_state_ptr:	.long	0
  exception_state:		.space	64
! 	.global	___djgpp_ds_alias
! ___djgpp_ds_alias:		.word	0	/* used in dpmi/api/d0303.S (alloc rmcb) */
  
  	.balign 16,,7
--- 302,307 ----
  ___djgpp_exception_state_ptr:	.long	0
  exception_state:		.space	64
! 	.global	___excep_ds_alias
! ___excep_ds_alias:		.word	0
  
  	.balign 16,,7
*************** ___djgpp_timer_hdlr:
*** 401,405 ****
  	je	4f
  	pushl	%ds
! 	movw	%cs:___djgpp_ds_alias, %ds
  	decl	___djgpp_timer_countdown
  	popl	%ds
--- 401,405 ----
  	je	4f
  	pushl	%ds
! 	movw	%cs:___excep_ds_alias, %ds
  	decl	___djgpp_timer_countdown
  	popl	%ds



*** dpmiexcp.bak	Tue Dec 11 21:35:36 2001
--- dpmiexcp.c	Thu Dec 19 12:55:12 2002
*************** extern int __djgpp_npx_hdlr;
*** 37,40 ****
--- 37,41 ----
  extern int __djgpp_kbd_hdlr;
  extern int __djgpp_kbd_hdlr_pc98;
+ extern short __excep_ds_alias;
  extern int __djgpp_iret, __djgpp_i24;
  extern void __djgpp_cbrk_hdlr(void);
*************** __djgpp_exception_setup(void)
*** 519,522 ****
--- 520,524 ----
    size_t i;
  
+   __excep_ds_alias = __djgpp_ds_alias;
    if (ScreenPrimary != 0xa0000)
      {

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019