Mercurial > hg > index.cgi
comparison docs/manual/manual.html @ 253:ed1009bce533
Document the "export" pragma
Add documentation for the "export" pragma. This was added in 4.7 but the
documentation for it was overlooked.
author | William Astle <lost@l-w.ca> |
---|---|
date | Sat, 26 Jan 2013 22:27:29 -0700 |
parents | 0bc1c88fe776 |
children | 155799f6cfa5 |
comparison
equal
deleted
inserted
replaced
252:201b2774cb0e | 253:ed1009bce533 |
---|---|
174 ></DT | 174 ></DT |
175 ></DL | 175 ></DL |
176 ></DD | 176 ></DD |
177 ><DT | 177 ><DT |
178 >4. <A | 178 >4. <A |
179 HREF="#AEN681" | 179 HREF="#AEN685" |
180 >LWLINK</A | 180 >LWLINK</A |
181 ></DT | 181 ></DT |
182 ><DD | 182 ><DD |
183 ><DL | 183 ><DL |
184 ><DT | 184 ><DT |
185 >4.1. <A | 185 >4.1. <A |
186 HREF="#AEN684" | 186 HREF="#AEN688" |
187 >Command Line Options</A | 187 >Command Line Options</A |
188 ></DT | 188 ></DT |
189 ><DT | 189 ><DT |
190 >4.2. <A | 190 >4.2. <A |
191 HREF="#AEN781" | 191 HREF="#AEN785" |
192 >Linker Operation</A | 192 >Linker Operation</A |
193 ></DT | 193 ></DT |
194 ><DT | 194 ><DT |
195 >4.3. <A | 195 >4.3. <A |
196 HREF="#AEN795" | 196 HREF="#AEN799" |
197 >Linking Scripts</A | 197 >Linking Scripts</A |
198 ></DT | 198 ></DT |
199 ><DT | 199 ><DT |
200 >4.4. <A | 200 >4.4. <A |
201 HREF="#AEN852" | 201 HREF="#AEN856" |
202 >Format Specific Linking Notes</A | 202 >Format Specific Linking Notes</A |
203 ></DT | 203 ></DT |
204 ><DD | 204 ><DD |
205 ><DL | 205 ><DL |
206 ><DT | 206 ><DT |
207 >4.4.1. <A | 207 >4.4.1. <A |
208 HREF="#AEN855" | 208 HREF="#AEN859" |
209 >OS9 Modules</A | 209 >OS9 Modules</A |
210 ></DT | 210 ></DT |
211 ></DL | 211 ></DL |
212 ></DD | 212 ></DD |
213 ></DL | 213 ></DL |
214 ></DD | 214 ></DD |
215 ><DT | 215 ><DT |
216 >5. <A | 216 >5. <A |
217 HREF="#AEN867" | 217 HREF="#AEN871" |
218 >Libraries and LWAR</A | 218 >Libraries and LWAR</A |
219 ></DT | 219 ></DT |
220 ><DD | 220 ><DD |
221 ><DL | 221 ><DL |
222 ><DT | 222 ><DT |
223 >5.1. <A | 223 >5.1. <A |
224 HREF="#AEN871" | 224 HREF="#AEN875" |
225 >Command Line Options</A | 225 >Command Line Options</A |
226 ></DT | 226 ></DT |
227 ></DL | 227 ></DL |
228 ></DD | 228 ></DD |
229 ><DT | 229 ><DT |
241 ><B | 241 ><B |
242 >List of Tables</B | 242 >List of Tables</B |
243 ></DT | 243 ></DT |
244 ><DT | 244 ><DT |
245 >6-1. <A | 245 >6-1. <A |
246 HREF="#AEN954" | 246 HREF="#AEN958" |
247 >Object File Term Types</A | 247 >Object File Term Types</A |
248 ></DT | 248 ></DT |
249 ><DT | 249 ><DT |
250 >6-2. <A | 250 >6-2. <A |
251 HREF="#AEN984" | 251 HREF="#AEN988" |
252 >Object File Operator Numbers</A | 252 >Object File Operator Numbers</A |
253 ></DT | 253 ></DT |
254 ></DL | 254 ></DL |
255 ></DIV | 255 ></DIV |
256 ><DIV | 256 ><DIV |
2099 >This pragma will often be specified on the command line for large projects. | 2099 >This pragma will often be specified on the command line for large projects. |
2100 However, depending on the specific dynamics of the project, it may be sufficient | 2100 However, depending on the specific dynamics of the project, it may be sufficient |
2101 for one or two files to use this pragma internally.</P | 2101 for one or two files to use this pragma internally.</P |
2102 ></DD | 2102 ></DD |
2103 ><DT | 2103 ><DT |
2104 >export</DT | |
2105 ><DD | |
2106 ><P | |
2107 >This pragma causes all symbols to be added to the export list | |
2108 automatically. This is useful when a large number of symbols need to be | |
2109 exported but you do not wish to include an EXPORT directive for all of them. | |
2110 This is often useful on the command line but might be useful even inline | |
2111 with the PRAGMA directive if a large number of symbols in a row are to be | |
2112 exported.</P | |
2113 ></DD | |
2114 ><DT | |
2104 >dollarlocal</DT | 2115 >dollarlocal</DT |
2105 ><DD | 2116 ><DD |
2106 ><P | 2117 ><P |
2107 >When set, a "$" in a symbol makes it local. When not set, "$" does not | 2118 >When set, a "$" in a symbol makes it local. When not set, "$" does not |
2108 cause a symbol to be local. It is set by default except when using the OS9 | 2119 cause a symbol to be local. It is set by default except when using the OS9 |
2223 ></DIV | 2234 ></DIV |
2224 ><DIV | 2235 ><DIV |
2225 CLASS="CHAPTER" | 2236 CLASS="CHAPTER" |
2226 ><HR><H1 | 2237 ><HR><H1 |
2227 ><A | 2238 ><A |
2228 NAME="AEN681" | 2239 NAME="AEN685" |
2229 ></A | 2240 ></A |
2230 >Chapter 4. LWLINK</H1 | 2241 >Chapter 4. LWLINK</H1 |
2231 ><P | 2242 ><P |
2232 >The LWTOOLS linker is called LWLINK. This chapter documents the various features | 2243 >The LWTOOLS linker is called LWLINK. This chapter documents the various features |
2233 of the linker.</P | 2244 of the linker.</P |
2234 ><DIV | 2245 ><DIV |
2235 CLASS="SECTION" | 2246 CLASS="SECTION" |
2236 ><HR><H2 | 2247 ><HR><H2 |
2237 CLASS="SECTION" | 2248 CLASS="SECTION" |
2238 ><A | 2249 ><A |
2239 NAME="AEN684" | 2250 NAME="AEN688" |
2240 >4.1. Command Line Options</A | 2251 >4.1. Command Line Options</A |
2241 ></H2 | 2252 ></H2 |
2242 ><P | 2253 ><P |
2243 >The binary for LWLINK is called "lwlink". Note that the binary is in lower | 2254 >The binary for LWLINK is called "lwlink". Note that the binary is in lower |
2244 case. lwlink takes the following command line arguments.</P | 2255 case. lwlink takes the following command line arguments.</P |
2431 ><DIV | 2442 ><DIV |
2432 CLASS="SECTION" | 2443 CLASS="SECTION" |
2433 ><HR><H2 | 2444 ><HR><H2 |
2434 CLASS="SECTION" | 2445 CLASS="SECTION" |
2435 ><A | 2446 ><A |
2436 NAME="AEN781" | 2447 NAME="AEN785" |
2437 >4.2. Linker Operation</A | 2448 >4.2. Linker Operation</A |
2438 ></H2 | 2449 ></H2 |
2439 ><P | 2450 ><P |
2440 > LWLINK takes one or more files in supported input formats and links them | 2451 > LWLINK takes one or more files in supported input formats and links them |
2441 into a single binary. Currently supported formats are the LWTOOLS object | 2452 into a single binary. Currently supported formats are the LWTOOLS object |
2487 ><DIV | 2498 ><DIV |
2488 CLASS="SECTION" | 2499 CLASS="SECTION" |
2489 ><HR><H2 | 2500 ><HR><H2 |
2490 CLASS="SECTION" | 2501 CLASS="SECTION" |
2491 ><A | 2502 ><A |
2492 NAME="AEN795" | 2503 NAME="AEN799" |
2493 >4.3. Linking Scripts</A | 2504 >4.3. Linking Scripts</A |
2494 ></H2 | 2505 ></H2 |
2495 ><P | 2506 ><P |
2496 >A linker script is used to instruct the linker about how to assemble the | 2507 >A linker script is used to instruct the linker about how to assemble the |
2497 various sections into a completed binary. It consists of a series of | 2508 various sections into a completed binary. It consists of a series of |
2665 ><DIV | 2676 ><DIV |
2666 CLASS="SECTION" | 2677 CLASS="SECTION" |
2667 ><HR><H2 | 2678 ><HR><H2 |
2668 CLASS="SECTION" | 2679 CLASS="SECTION" |
2669 ><A | 2680 ><A |
2670 NAME="AEN852" | 2681 NAME="AEN856" |
2671 >4.4. Format Specific Linking Notes</A | 2682 >4.4. Format Specific Linking Notes</A |
2672 ></H2 | 2683 ></H2 |
2673 ><P | 2684 ><P |
2674 >Some formats require special information to be able to generate actual | 2685 >Some formats require special information to be able to generate actual |
2675 binaries. If the specific format you are interested in is not listed in | 2686 binaries. If the specific format you are interested in is not listed in |
2678 ><DIV | 2689 ><DIV |
2679 CLASS="SECTION" | 2690 CLASS="SECTION" |
2680 ><HR><H3 | 2691 ><HR><H3 |
2681 CLASS="SECTION" | 2692 CLASS="SECTION" |
2682 ><A | 2693 ><A |
2683 NAME="AEN855" | 2694 NAME="AEN859" |
2684 >4.4.1. OS9 Modules</A | 2695 >4.4.1. OS9 Modules</A |
2685 ></H3 | 2696 ></H3 |
2686 ><P | 2697 ><P |
2687 >OS9 modules need to embed several items into the module header. These | 2698 >OS9 modules need to embed several items into the module header. These |
2688 items are the type of module, the langauge of the module, the module | 2699 items are the type of module, the langauge of the module, the module |
2754 ></DIV | 2765 ></DIV |
2755 ><DIV | 2766 ><DIV |
2756 CLASS="CHAPTER" | 2767 CLASS="CHAPTER" |
2757 ><HR><H1 | 2768 ><HR><H1 |
2758 ><A | 2769 ><A |
2759 NAME="AEN867" | 2770 NAME="AEN871" |
2760 ></A | 2771 ></A |
2761 >Chapter 5. Libraries and LWAR</H1 | 2772 >Chapter 5. Libraries and LWAR</H1 |
2762 ><P | 2773 ><P |
2763 >LWTOOLS also includes a tool for managing libraries. These are analogous to | 2774 >LWTOOLS also includes a tool for managing libraries. These are analogous to |
2764 the static libraries created with the "ar" tool on POSIX systems. Each library | 2775 the static libraries created with the "ar" tool on POSIX systems. Each library |
2773 ><DIV | 2784 ><DIV |
2774 CLASS="SECTION" | 2785 CLASS="SECTION" |
2775 ><HR><H2 | 2786 ><HR><H2 |
2776 CLASS="SECTION" | 2787 CLASS="SECTION" |
2777 ><A | 2788 ><A |
2778 NAME="AEN871" | 2789 NAME="AEN875" |
2779 >5.1. Command Line Options</A | 2790 >5.1. Command Line Options</A |
2780 ></H2 | 2791 ></H2 |
2781 ><P | 2792 ><P |
2782 >The binary for LWAR is called "lwar". Note that the binary is in lower | 2793 >The binary for LWAR is called "lwar". Note that the binary is in lower |
2783 case. The options lwar understands are listed below. For archive manipulation | 2794 case. The options lwar understands are listed below. For archive manipulation |
2974 followed by any data required by the term. Then end of the list is flagged | 2985 followed by any data required by the term. Then end of the list is flagged |
2975 by a NULL expression (only an end of expression term).</P | 2986 by a NULL expression (only an end of expression term).</P |
2976 ><DIV | 2987 ><DIV |
2977 CLASS="TABLE" | 2988 CLASS="TABLE" |
2978 ><A | 2989 ><A |
2979 NAME="AEN954" | 2990 NAME="AEN958" |
2980 ></A | 2991 ></A |
2981 ><P | 2992 ><P |
2982 ><B | 2993 ><B |
2983 >Table 6-1. Object File Term Types</B | 2994 >Table 6-1. Object File Term Types</B |
2984 ></P | 2995 ></P |
3046 allows local symbols that are not exported to have the same names as | 3057 allows local symbols that are not exported to have the same names as |
3047 exported symbols or external references.</P | 3058 exported symbols or external references.</P |
3048 ><DIV | 3059 ><DIV |
3049 CLASS="TABLE" | 3060 CLASS="TABLE" |
3050 ><A | 3061 ><A |
3051 NAME="AEN984" | 3062 NAME="AEN988" |
3052 ></A | 3063 ></A |
3053 ><P | 3064 ><P |
3054 ><B | 3065 ><B |
3055 >Table 6-2. Object File Operator Numbers</B | 3066 >Table 6-2. Object File Operator Numbers</B |
3056 ></P | 3067 ></P |