From b94c551e510364bdc37b056622bec72d138c6a13 Mon Sep 17 00:00:00 2001 From: Ian A Mason Date: Mon, 6 Aug 2018 09:59:07 -0700 Subject: [PATCH] Update tutorial-ubuntu-16.04.md --- examples/tutorial-ubuntu-16.04.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/examples/tutorial-ubuntu-16.04.md b/examples/tutorial-ubuntu-16.04.md index 820152a..c59693a 100644 --- a/examples/tutorial-ubuntu-16.04.md +++ b/examples/tutorial-ubuntu-16.04.md @@ -147,4 +147,12 @@ See [here](http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html) fo ``` -Wl,--export-dynamic ``` -incantation. +incantation. The salient point being +``` +"In some cases, the call to gcc to create the object file will also need to include the option +'-Wl,-export-dynamic'. Normally, the dynamic symbol table contains only symbols which +are used by a dynamic object. This option (when creating an ELF file) adds all symbols to the +dynamic symbol table (see ld(1) for more information). You need to use this option when there are +'reverse dependencies', i.e., a DL library has unresolved symbols that by convention must be +defined in the programs that intend to load these libraries." +```