jgd@rsiatl.UUCP (John G. De Armond) (04/07/90)
jessea@dynasys.UUCP (Jesse W. Asher) writes: >I'm trying to compile netnews on an NCR tower 32/700 and I'm having >a couple of problems. The first error message I get is: >Warning: Nested asm calls not now supported. This is an entirely bogus compiler message generated from constructs like the following: write(fd, string, strlen(string)); I've looked at the assembler output in these instances and have found the generated code to be correct. If you want to get rid of the message, you can use the following construct: int foo foo = strlen(string); write(fd, string, foo); This appears to be a problem on all NCR Tower 32's from the 450 on up. >ld: Symbol rmlock in libc.a is multiply defined. First defined in >elock.o. >I looked for rmlock outside of netnews and couldn't find any reference >to it. It's a function in elock.c, but other than that, I can't find the >problem area. I would appreciate any help I could get with these two >problems. Thanks in advance. I suspect that this is an NCR library extension to the file locking mechanism. I do not have my NCR man pages handy but I seem to remember seeing such a call documented. What you'd need to do is go into a header that is included in all the modules that use the news rmlock() call and define it to something different and then rename the actual function. Something like this should work: #define rmlock(s) news_rmlock(s) NCR seems to be real fond of such extensions. John -- John De Armond, WD4OQC | We can no more blame our loss of freedom on congress- Radiation Systems, Inc. | men than we can prostitution on pimps. Both simply Atlanta, Ga | provide broker services for their customers. emory!rsiatl!jgd | - Dr. W Williams | **I am the NRA**
haug@cc.Columbia.NCR.COM (04/07/90)
In article <132@dynasys.UUCP> jessea@dynasys.UUCP (Jesse W. Asher) writes: >I'm trying to compile netnews on an NCR tower 32/700 and I'm having >a couple of problems. The first error message I get is: > >Warning: Nested asm calls not now supported. > >The compile continues, but I was wondering if this will be a problem >when netnews is run, and if so, how can I get around it? This is a warning that indicates you can get better code performance by re-arranging the subroutine call to explicitly use sub expressions. Basicly, you will find that the statement in question consists of a string function which has another string function as an argument. Assembler coded versions of the string functions are provided in the file istring.h, which is automaticly included (see istring(4) and cc(1)). The compiler previously refused to an assembler function if it had as an argument another assembler function. The old error message was changed to a warning. There will be no problems if you get this warning message. >ld: Symbol rmlock in libc.a is multiply defined. First defined in >elock.o. > >I looked for rmlock outside of netnews and couldn't find any reference >to it. It's a function in elock.c, but other than that, I can't find the >problem area. I would appreciate any help I could get with these two >problems. Thanks in advance. This problem is due to the fact that there is a rmlock in dial.o in libc.a. Why you are reading in this module, I cannot tell you. You could extract the module from the library and see if it has any symbols defined that are used in news. You can use ar(1) to extract dial.o from /lib/libc.a or /usr/lib/fp/libc.a. nm(1) can be used to find out what symbols are defined in the module. Share and Enjoy! Brian P.S. Followups redirected to comp.sys.ncr