warren@ihnss.UUCP (Warren Montgomery) (07/25/84)
In a recent attempt to port something to an Amdahl unix clone, I came accross a couple of loader/compiler bugs, and would be interested in any information confirming this, and any information on fixes or writearounds. 1) If an external symbol is declared and initialized in one file (e.g. int foo=10), and referenced from another (extern foo), it appears that the two don't always meet. There are no warning messages, but references in the two files do not get the same value. This is a very serious problem to me, and I would like to know if my diagnosis is right, if so is it being fixed, and if not suggestions for getting around it. 2) If a bunch of global variables are declared in sequence, such as: int foo; char *bar; int frob; It seems that they are not necessarily allocated consecutive memory locations. (I know that you aren't supposed to depend on stuff like this, but it was puzzling, since this is true in all of the other strange implementations I have ported into.) This is a minor annoyance, but I would be interested in knowing why this happens. 3) Are there other quirks/bugs of this compiler/loader that I should be aware of? Please send any information to me: -- Warren Montgomery ihnss!warren IH (8-367) x2494