On Sat, 24 Apr 2004, Arkady V.Belousov wrote:

>
> ______________O\_/_________________________________\_/O______________
> /* MSC places uninitialized data into COMDEF records,
>    that end up in DATA segment. this can't be tolerated in INIT code.
> _____________________________________________________________________
>               O/~\                                 /~\O
>
> INITPATCH=..\utils\patchobj _DATA=IDATA DATA=ID BSS=ID DGROUP=I_GROUP CONST=IC
> ----------------------------------------^^^^^^^-^^^^^^
>
> May be, trouble with MSC in these namings?

No. These changes affect "static" BSS variables and are correct. That's
why static variables don't have to be explicitly zeroed for MSC.

Global BSS variables in MSC are like Fortran COMMON blocks. See also the
NASM documentation for COMMON. The linker gets to decide where they go
and patchobj can't do much about it (unless it would be a lot more
sophisticated and convert COMDEF records to the same kind of records
that Watcom and Borland C produce).

Bart



-------------------------------------------------------
This SF.net email is sponsored by: The Robotic Monkeys at ThinkGeek
For a limited time only, get FREE Ground shipping on all orders of $35
or more. Hurry up and shop folks, this offer expires April 30th!
http://www.thinkgeek.com/freeshipping/?cpg=12297
_______________________________________________
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel

Reply via email to