# HG changeset patch # User Pascal Bellard # Date 1540995222 -3600 # Node ID a5b6457fb890c759575c27a165185b7613d4a293 # Parent 8f88211c5cb8438ca79a9998022f5fb308bfb707 Up acl-dev (2.2.53) diff -r 8f88211c5cb8 -r a5b6457fb890 acl-dev/receipt --- a/acl-dev/receipt Wed Oct 31 10:54:33 2018 +0100 +++ b/acl-dev/receipt Wed Oct 31 15:13:42 2018 +0100 @@ -1,7 +1,7 @@ # SliTaz package receipt. PACKAGE="acl-dev" -VERSION="2.2.51" +VERSION="2.2.53" CATEGORY="development" SHORT_DESC="Development files for acl." MAINTAINER="rcx@zoominternet.net" diff -r 8f88211c5cb8 -r a5b6457fb890 linld/stuff/src/COMMON.H --- a/linld/stuff/src/COMMON.H Wed Oct 31 10:54:33 2018 +0100 +++ b/linld/stuff/src/COMMON.H Wed Oct 31 15:13:42 2018 +0100 @@ -76,17 +76,10 @@ extern u16 root_dev; extern u16 vid_mode; // External asm helpers -extern "C" void memcpy32(u32, u16,u32, u32); -extern "C" void rmcpy(); extern "C" void xmm_alloc(struct image_himem *m); extern u32 topmem; -extern "C" u32 memtopz(); extern "C" u32 memtop(); extern "C" void enable_a20_or_die(); -extern "C" int get_vcpi_interface(); -extern "C" char* prepare_vcpi(void *pagebuf); -//extern "C" int call_pm_routine(void* f); -extern "C" void memcpy_vcpi(u32 dstofs,u16 srcseg,u32 srcofs); extern "C" void vm2rm(); extern "C" void hook_int15_88(); diff -r 8f88211c5cb8 -r a5b6457fb890 linld/stuff/src/CRTL.ASM --- a/linld/stuff/src/CRTL.ASM Wed Oct 31 10:54:33 2018 +0100 +++ b/linld/stuff/src/CRTL.ASM Wed Oct 31 15:13:42 2018 +0100 @@ -159,7 +159,7 @@ lodsb sub al,[bx] jnz @@out - sub al,al + or al,al jnz @@lp @@out: cbw @@ -182,17 +182,17 @@ push ax ; global puts:near ; puts(bx) puts: - call putsz + call @@putsz mov bx,offset msg_crlf - jmp putsz -putcz: + jmp @@putsz +@@putcz: mov ah,2 int 21h -putsz: +@@putsz: mov dl,[bx] inc bx or dl,dl - jne putcz ; ZF=1 (for malloc failure) + jne @@putcz ; ZF=1 (for malloc failure) ret endp _puts @@ -407,14 +407,14 @@ push ax global malloc_or_die:near ; malloc_or_die(cx) malloc_or_die: - mov ax,[_heap_top] ; return value - mov bx,sp - add bh,-14h ; MIN_STACK=_1k+PAGE_SIZE - sub bx,ax ; can't overflow - cmp bx,cx + mov ax,[_heap_top] ; return value + mov bx,sp + add bh,-14h ; MIN_STACK=_1k+PAGE_SIZE + sub bx,ax ; can't overflow + cmp bx,cx mov bx,offset msg_malloc - jb die - add [_heap_top],cx ; _BEG has zero'd heap + jb die + add [_heap_top],cx ; _BEG has zero'd heap ret endp _malloc_or_die @@ -781,11 +781,11 @@ global _reset_bufv:near proc _reset_bufv near - pop ax ;caller return address - pop bx + pop bx ;caller return address + pop ax + push ax push bx - push ax - mov [curdata],bx + mov [curdata],ax and [dword (data_himem bx).cacheidx],0 ret @@ -1305,9 +1305,9 @@ mov ax,713Bh ; chdir long filename (ds:dx) int 21h mov ah,3Bh ; chdir(ds:dx) - jnc chdirdone + jnc @@chdirdone int 21h -chdirdone: +@@chdirdone: pop [word bx] @@end: ret diff -r 8f88211c5cb8 -r a5b6457fb890 linld/stuff/src/CRTL.H --- a/linld/stuff/src/CRTL.H Wed Oct 31 10:54:33 2018 +0100 +++ b/linld/stuff/src/CRTL.H Wed Oct 31 15:13:42 2018 +0100 @@ -32,10 +32,7 @@ //extern "C" int open(const char* name, int flags); extern "C" int open(const char* name); extern "C" int close(int fd); -extern "C" void exit(int n); -extern "C" void abort(); extern "C" int read(int fd, void* data, int sz); -extern "C" int write(int fd, const void* data, int sz); extern "C" long lseekset(int fd, unsigned long sz); extern "C" int puts(const char* s); extern "C" unsigned long strtol(const char *s); diff -r 8f88211c5cb8 -r a5b6457fb890 linld/stuff/src/LOAD.CPP --- a/linld/stuff/src/LOAD.CPP Wed Oct 31 10:54:33 2018 +0100 +++ b/linld/stuff/src/LOAD.CPP Wed Oct 31 15:13:42 2018 +0100 @@ -145,11 +145,9 @@ { u16 rm_seek; +do { // Do not use malloc below until heap_top adjustment (see <*>) - if (read(m->fd, rm_buf, rm_seek=0x400) != 0x400) { - readfail: - die(kernel_file_error); - } + if (read(m->fd, rm_buf, rm_seek=0x400) == 0x400) { if(kernelparams->setup_sects == 0) { #if 1 @@ -170,8 +168,11 @@ { u16 cnt = rm_size-rm_seek; - if (read(m->fd, rm_buf+rm_seek, cnt) != cnt) goto readfail; + if (read(m->fd, rm_buf+rm_seek, cnt) == cnt) break; } + } + die(kernel_file_error); +} while (0); } // Tell rm loader some info diff -r 8f88211c5cb8 -r a5b6457fb890 linld/stuff/src/MEMTOP.ASM --- a/linld/stuff/src/MEMTOP.ASM Wed Oct 31 10:54:33 2018 +0100 +++ b/linld/stuff/src/MEMTOP.ASM Wed Oct 31 15:13:42 2018 +0100 @@ -48,7 +48,7 @@ xchg ax,cx ; are more reasonable anyway... @@use_cxdx: ;now: dx=64k units above 16m ; ax=1k units above 1m below 16m (max 3c00h) - test dx,dx + or dx,dx jz tokb ;dx=0 here, ax=kbs above 1m xor ax,ax ;ignore info on low 16M (assume full) ;add dx,100h ;account for low 16M @@ -210,7 +210,7 @@ @@do88: pushf call @@jmp_saved15 - test ax,ax + or ax,ax jnz @@iret ;****** Read extended mem size (CMOS bytes 17h,18h (lo,hi))