wok rev 22170

linld: clear heap in moverm
author Pascal Bellard <pascal.bellard@slitaz.org>
date Fri Nov 08 10:47:52 2019 +0100 (2019-11-08)
parents 8a056aec03a0
children 19141648d795
files c-client/receipt fastthread/receipt file-tail/receipt larch/receipt linld/stuff/src/A20.ASM linld/stuff/src/COMMON.H linld/stuff/src/CRTL.ASM linld/stuff/src/CRTL.H linld/stuff/src/LINLD.CPP linld/stuff/src/LOAD.CPP linld/stuff/src/TAZBOOT.CPP linld/stuff/src/_BEG.ASM linld/stuff/src/pipehole.awk rack/receipt rails/receipt rake/receipt spruz/receipt
line diff
     1.1 --- a/c-client/receipt	Fri Nov 08 10:09:23 2019 +0100
     1.2 +++ b/c-client/receipt	Fri Nov 08 10:47:52 2019 +0100
     1.3 @@ -6,7 +6,7 @@
     1.4  SHORT_DESC="mail store formats support."
     1.5  MAINTAINER="pascal.bellard@slitaz.org"
     1.6  LICENSE="Apache"
     1.7 -WEB_SITE="http://www.washington.edu/imap/"
     1.8 +WEB_SITE="https://www.washington.edu/imap/"
     1.9  SOURCE="imap"
    1.10  TARBALL="$SOURCE-$VERSION.tar.gz"
    1.11  WGET_URL="ftp://ftp.cac.washington.edu/mail/$TARBALL"
     2.1 --- a/fastthread/receipt	Fri Nov 08 10:09:23 2019 +0100
     2.2 +++ b/fastthread/receipt	Fri Nov 08 10:47:52 2019 +0100
     2.3 @@ -17,7 +17,7 @@
     2.4  # Rules to configure and make the package.
     2.5  compile_rules()
     2.6  {
     2.7 -	local _gemdir="$(ruby -rubygems -e'puts Gem.default_dir')"
     2.8 +	local _gemdir="$(ruby -rrubygems -e'puts Gem.default_dir')"
     2.9  	gem install --ignore-dependencies -i "$DESTDIR/$_gemdir" $SOURCES_REPOSITORY/$TARBALL
    2.10  }
    2.11  
     3.1 --- a/file-tail/receipt	Fri Nov 08 10:09:23 2019 +0100
     3.2 +++ b/file-tail/receipt	Fri Nov 08 10:47:52 2019 +0100
     3.3 @@ -18,7 +18,7 @@
     3.4  # Rules to configure and make the package.
     3.5  compile_rules()
     3.6  {
     3.7 -	local _gemdir="$(ruby -rubygems -e'puts Gem.default_dir')"
     3.8 +	local _gemdir="$(ruby -rrubygems -e'puts Gem.default_dir')"
     3.9  	gem	install			\
    3.10  		--ignore-dependencies	\
    3.11  		-i "$DESTDIR/$_gemdir"	\
     4.1 --- a/larch/receipt	Fri Nov 08 10:09:23 2019 +0100
     4.2 +++ b/larch/receipt	Fri Nov 08 10:47:52 2019 +0100
     4.3 @@ -16,7 +16,7 @@
     4.4  # Rules to configure and make the package.
     4.5  compile_rules()
     4.6  {
     4.7 -	local _gemdir="$(ruby -rubygems -e'puts Gem.default_dir')"
     4.8 +	local _gemdir="$(ruby -rrubygems -e'puts Gem.default_dir')"
     4.9  	gem install --ignore-dependencies -i "$DESTDIR/$_gemdir" larch
    4.10  }
    4.11  
     5.1 --- a/linld/stuff/src/A20.ASM	Fri Nov 08 10:09:23 2019 +0100
     5.2 +++ b/linld/stuff/src/A20.ASM	Fri Nov 08 10:47:52 2019 +0100
     5.3 @@ -124,8 +124,10 @@
     5.4  		mov	cx,[bx-5]	; size
     5.5  		mov	si,[bx-2]	; data
     5.6  		xor	di,di
     5.7 -		rep
     5.8 -		  movsb
     5.9 +@@move_clear:
    5.10 +		movsb
    5.11 +		mov	[byte si-1],0
    5.12 +		loop	@@move_clear
    5.13  		;push	ds
    5.14  		;pop	es
    5.15  		;pop	di si
     6.1 --- a/linld/stuff/src/COMMON.H	Fri Nov 08 10:09:23 2019 +0100
     6.2 +++ b/linld/stuff/src/COMMON.H	Fri Nov 08 10:47:52 2019 +0100
     6.3 @@ -72,6 +72,7 @@
     6.4  #define prev(p)	 --p
     6.5  #endif
     6.6  extern char vcpi;
     6.7 +extern char version_string[];
     6.8  extern const char* kernel_name;
     6.9  extern const char* initrd_name;
    6.10  extern const char* cmdline;
    6.11 @@ -93,6 +94,6 @@
    6.12  void load_image(struct image_himem *m);
    6.13  extern _fastcall void open_image(struct image_himem *m, const char *name);
    6.14  extern _fastcall int read_image(struct image_himem *m);
    6.15 -char* load_kernel();
    6.16 +void load_kernel();
    6.17  void load_initrd();
    6.18  extern "C" void boot_kernel();
     7.1 --- a/linld/stuff/src/CRTL.ASM	Fri Nov 08 10:09:23 2019 +0100
     7.2 +++ b/linld/stuff/src/CRTL.ASM	Fri Nov 08 10:47:52 2019 +0100
     7.3 @@ -478,15 +478,8 @@
     7.4  		include	"himem.inc"
     7.5  
     7.6  ;***************************************************************
     7.7 -;_fastcall char* strdup(bx:const char* a);
     7.8  ;_fastcall char* malloc_or_die(ax:unsigned size);
     7.9  ;***************************************************************
    7.10 -	global	@strdup$qpxzc:near
    7.11 -@strdup$qpxzc:
    7.12 -		mov	ax,[_heap_top]
    7.13 -		xchg	ax,bx
    7.14 -		call	@strcpy$qpxzct1		; bx = strcpy(bx, ax) end +1
    7.15 -		xchg	ax,bx
    7.16  xchg_heap_top:
    7.17  		xchg	ax,[_heap_top]
    7.18  		ret
     8.1 --- a/linld/stuff/src/CRTL.H	Fri Nov 08 10:09:23 2019 +0100
     8.2 +++ b/linld/stuff/src/CRTL.H	Fri Nov 08 10:47:52 2019 +0100
     8.3 @@ -22,7 +22,6 @@
     8.4  void parse_cmdline();
     8.5  extern _fastcall void strcatb(const char* a,const char* b);
     8.6  extern _fastcall void strcpy(const char* a,const char* b);
     8.7 -extern _fastcall int strdup(const char* a);
     8.8  #ifdef USE_ARGSTR
     8.9  extern _fastcall int argstr(const char *s, const char keywords[], const char **var);
    8.10  extern _fastcall int argnum(char *s, const char keywords[], unsigned long *var);
     9.1 --- a/linld/stuff/src/LINLD.CPP	Fri Nov 08 10:09:23 2019 +0100
     9.2 +++ b/linld/stuff/src/LINLD.CPP	Fri Nov 08 10:47:52 2019 +0100
     9.3 @@ -75,7 +75,8 @@
     9.4  	boot:
     9.5              puts(*clp);
     9.6  	    set_cmdline(*clp);
     9.7 -	    puts(load_kernel());
     9.8 +	    load_kernel();
     9.9 +	    puts(version_string);
    9.10  	    load_initrd();
    9.11  	    boot_kernel();
    9.12          }
    9.13 @@ -88,7 +89,8 @@
    9.14  	argv++;
    9.15  	s=*argv;
    9.16  	if (!s) {
    9.17 -	    puts(load_kernel());
    9.18 +	    load_kernel();
    9.19 +	    puts(version_string);
    9.20  	    load_initrd();
    9.21  	    boot_kernel();
    9.22  	}
    10.1 --- a/linld/stuff/src/LOAD.CPP	Fri Nov 08 10:09:23 2019 +0100
    10.2 +++ b/linld/stuff/src/LOAD.CPP	Fri Nov 08 10:47:52 2019 +0100
    10.3 @@ -124,8 +124,7 @@
    10.4  struct image_himem imgs[2];
    10.5  
    10.6  static const char kernel_file_error[] = "Can't use kernel file";
    10.7 -static char *version_string="";
    10.8 -char* load_kernel() {
    10.9 +void load_kernel() {
   10.10  
   10.11      struct	image_himem *m = &pm;
   10.12  #define _rm_buf(m)	(((u8**)(m))[-1])
   10.13 @@ -158,7 +157,6 @@
   10.14      if((kernelparams->setup_sects)>=(_32k/512) || // 0th sector not counted
   10.15  	 kernelparams->boot_flag != 0xAA55)
   10.16          die("Not a kernel");
   10.17 -    heap_top +=		// Hack for VCPI. Need fix.
   10.18      _rm_size=0x200*(kernelparams->setup_sects+1);
   10.19      m->size -= _rm_size;
   10.20      m->chunk_size -= _rm_size;
   10.21 @@ -185,7 +183,7 @@
   10.22              hook_int15_88(); // break _ES
   10.23          }
   10.24          if (kernelparams->kernel_version)
   10.25 -            version_string = (char *) strdup((char *) first1k+kernelparams->kernel_version+0x200);
   10.26 +            strcpy(version_string,(char *) first1k+kernelparams->kernel_version+0x200);
   10.27          kernelparams->type_of_loader = 0xff; // kernel do not know us (yet :-)
   10.28          if(kernelparams->version >= 0x201) {
   10.29              // * offset limit of the setup heap
   10.30 @@ -223,7 +221,6 @@
   10.31      }
   10.32  
   10.33      load_image(m);
   10.34 -    return version_string;
   10.35  }
   10.36  
   10.37  // Read initrd if needed
    11.1 --- a/linld/stuff/src/TAZBOOT.CPP	Fri Nov 08 10:09:23 2019 +0100
    11.2 +++ b/linld/stuff/src/TAZBOOT.CPP	Fri Nov 08 10:47:52 2019 +0100
    11.3 @@ -58,7 +58,8 @@
    11.4  	struct image_himem *m = &pm;
    11.5  	m->chunk_size = m->size = isofilesize4round();
    11.6  	m->fd = isofd;
    11.7 -	return load_kernel();
    11.8 +	load_kernel();
    11.9 +	return version_string;
   11.10  }
   11.11  
   11.12  static char buf_cmdline[4096];
    12.1 --- a/linld/stuff/src/_BEG.ASM	Fri Nov 08 10:09:23 2019 +0100
    12.2 +++ b/linld/stuff/src/_BEG.ASM	Fri Nov 08 10:47:52 2019 +0100
    12.3 @@ -32,6 +32,8 @@
    12.4  
    12.5          global  _bss_start:byte
    12.6          label   _bss_start byte
    12.7 +        global  _version_string:byte
    12.8 +        label   _version_string byte
    12.9  		db	STACK_SIZE-2 dup(?)
   12.10  stktop		dw	?
   12.11          global  _cpu_features:dword
   12.12 @@ -52,7 +54,7 @@
   12.13  ; clear bss
   12.14  ;***************************************************************
   12.15  		mov	sp,offset stktop
   12.16 -		mov	si,sp
   12.17 +		mov	si,offset _version_string
   12.18  		mov	bx, 0F000h	; cld ; cli & empty string
   12.19  clearbss:
   12.20  		mov	[si],bl		; clear bss + heap + sp
    13.1 --- a/linld/stuff/src/pipehole.awk	Fri Nov 08 10:09:23 2019 +0100
    13.2 +++ b/linld/stuff/src/pipehole.awk	Fri Nov 08 10:47:52 2019 +0100
    13.3 @@ -102,10 +102,7 @@
    13.4  		if (/jb/) isload=12
    13.5  		sub(/jb/,"ja")
    13.6  	}
    13.7 -	if (/i,offset/) split($2,sidi,",")
    13.8 -	if (sidi[1] == "si") sidi[2]="di"
    13.9 -	else sidi[2]="si"
   13.10 -	sub(/DGROUP:_imgs\+65534/,"[" sidi[1] "-2]")
   13.11 +	sub(/_imgs\+65534/,"_imgs-2")
   13.12  	if (/m, _rm_size/) isload=10
   13.13  	if (isload == 10) {  # LOAD.LST
   13.14  		if (/^	je	/) next
   13.15 @@ -127,13 +124,13 @@
   13.16  	if (/cmd_line_ptr =/ && is386 == 0) isload=7
   13.17  	if (isload == 7) {  # LOAD.LST
   13.18  		if (/add/ || /xor/ || /extrn/ || /N_LXLSH@/ || /cl,4/) next
   13.19 -		if (/enable A20 if needed/) {
   13.20 -			print "	mov	word ptr [bx+" sidi[2] "],8000h"
   13.21 -			isload=0
   13.22 -		}
   13.23 +		if (/enable A20 if needed/) { print nextinst; isload=0 }
   13.24  		if (/,ax/) $0="	mov	bx,55"
   13.25  		if (/i-463/) $0="	mov	bx,-463"
   13.26 -		if (/i-465/) { sub(/465/,"2"); sub(/\[/,"[bx+"); }
   13.27 +		if (/i-465/) {
   13.28 +			sub(/465/,"2"); sub(/\[/,"[bx+")
   13.29 +			nextinst=$0; sub(/-2\],-23745/,"],8000h",nextinst) 
   13.30 +		}
   13.31  		if (/,dx/) {
   13.32  			print "	mov	cl,12"
   13.33  			print "	shr	ax,cl"
    14.1 --- a/rack/receipt	Fri Nov 08 10:09:23 2019 +0100
    14.2 +++ b/rack/receipt	Fri Nov 08 10:47:52 2019 +0100
    14.3 @@ -17,7 +17,7 @@
    14.4  # Rules to configure and make the package.
    14.5  compile_rules()
    14.6  {
    14.7 -	local _gemdir="$(ruby -rubygems -e'puts Gem.default_dir')"
    14.8 +	local _gemdir="$(ruby -rrubygems -e'puts Gem.default_dir')"
    14.9  	gem install --ignore-dependencies -i "$DESTDIR/$_gemdir" $SOURCES_REPOSITORY/$TARBALL
   14.10  }
   14.11  
    15.1 --- a/rails/receipt	Fri Nov 08 10:09:23 2019 +0100
    15.2 +++ b/rails/receipt	Fri Nov 08 10:47:52 2019 +0100
    15.3 @@ -17,7 +17,7 @@
    15.4  # Rules to configure and make the package.
    15.5  compile_rules()
    15.6  {
    15.7 -	local _gemdir="$(ruby -rubygems -e'puts Gem.default_dir')"
    15.8 +	local _gemdir="$(ruby -rrubygems -e'puts Gem.default_dir')"
    15.9  	gem install --ignore-dependencies -i "$DESTDIR/$_gemdir" $SOURCES_REPOSITORY/$TARBALL
   15.10  }
   15.11  
    16.1 --- a/rake/receipt	Fri Nov 08 10:09:23 2019 +0100
    16.2 +++ b/rake/receipt	Fri Nov 08 10:47:52 2019 +0100
    16.3 @@ -17,7 +17,7 @@
    16.4  # Rules to configure and make the package.
    16.5  compile_rules()
    16.6  {
    16.7 -	local _gemdir="$(ruby -rubygems -e'puts Gem.default_dir')"
    16.8 +	local _gemdir="$(ruby -rrubygems -e'puts Gem.default_dir')"
    16.9  	gem install --ignore-dependencies -i "$DESTDIR/$_gemdir" $SOURCES_REPOSITORY/$TARBALL
   16.10  }
   16.11  
    17.1 --- a/spruz/receipt	Fri Nov 08 10:09:23 2019 +0100
    17.2 +++ b/spruz/receipt	Fri Nov 08 10:47:52 2019 +0100
    17.3 @@ -17,7 +17,7 @@
    17.4  # Rules to configure and make the package.
    17.5  compile_rules()
    17.6  {
    17.7 -	local _gemdir="$(ruby -rubygems -e'puts Gem.default_dir')"
    17.8 +	local _gemdir="$(ruby -rrubygems -e'puts Gem.default_dir')"
    17.9  	gem install --ignore-dependencies -i "$DESTDIR/$_gemdir" $SOURCES_REPOSITORY/$TARBALL
   17.10  }
   17.11