ld or gcc failing?

Mumit Khan khan@nanotech.wisc.EDU
Mon Sep 27 12:24:00 GMT 1999


Richard <hicklinr@mcd.alcatel.be> writes:
> I must ask: what is relocatable output actually for (that can't be provided b
> y
> archives)?
> (sorry: this is now off topic).

Incremental linking allows you to "partially" linked a set of object 
modules and then use that as the source to further linking. Even though 
it may seem to the same as a static archive of object files, it is however 
quite different than archives (which is what "ar" creates).

Here's a short snippet from linker docs:

`-r'
`--relocateable'
     Generate relocatable output--i.e., generate an output file that
     can in turn serve as input to `ld'.  This is often called "partial
     linking".  As a side effect, in environments that support standard
     Unix magic numbers, this option also sets the output file's magic
     number to `OMAGIC'.  If this option is not specified, an absolute
     file is produced.  When linking C++ programs, this option *will
     not* resolve references to constructors; to do that, use `-Ur'.

Essentially -r creates an executable of sorts that contains the relocation
information so that you can use it in subsequent linking. It also does not
lay out the common symbols, and does not complain if there are undefined
symbols during this relocatable link.

More confused yet ;-?

Regards,
Mumit



--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com



More information about the Cygwin mailing list