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 >&#13;LWLINK takes one or more files in supported input formats and links them 2451 >&#13;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