[comp.os.minix] Compiling problems, won't link

al@escom.com (Al Donaldson) (09/28/89)

In article <15214@bcsaic.UUCP>, paula@bcsaic.UUCP (Paul Allen) writes:
> While linking the kernel, asld complained
> about "_control multiple declared" in table.c.

I fixed the same problem by renaming "controller_busy" to "zcontroller_busy" 
so cc would generate a unique label.  (Its a dirty hack, I know..)
Only thing I can figure is that Marty's patches are with respect to 
1.3b, while you and I were trying to apply them to a 1.3d release.
A conflicting label must have been introduced (in table.s) between 
1.3b and 1.3d.

What I don't understand is why the "PRIVATE controller_busy" declaration
doesn't automatically restrict the scope or visibility of the label just 
to the wini compilation unit (wini.c).  Obviously, I'm missing something.

Although this is off the point of Paul's question, it does appear
that there are still people trying to integrate Marty's patches,
either to make the 6 MHz AT work properly or to fix other problems.
Last week I suggested to Andy Tanenbaum that Marty's patches should
become part of the next release, and Andy asked that I check with
Bruce Evans about it and also post a question to the network.  Bruce 
replied via mail that he has some changes for the controller_busy code,
so I figured things were under control and I didn't need to pollute
the net with any more comp.os.minix.at_wini questions.  

Anyway, it does appear that the at_wini situation is being cleaned up
for V1.4b.

Al Donaldson <al@escom.com>

HELMER%SDNET.BITNET@vm1.nodak.edu (Guy Helmer) (09/29/89)

>In article <15214@bcsaic.UUCP>, paula@bcsaic.UUCP (Paul Allen) writes:
>> While linking the kernel, asld complained
>> about "_control multiple declared" in table.c.
>
>I fixed the same problem by renaming "controller_busy" to "zcontroller_busy"
>so cc would generate a unique label.  (Its a dirty hack, I know..)
>
>What I don't understand is why the "PRIVATE controller_busy" declaration
>doesn't automatically restrict the scope or visibility of the label just
>to the wini compilation unit (wini.c).  Obviously, I'm missing something.
>
>Al Donaldson <al@escom.com>

The combined assembler/loader is the root of the problem.  asld "sees"
all of the symbols in all the modules at assembly time and ends up
paying no attention to PRIVATE or PUBLIC declarations.

-
-- Guy Helmer                                  AT&T: (605) 256-5315
   Dakota State University Computing Services        (605) 256-6411
   BITNET: HELMER@SDNET

paula@bcsaic.UUCP (Paul Allen) (10/03/89)

In article <491@escom.com> al@escom.com (Al Donaldson) writes:
  [ about trouble I had compiling Martin Leisner's "controller_busy"
    patches for at_wini.c ]
>Although this is off the point of Paul's question, it does appear
>that there are still people trying to integrate Marty's patches,
>either to make the 6 MHz AT work properly or to fix other problems.
>Last week I suggested to Andy Tanenbaum that Marty's patches should
>become part of the next release, and Andy asked that I check with
>Bruce Evans about it and also post a question to the network.  Bruce 
>replied via mail that he has some changes for the controller_busy code,
>so I figured things were under control and I didn't need to pollute
>the net with any more comp.os.minix.at_wini questions.  
>
>Anyway, it does appear that the at_wini situation is being cleaned up
>for V1.4b.

Here's one more data point:

My setup:

	25MHz 386
	DTC RLL controller (don't have model # handy)
	drive with 26 sectors, 5 heads, 1024 cylinders.
	Minix 1.1 with 1.3 upgrade from bugs.nosc.mil.

Configuration that caused me grief:

	Disk initially partitioned with DOS 3.30 fdisk.
	No disk-geometry changes made to Minix fdisk and fsck.
	No changes in at_wini.c.

Configuration that is currently working:

	Disk initially partitioned with DOS 3.10 fdisk.
	Fdisk and fsck patched for 26 sectors and 5 heads.
	No changes in at_wini.c.

I had *lots* of trouble when I was using the fdisk from DOS 3.30.
I fixed the Minix fdisk and switched to DOS 3.10 at the same time,
so I'm not sure if 3.30 was really part of the problem.  I now
have a 32Mb Minix partition that's been exercised pretty severely.
The stock 1.3d at_wini.c seems to be working fine for me.

Al, thanks for the suggestion to rename controller_busy.  I'll use
it if I need to re-apply Marty's patch before 1.4b appears.

Paul Allen

-- 
------------------------------------------------------------------------
Paul L. Allen                       | pallen@atc.boeing.com
Boeing Advanced Technology Center   | ...!uw-beaver!bcsaic!pallen