🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

3 total messages Started by George J. Carrette Mon, 14 Dec 1992 15:02
Should /standard=xxxx affect link behavior?
#17
Author: George J. Carrette
Date: Mon, 14 Dec 1992 15:02
20 lines
998 bytes
Here is an interesting one, compiling a file with
the setting /STANDARD=RELAXED_ANSI89 vs /STANDARD=portable
has an effect on how the linker sees external references
the the DECC$SHR.EXE

eg. using SIOD 2.9 as available from various servers around the internet:

 $ cc /STANDARD=portable slib
 $ link/exe=siod.exe siod.obj,slib.obj,sliba.obj,trace.obj

 $ cc /STANDARD=RELAXED_ANSI89 slib
 $ link/exe=siod.exe siod.obj,slib.obj,sliba.obj,trace.obj
 %LINK-W-NUDFSYMS, 1 undefined symbol:
 %LINK-I-UDFSYM,         TIMES
 %LINK-W-USEUNDEF, undefined symbol TIMES referenced
         in psect $LINK$ offset %X00000040
         in module SLIB file USER$DISK:[GJC.SIOD]SLIB.OBJ;4


This is with DECC 1.3-002. 
Re: Should /standard=xxxx affect link behavior?
#19
Author: Pat Rankin
Date: Tue, 15 Dec 1992 01:53
21 lines
1534 bytes
In article <4052@mitech.com>, gjc@mitech.com (George J. Carrette) writes...
> Here is an interesting one, compiling a file with
> the setting /STANDARD=RELAXED_ANSI89 vs /STANDARD=portable
> has an effect on how the linker sees external references
> the the DECC$SHR.EXE

     No, not really.  It has an effect on whether or not the compiler
automatically attaches the "decc$" prefix to the external name.  Of course
that does indirectly affect linker behavior.

> %LINK-I-UDFSYM,         TIMES

     times() is not an ANSI standard function, so the compiler can not
usurp external identifier `times' from the user's namespace when it's
operating in ANSI mode.  DEC C is doing exactly the right thing here.
If you look through <time.h>, you'll see a comment telling you to use
/undefine="__HIDE_FORBIDDEN_NAMES" when compiling.  In the one I'm looking
at it says that that's needed for strict ANSI mode rather than relaxed.
It should apply to any mode which purports to be standard conforming.

		Pat Rankin, rankin@eql.caltech.edu
Re: Should /standard=xxxx affect link behavior?
#21
Author: George J. Carrette
Date: Tue, 15 Dec 1992 13:14
27 lines
1587 bytes
In article <14DEC199218530277@eql.caltech.edu>, rankin@eql.caltech.edu (Pat Rankin) writes:
>      times() is not an ANSI standard function, so the compiler can not
> usurp external identifier `times' from the user's namespace when it's
> operating in ANSI mode.  DEC C is doing exactly the right thing here.
> If you look through <time.h>, you'll see a comment telling you to use
> /undefine="__HIDE_FORBIDDEN_NAMES" when compiling.  In the one I'm looking
> at it says that that's needed for strict ANSI mode rather than relaxed.
> It should apply to any mode which purports to be standard conforming.
> 
> 		Pat Rankin, rankin@eql.caltech.edu

Mine says that too. But it turned out I also needed 
/PREFIX_LIBRARY_ENTRIES=ALL_ENTRIES

Sorting out all these compiler switches. Argh!

Really, my problem is that I didn't sit down and study this stuff.
I just let some guy at the DEC porting center "do it for me."
Obviously disadvantages to that.

For example, all of a sudden with the new C compiler (X1.3)
lots of things work that I was having trouble with before.

I'm stilling trying to track down how some of my files
seem to have NOMEMBER_ALIGNMENT turned on without my knowing it.

-gjc
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads