[Coco] getenv bug in cgfx explanation

Willard Goosey goosey at virgo.sdc.org
Sat Dec 12 19:00:14 EST 2009


On Sat, Dec 12, 2009 at 10:45:06AM -0500, Gene Heskett wrote:

> Thank you very much Willard.  For those who would like a copy of his
> original email, I've placed it in the 3rdparty tree of the nitros9
> link on my web page, commented such that it should compile, as
> cgfx7-fix.c.
> 
You could grab the rest of the cgfx7 source from rtsi.  I posted the
entire "getenv.c" file since we don't seem to have diff.

I was simply not in the mode to try to recompile the entire library.
I just knew it wouldn't work for some reason.  And then I would have
had to shoot my CoCo. :-(

> As for your comment re there being 3 copies of the mouse in there, I would 
> suspect they are all identical, 

Nope, Point rdump -a at the library.  Sweet's source has three files
which all get turned into ROF modules named "mouse" :-(.  One holds
shadow(), one is _gs_mous() (and other fucntions) and the third is
mousexy().  The "lb" library splitter I found uses fopen(), which
clobbers already existing files.  (The one time I'm in favor of OS-9's
"noclobber" design...)

The source files shadow.a, mouse.a, and mousexy.a are all "psect
mouse". ;-) 

Here's the relevant bits from rdump...

Module name: mouse
TyLa/RvAt:   00/00
Asm valid:   Yes
Create date: Sep 23, 1990 11:19
Edition/ROF:  0/0
  Section    Init Uninit
   Code:     0057
     DP:       00   00
   Data:     0000 0000
  Stack:     0000
Entry point: 0000

1 global symbol defined:
    Shadow 0000 (04) to code


Module name: mouse
TyLa/RvAt:   00/00
Asm valid:   Yes
Create date: Sep 23, 1990 11:20
Edition/ROF:  0/0
  Section    Init Uninit
   Code:     0040
     DP:       00   00
   Data:     0000 0000
  Stack:     0000
Entry point: 0000

3 global symbols defined:
  _ss_msig 0022 (04) to code
  _gs_mous 002d (04) to code
  _ss_mous 0000 (04) to code


Module name: mouse
TyLa/RvAt:   00/00
Asm valid:   Yes
Create date: Sep 23, 1990 11:21
Edition/ROF:  0/0
  Section    Init Uninit
   Code:     0047
     DP:       00   00
   Data:     0000 0000
  Stack:     0028
Entry point: 0000

1 global symbol defined:
   MouseXY 0000 (04) to code


I really don't know if the linker needs to be changed, but I might
take a stab at making "lb" not clobber files if the library has
multiple objects with the same psect name.

Willard
-- 
Willard Goosey  goosey at sdc.org
Socorro, New Mexico, USA
I search my heart and find Cimmeria, land of Darkness and the Night.
  -- R.E. Howard



More information about the Coco mailing list