Re: Compiling with CC (179 Views)
Reply
Occasional Contributor
Donald Skidmore
Posts: 2
Registered: ‎12-10-2004
Message 1 of 4 (181 Views)

Compiling with CC

I am trying to compile on a HP-UX 10.20 with the CC compiler. I successfully compiled my program but failed with the link step. The error I got was unfound symbol $global(data) what is that? How do I get it resolved.

Thanks
Honored Contributor
Georg Tresselt
Posts: 2,668
Registered: ‎05-13-2002
Message 2 of 4 (181 Views)

Re: Compiling with CC

Could you post the entire error message? That might give us a hint here.
http://www.tresselt.eu
Trusted Contributor
Masatake Hanayama
Posts: 72
Registered: ‎12-23-1996
Message 3 of 4 (181 Views)

Re: Compiling with CC

Probably missing crt0.o. For example,

(fail)
$ ld myobj.o -lc
ld: Unsatisfied symbols:
$global$ (data)

(succeed)
$ ld myobj.o /opt/langtools/lib/crt0.o -lc

ld man page explains:

Code and data from shared libraries is never copied into an executable
program. The dynamic loader /usr/lib/dld.sl is invoked at startup
time by the startup file crt0.o if a program uses shared libraries.
Identical copies of crt0.o can be found in either /usr/ccs/lib/crt0.o
or /opt/langtools/lib/crt0.o.
Acclaimed Contributor
Dennis Handly
Posts: 25,071
Registered: ‎03-06-2006
Message 4 of 4 (179 Views)

Re: Compiling with CC

>Probably missing crt0.o.

 

That's correct.  That's why you should always link with the compiler driver.

The opinions expressed above are the personal opinions of the authors, not of HP. By using this site, you accept the Terms of Use and Rules of Participation.