svn commit: r40914 - head/en_US.ISO8859-1/books/faq

Eitan Adler eadler at FreeBSD.org
Fri Feb 8 13:20:52 UTC 2013


Author: eadler
Date: Fri Feb  8 13:20:51 2013
New Revision: 40914
URL: http://svnweb.freebsd.org/changeset/doc/40914

Log:
  Restore dlsym-failure as this question appears to still be an FAQ.
  
  Requested by:	kib
  Approved by:	bcr (mentor, implicit)

Modified:
  head/en_US.ISO8859-1/books/faq/book.xml

Modified: head/en_US.ISO8859-1/books/faq/book.xml
==============================================================================
--- head/en_US.ISO8859-1/books/faq/book.xml	Fri Feb  8 10:23:03 2013	(r40913)
+++ head/en_US.ISO8859-1/books/faq/book.xml	Fri Feb  8 13:20:51 2013	(r40914)
@@ -8325,6 +8325,27 @@ panic: page fault</programlisting>
       </qandaentry>
 
       <qandaentry>
+	<question id="dlsym-failure">
+	  <para>Why has <function>dlsym()</function> stopped working for
+	    ELF executables?</para>
+	</question>
+
+	<answer>
+	  <para>The ELF toolchain does not, by default, make the symbols
+	    defined in an executable visible to the dynamic linker.
+	    Consequently <function>dlsym()</function> searches on
+	    handles obtained from calls to <function>dlopen(NULL,
+	      flags)</function> will fail to find such symbols.</para>
+
+	  <para>If you want to search, using
+	    <function>dlsym()</function>, for symbols present in the
+	    main executable of a process, you need to link the
+	    executable using the <option>--export-dynamic</option>
+	    option to the ELF linker (&man.ld.1;).</para>
+	</answer>
+      </qandaentry>
+
+      <qandaentry>
 	<question id="change-kernel-address-space">
 	  <para>How can I increase or reduce the kernel address space on
 	    i386?</para>


More information about the svn-doc-all mailing list