[comp.sys.ncr] netnews on NCR 32/700?

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