Re: ambiguity of ld manual regarding to -L option!!

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/20/2010 12:31 AM, ali hagigat wrote:
-L searchdir
--library-path=searchdir
The paths can also be specified in a link script with the SEARCH_DIR command.
Directories specified this way are searched at the point in which the
linker script
appears in the command line.
-----------------------------------------------------------------------------------------------
I have copied part of ld manual...
Can anyone give an example of how to specify a path for -L by a link script?
When we use -L , we add some paths for search of ld command to find
libraries and link scripts. But what does 'search at the point' mean?
When 'searchdir' is specified by a link script, those paths should be
considered for the whole session of ld, so why the position of link
script is important? and if it is important how those paths are
considered?
I guess you mean the gnu binutils ld manual. This isn't really about gcc, gcc typically uses whatever linker is usual for the platform. I think the "point" which is being made is that gnu ld searches .a ("archive") libraries only in the order in which they are specified on the command line (by -lyourlibrary), so that dependencies which come up later won't be resolved. Thus, it is usual to see all -l directives follow all source and .o file references. For re-scanning a group of .a files which contain circular dependencies, you pass the option from gcc by -Wl,--start-group first.a .... last.a -Wl,--end-group You really should begin by looking at working examples for your platform. A common error is in thinking that gnu ld, or even utilities based on it with the name "link," might behave the same as MSVC link or Solaris ld.

--
Tim Prince



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux