| Index: native_client_sdk/doc_generated/devguide/devcycle/dynamic-loading.html
|
| diff --git a/native_client_sdk/doc_generated/devguide/devcycle/dynamic-loading.html b/native_client_sdk/doc_generated/devguide/devcycle/dynamic-loading.html
|
| index 8cad9b62a6002ef1cbc070a0bd85c6a69dcc61d0..7de0c6ca36cb4c86d255a6e27905a338b68b4857 100644
|
| --- a/native_client_sdk/doc_generated/devguide/devcycle/dynamic-loading.html
|
| +++ b/native_client_sdk/doc_generated/devguide/devcycle/dynamic-loading.html
|
| @@ -18,8 +18,7 @@
|
| <li><a class="reference internal" href="#troubleshooting" id="id9">Troubleshooting</a></li>
|
| </ul>
|
|
|
| -</div><section id="introduction">
|
| -<h2 id="introduction">Introduction</h2>
|
| +</div><h2 id="introduction">Introduction</h2>
|
| <aside class="caution">
|
| Portable Native Client currently only supports static linking, and the
|
| only C library available for it is newlib. This page is only valid for
|
| @@ -29,8 +28,7 @@ dynamic linking.
|
| <p>This document describes how to create and deploy dynamically linked and loaded
|
| applications with the glibc library in the Native Client SDK. Before reading
|
| this document, we recommend reading <a class="reference internal" href="/native-client/devguide/devcycle/building.html"><em>Building Native Client Modules</em></a></p>
|
| -<section id="c-standard-libraries-glibc-and-newlib">
|
| -<span id="c-libraries"></span><h3 id="c-standard-libraries-glibc-and-newlib"><span id="c-libraries"></span>C standard libraries: glibc and newlib</h3>
|
| +<h3 id="c-standard-libraries-glibc-and-newlib"><span id="c-libraries"></span>C standard libraries: glibc and newlib</h3>
|
| <p>The Native Client SDK comes with two C standard libraries — glibc and
|
| newlib. These libraries are described in the table below.</p>
|
| <table border="1" class="docutils">
|
| @@ -123,7 +121,6 @@ uses, even if the rest of an application is dynamically linked.</li>
|
| </ul>
|
|
|
| </aside>
|
| -</section><section id="sdk-toolchains">
|
| <h3 id="sdk-toolchains">SDK toolchains</h3>
|
| <p>The Native Client SDK contains multiple toolchains, which are differentiated by
|
| <a class="reference internal" href="/native-client/devguide/devcycle/building.html#target-architectures"><em>target architecture</em></a> and C library:</p>
|
| @@ -165,7 +162,6 @@ toolchain that uses glibc is in <code>toolchain/win_x86_glibc</code>.</p>
|
| use a glibc toolchain. (Currently the only glibc toolchain is
|
| <code><platform>_x86_glibc</code>.) Note that you must build all code in your application
|
| with one toolchain. Code from multiple toolchains cannot be mixed.</p>
|
| -</section><section id="specifying-and-delivering-shared-libraries">
|
| <h3 id="specifying-and-delivering-shared-libraries">Specifying and delivering shared libraries</h3>
|
| <p>One significant difference between newlib and glibc applications is that glibc
|
| applications must explicitly list and deploy the shared libraries that they
|
| @@ -186,7 +182,6 @@ those libraries in a Native Client <a class="reference internal" href="/native-c
|
| deploy the libraries along with the application. Instructions for how to build
|
| a dynamically linked Native Client application, generate a Native Client
|
| manifest (.nmf) file, and deploy an application are provided below.</p>
|
| -</section></section><section id="building-a-dynamically-linked-application">
|
| <h2 id="building-a-dynamically-linked-application">Building a dynamically linked application</h2>
|
| <p>Applications built with the glibc toolchain will by dynamically linked by
|
| default. Application that load shared libraries at runtime using <code>dlopen()</code>
|
| @@ -234,8 +229,7 @@ as that is currently the only toolchain that supports glibc and thus dynamic
|
| linking and loading. Take a look at the example Makefiles and the generated
|
| .nmf files for details on how to build dynamically linked applications.
|
| </aside>
|
| -</section><section id="generating-a-native-client-manifest-file-for-a-dynamically-linked-application">
|
| -<span id="dynamic-loading-manifest"></span><h2 id="generating-a-native-client-manifest-file-for-a-dynamically-linked-application"><span id="dynamic-loading-manifest"></span>Generating a Native Client manifest file for a dynamically linked application</h2>
|
| +<h2 id="generating-a-native-client-manifest-file-for-a-dynamically-linked-application"><span id="dynamic-loading-manifest"></span>Generating a Native Client manifest file for a dynamically linked application</h2>
|
| <p>The Native Client manifest file specifies the name of the executable to run
|
| and must also specify any shared libraries that the application directly
|
| depends on. For indirect dependencies (such as libraries opened via
|
| @@ -312,7 +306,6 @@ intend to dlopen() at runtime you must explcitly list them in your call to
|
| </aside>
|
| <p>As an alternative to using <code>create_nmf</code>, it is possible to manually calculate
|
| the list of shared library dependencies using tools such as <code>objdump_</code>.</p>
|
| -</section><section id="deploying-a-dynamically-linked-application">
|
| <h2 id="deploying-a-dynamically-linked-application">Deploying a dynamically linked application</h2>
|
| <p>As described above, an application’s manifest file must explicitly list all the
|
| executable code modules that the application directly depends on, including
|
| @@ -344,7 +337,6 @@ rename modules, it may be easier to re-run <code>create_nmf.py</code> to generat
|
| manifest file rather than edit the original manifest file. For hosted
|
| applications, you can check for name mismatches during testing by watching the
|
| request log of the web server hosting your test deployment.</p>
|
| -</section><section id="opening-a-shared-library-at-runtime">
|
| <h2 id="opening-a-shared-library-at-runtime">Opening a shared library at runtime</h2>
|
| <p>Native Client supports a version of the POSIX standard <code>dlopen()</code> interface
|
| for opening libraries explicitly, after an application is already running.
|
| @@ -382,7 +374,6 @@ functions using <code>dlsym()</code>. When a user types in a query and clicks th
|
| button, the module calls <code>Magic8Ball()</code> to generate an answer, and returns
|
| the result to the user. Likewise when the user clicks the ‘Reverse’ button
|
| it calls the <code>Reverse()</code> function to reverse the string.</p>
|
| -</section><section id="troubleshooting">
|
| <h2 id="troubleshooting">Troubleshooting</h2>
|
| <p>If your .nexe isn’t loading, the best place to look for information that can
|
| help you troubleshoot the JavaScript console and standard output from Chrome.
|
| @@ -419,6 +410,6 @@ expected library is missing.</dd>
|
| of command line flags when linking. Reconfigure your command line string to
|
| list libraries after the -o flag.</dd>
|
| </dl>
|
| -</section></section>
|
| +</section>
|
|
|
| {{/partials.standard_nacl_article}}
|
|
|