wok diff linld/stuff/src/LOAD.CPP @ 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 | 306a4bbdee7d |
children | 10fa26e4c60d |
line diff
1.1 --- a/linld/stuff/src/LOAD.CPP Wed Nov 06 21:02:18 2019 +0100 1.2 +++ b/linld/stuff/src/LOAD.CPP Fri Nov 08 10:47:52 2019 +0100 1.3 @@ -124,8 +124,7 @@ 1.4 struct image_himem imgs[2]; 1.5 1.6 static const char kernel_file_error[] = "Can't use kernel file"; 1.7 -static char *version_string=""; 1.8 -char* load_kernel() { 1.9 +void load_kernel() { 1.10 1.11 struct image_himem *m = ± 1.12 #define _rm_buf(m) (((u8**)(m))[-1]) 1.13 @@ -158,7 +157,6 @@ 1.14 if((kernelparams->setup_sects)>=(_32k/512) || // 0th sector not counted 1.15 kernelparams->boot_flag != 0xAA55) 1.16 die("Not a kernel"); 1.17 - heap_top += // Hack for VCPI. Need fix. 1.18 _rm_size=0x200*(kernelparams->setup_sects+1); 1.19 m->size -= _rm_size; 1.20 m->chunk_size -= _rm_size; 1.21 @@ -185,7 +183,7 @@ 1.22 hook_int15_88(); // break _ES 1.23 } 1.24 if (kernelparams->kernel_version) 1.25 - version_string = (char *) strdup((char *) first1k+kernelparams->kernel_version+0x200); 1.26 + strcpy(version_string,(char *) first1k+kernelparams->kernel_version+0x200); 1.27 kernelparams->type_of_loader = 0xff; // kernel do not know us (yet :-) 1.28 if(kernelparams->version >= 0x201) { 1.29 // * offset limit of the setup heap 1.30 @@ -223,7 +221,6 @@ 1.31 } 1.32 1.33 load_image(m); 1.34 - return version_string; 1.35 } 1.36 1.37 // Read initrd if needed