Windows NT 4.0 source code leak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

115 lines
3.4 KiB

Alpha AXP MSCGEM OTS C run-time library notes.
- The following OTS source files were obtained from Kent Glossop on
27-Jan-1993. I believe the version number is X1.0-4.
div.s
divdat.s
extv.s
extvvol.s
extzv.s
extzvvol.s
insv.s
insvvol.s
ots_as.hs
ots_defs.hs
scmpeql.s
scmpeqlp.s
scmpleq.s
scmpleqp.s
scmplss.s
scmplssp.s
sfill.s
sloc.s
smove.s
smovem.s
strans.s
szero.s
- The six strcmp/cpy/len functions were obtained through Rich Peterson
on 25-Jan-1993.
strcmp.s
strcmp_.s
strcpy.s
strcpy_.s
strlen.s
strlen_.s
- For now, and in the interest of maintenance, we have left the source
files intact in spite of the fact that they don't follow conventions
of all other NT/Alpha assembler code.
- The following files had a non-ascii 0xa9 character instead of a (c)
in the copyright line. These have been fixed so slm works right.
scmpeql.s
scmpeqlp.s
scmpleq.s
scmpleqp.s
scmplss.s
scmplssp.s
sloc.s
strans.s
- The goal is to provide compatible C runtime support for both acc and
GEM compilers through the existing NT C libraries.
- Both compilers, header files, runtime libraries, and object files are
compatible with each other now, with these exceptions:
o The setjmp/longjmp functions are not compatible since the data in
the jump buffer differs between the two compilers. SEH is 100%
compatible, however.
o Calls to setjmp would actually work with acc even if setjmp.h was
not included. With GEM, the include file is required for proper
operation.
o As of 930205, small structures are still passed and returned by
value incompatibly between the two compilers. This will be fixed
by upgrading acc to follow the GEM calling standard, and/or by
using a GEM switch to be acc compatible.
o The above is not quite correct: as of 930217, GEM is using an option
to follow the acc convention, not the calling standard convention.
It looks like both acc and GEM will have options to handle small
structures both ways.
- The str functions will conflict with the portable versions in the
..\string directory. The portable ones should be #ifdef'ed out for
Alpha.
- The two or three different versions of divide routines may get
sorted out later when we have a chance to do better performance
work.
- A _OtsUnwindRfp was added to jmpuwind.s. This may not be used by GEM/C,
but will be used by GEM/Pascal.
930728
- _OtsUnwindRfp is permanent and is also used by C for gotos out of finally
handlers and by the GEM C specific handler function. All DLLs that exported
RtlUnwind now also export RtlUnwindRfp.
- Both compilers pass and return small structures in registers. This change
was made some months ago. The object file magic number was changed at the
same time to eliminate any calling standard mismatch.
- The contents of the jump buffer is not the same between the two compilers
but a jump buffer type field is set by setjmp and there is only one longjmp
function so there are now no interoperability problems between the two
compilers.
- A new set of OTS source files was obtained from Patsy Griffin on 1-Jun-1993.
The version number is V1.0. The only changes are in div.s (renamed otsdiv.s
for NT) and divdat.s. These implement a faster division algorithm, similar
to the one already used in fastdiv.s for acc.
tvb