OLD | NEW |
1 ###################################### | 1 ###################################### |
2 Dynamic Linking and Loading with glibc | 2 Dynamic Linking and Loading with glibc |
3 ###################################### | 3 ###################################### |
4 | 4 |
5 .. contents:: | 5 .. contents:: |
6 :local: | 6 :local: |
7 :backlinks: none | 7 :backlinks: none |
8 :depth: 2 | 8 :depth: 2 |
9 | 9 |
10 Introduction | 10 Introduction |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
77 file and several libraries, which are on the order of 1.5MB). | 77 file and several libraries, which are on the order of 1.5MB). |
78 | 78 |
79 Native Client support for dynamic linking and loading is based on glibc. Thus, | 79 Native Client support for dynamic linking and loading is based on glibc. Thus, |
80 **if your Native Client application must dynamically link and load code (e.g., | 80 **if your Native Client application must dynamically link and load code (e.g., |
81 due to licensing considerations), we recommend that you use the glibc | 81 due to licensing considerations), we recommend that you use the glibc |
82 library.** | 82 library.** |
83 | 83 |
84 .. Note:: | 84 .. Note:: |
85 :class: note | 85 :class: note |
86 | 86 |
87 **Notes:** | 87 **Disclaimer:** |
88 | 88 |
89 * **None of the above constitutes legal advice, or a description of the legal | 89 * **None of the above constitutes legal advice, or a description of the legal |
90 obligations you need to fulfill in order to be compliant with the LGPL or | 90 obligations you need to fulfill in order to be compliant with the LGPL or |
91 newlib licenses. The above description is only a technical explanation of | 91 newlib licenses. The above description is only a technical explanation of |
92 the differences between newlib and glibc, and the choice you must make | 92 the differences between newlib and glibc, and the choice you must make |
93 between the two libraries.** | 93 between the two libraries.** |
94 | 94 |
| 95 |
| 96 |
| 97 .. Note:: |
| 98 :class: note |
| 99 |
| 100 **Notes:** |
| 101 |
95 * Static linking with glibc is rarely used. Use this feature with caution. | 102 * Static linking with glibc is rarely used. Use this feature with caution. |
96 | 103 |
97 * The standard C++ runtime in Native Client is provided by libstdc++; this | 104 * The standard C++ runtime in Native Client is provided by libstdc++; this |
98 library is independent from and layered on top of glibc. Because of | 105 library is independent from and layered on top of glibc. Because of |
99 licensing restrictions, libstdc++ must be statically linked for commercial | 106 licensing restrictions, libstdc++ must be statically linked for commercial |
100 uses, even if the rest of an application is dynamically linked. | 107 uses, even if the rest of an application is dynamically linked. |
101 | 108 |
102 SDK toolchains | 109 SDK toolchains |
103 -------------- | 110 -------------- |
104 | 111 |
(...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
424 **undefined reference to 'dlopen' collect2: ld returned 1 exit status** | 431 **undefined reference to 'dlopen' collect2: ld returned 1 exit status** |
425 This is a linker ordering problem that usually results from improper ordering | 432 This is a linker ordering problem that usually results from improper ordering |
426 of command line flags when linking. Reconfigure your command line string to | 433 of command line flags when linking. Reconfigure your command line string to |
427 list libraries after the -o flag. | 434 list libraries after the -o flag. |
428 | 435 |
429 .. |menu-icon| image:: /images/menu-icon.png | 436 .. |menu-icon| image:: /images/menu-icon.png |
430 .. _objdump: http://en.wikipedia.org/wiki/Objdump | 437 .. _objdump: http://en.wikipedia.org/wiki/Objdump |
431 .. _GLIBC: http://www.gnu.org/software/libc/index.html | 438 .. _GLIBC: http://www.gnu.org/software/libc/index.html |
432 .. _POSIX: http://en.wikipedia.org/wiki/POSIX | 439 .. _POSIX: http://en.wikipedia.org/wiki/POSIX |
433 .. _newlib: http://sourceware.org/newlib/ | 440 .. _newlib: http://sourceware.org/newlib/ |
OLD | NEW |