Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 9342 → Rev 9343

/kernel/trunk/umka/umka.asm
4,10 → 4,35
format ELF
else
format MS COFF
end if
 
macro c_public name, _alias, _argsize {
if ~ defined win32
; Use cases:
; c_public name -> 'name'
; c_public name, 'qwerty'[, nomangle] -> 'qwerty'
; c_public name, 12 -> 'name'
; c_public name, 'qwerty', 12 -> 'qwerty'
;
if ~ _argsize eq nomangle
if _alias eqtype 'string'
public name as _alias
else
public name
end if
else
public name as _alias
end if
else
; Use cases:
; c_public name -> '_name'
; c_public name, 'qwerty' -> '_qwerty'
; c_public name, 'qwerty', nomangle -> 'qwerty'
; c_public name, 12 -> '_name@12'
; c_public name, 'qwerty', 12 -> '_qwerty@12'
;
if ~ _argsize eq nomangle
if _alias eqtype 'string'
if _argsize eqtype 1
public name as '_' # _alias # '@' # `_argsize
else
21,16 → 46,20
else
public name as _alias
end if
end if
}
 
macro extrn name, _argsize {
if ~ defined win32
extrn name
else
if _argsize eqtype 1
extrn '_' # `name # '@' # `_argsize as name
else
extrn '_' # `name as name
end if
end if
}
end if
 
__DEBUG__ = 1
__DEBUG_LEVEL__ = 1
141,8 → 170,14
 
macro diff16 msg,blah2,blah3 {
if msg eq "end of .data segment"
 
if ~ defined win32
; fasm doesn't align on 65536, but ld script does
section '.bss.aligned65k' writeable align 65536
else
section '.bss.65k' writeable align 512
end if
 
bss_base:
end if
}
774,8 → 809,13
 
coverage_end:
 
if ~ defined win32
; fasm doesn't align on 65536, but ld script does
section '.data.aligned65k' writeable align 65536
else
section '.data' readable writeable align 512
end if
 
c_public umka_tool
umka_tool dd ?
c_public umka_initialized