Mailinglist Archive: opensuse-packaging (162 mails)

< Previous Next >
Re: [opensuse-packaging] Library packaging question
  • From: Dave Plater <dplater@xxxxxxxxxxxxxxxx>
  • Date: Tue, 16 Feb 2010 15:52:30 +0200
  • Message-id: <4B7AA31E.9020302@xxxxxxxxxxxxxxxx>
On 02/16/2010 03:08 PM, Michael Matz wrote:
Hi,

On Tue, 16 Feb 2010, Dave Plater wrote:


That is because they are linker options, not gcc options. Try ld(1).


They don't have anything in the ld man page apart from references to
them in other options.

Um, I'm reading this:

-Bdynamic
-dy
-call_shared
Link against dynamic libraries. This is only meaningful on plat-
forms for which shared libraries are supported. This option is
normally the default on such platforms. The different variants of
this option are for compatibility with various systems. You may
use this option multiple times on the command line: it affects
library searching for -l options which follow it.
...
-Bstatic
-dn
-non_shared
-static
Do not link against shared libraries. This is only meaningful on
platforms for which shared libraries are supported. The different
variants of this option are for compatibility with various systems.
You may use this option multiple times on the command line: it
affects library searching for -l options which follow it. This
option also implies --unresolved-symbols=report-all. This option
can be used with -shared. Doing so means that a shared library is
being created but that all of the library's external references
must be resolved by pulling in entries from static libraries.


There isn't anything to state why they are different from for instance
-static.

In fact they aren't if used as linker options (which means using
-Wl,option if gcc is used for linking), hence
-Wl,-static ... -Wl,-call_shared
is completely the same as
-Wl,-Bstatic ... -Wl,-Bdynamic
All the above options always influence the following -l arguments, so
their behaviour depends on their position in the command line.

But, this is different from using -static as compiler option (i.e. without
the -Wl). That one will also internally select a different set of helper
libraries (libgcc/libgcc_s), and more importantly, it isn't position
dependend, and there's no opposite option (-shared is something completely
different, and there's no -Bdynamic equivalent as compiler option).


Ciao,
Michael.

Ok now I understand, all 3 and all 4 options share the same description.
I've archived this thread for future reference.
Thanks
Dave P
--
To unsubscribe, e-mail: opensuse-packaging+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-packaging+help@xxxxxxxxxxxx

< Previous Next >