1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html>
3
4<head>
5<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
6<META http-equiv="Content-Style-Type" content="text/css">
7<LINK rel="stylesheet" type="text/css" href="../../CSS/revolution.css">
8<title>makerso.exe</title>
9</head>
10
11<body>
12
13<H1>makerso.exe</H1>
14
15<H2>Location</H2>
16<p><code>$REVOLUTION_SDK_ROOT/X86/bin/</code></p>
17
18<H2>Overview</H2>
19<p>
20Creates module files (<code>.sel, .rso</code>) from ELF files (<code>.elf, .plf</code>).
21</p>
22
23<H2>Description</H2>
24<p>
25Creates module files usable by relocatable modules from ELF files.
26</p>
27<p>
28Dynamic (relocatable) module information (<code>.rso</code>) will include code information, section information, export information (information to allow referencing from external modules), import information (information for referencing external modules), and internal referencing information.
29</p>
30<p>
31Static module information (<code>.sel</code>) will include dummy section information and export information.
32</p>
33<p>
34Distinction between static and dynamic will be made from information in the ELF file.
35</p>
36<P>The RSO file is large when it is made from a PLF file with debugging information. If you want a smaller file size make the RSO file from a PLF file with no debugging information (for example, built using <CODE>NDEBUG</CODE>).</P>
37<H2>Options</H2>
38<H3>-e &lt;Symbol List&gt;</H3>
39<p>
40This option removes all information other than the specified symbols, which are referenced when creating export information.<br>Only one symbol list may be specified.<br>When this option is omitted, the file includes all information.<br>
41</p>
42<H3>-a</H3>
43<p>
44This option makes the debug file position information an absolute path.<br>
45</p>
46<H3>@&lt;Response File&gt;</H3>
47<p>
48You can also configure and specify the arguments through a response file which lists the arguments.
49</p>
50<H2>Return Value</H2>
51<TABLE border="1">
52  <TBODY>
53    <TR>
54      <TD align=center width="20">0</TD>
55<TD width="400">Conversion successful.</TD>
56    </TR>
57    <TR>
58      <TD align=center width="20">1</TD>
59<TD width="400">An error that does not fall under the following errors.</TD>
60    </TR>
61    <TR>
62      <TD align=center width="20">2</TD>
63<TD width="400"><CODE>-a</CODE>: Conversion to absolute path by specification failed.</TD>
64    </TR>
65    <TR>
66      <TD align=center width="20">3</TD>
67<TD width="400">Reading of symbol list specified by <CODE>-e</CODE> failed.</TD>
68    </TR>
69    <TR>
70      <TD align=center width="20">4</TD>
71<TD width="400">Multiple symbol lists were specified.</TD>
72    <TR>
73      <TD align=center width="20">5</TD>
74<TD width="400">Symbol file name not specified after <CODE>-e</CODE>.</TD>
75    </TR>
76    <TR>
77      <TD align=center width="20">6</TD>
78<TD width="400">No ELF file specified.</TD>
79    </TR>
80    <TR>
81      <TD align=center width="20">7</TD>
82<TD width="400">ELF file read failed.</TD>
83    </TR>
84    <TR>
85      <TD align=center width="20">8</TD>
86<TD width="400">Unsupported ELF file.</TD>
87    </TR>
88    <TR>
89      <TD align=center width="20">9</TD>
90<TD width="400">Duplicate ELF file specified.</TD>
91    </TR>
92    <TR>
93      <TD align=center width="20">10</TD>
94<TD width="400">File output failed.</TD>
95    </TR>
96    <TR>
97      <TD align=center width="20">11</TD>
98<TD width="400">Unspecifiable option.</TD>
99    </TR>
100    <TR>
101      <TD align=center width="20">12</TD>
102<TD width="400">Too many arguments specified (2048 maximum).</TD>
103    </TR>
104    <TR>
105      <TD align=center width="20">13</TD>
106<TD width="400">Response file read failed.</TD>
107    </TR>
108     <TR>
109      <TD align=center width="20">14</TD>
110<TD width="400">Abnormally long filename specified.</TD>
111    </TR>
112    <TR>
113      <TD align=center width="20">15</TD>
114<TD width="400">Allocation of conversion memory failed.</TD>
115    </TR>
116    </TR>
117  </TBODY>
118</TABLE>
119<H2>Examples</H2>
120<p>
121This example creates a dynamic (relocatable) module file from the partially linked ELF files. <code>a.rso</code> will be generated.<br>
122</p>
123<p>
124When <code>symbol.lst</code> is specified, information for allowing referencing from external modules will be omitted.<br>Since the dynamic module symbol list cannot be auto-generated at this point, it must be manually created.<br>Register labels to be referenced from other modules in <code>symbol.lst</code>.
125</p>
126<TABLE border="1" width="95%">
127  <TBODY>
128    <TR>
129      <TD width="100%">
130      <PRE><CODE>
131% makerso.exe a.plf [-e symbol.lst]</CODE></PRE>
132      </TD>
133    </TR>
134  </TBODY>
135</TABLE>
136
137<p>
138Multiple files may be specified.<br>An <code>.rso</code> file is created for each specified file.<br>The <code>a.rso</code>, <code>b.rso</code>, and <code>c.rso</code> files are created in the following example:
139</p>
140<TABLE border="1" width="95%">
141  <TBODY>
142    <TR>
143      <TD width="100%">
144      <PRE><CODE>
145% makerso.exe a.plf b.plf c.plf [-e symbol.lst]</CODE></PRE>
146      </TD>
147    </TR>
148  </TBODY>
149</TABLE>
150<p>
151If using a response file (<code>response.txt</code>), do so as follows:
152</p>
153<TABLE border="1" width="95%">
154  <TBODY>
155    <TR>
156      <TD width="100%">
157      <PRE><CODE>
158% makerso.exe @response.txt </CODE></PRE>
159      </TD>
160    </TR>
161  </TBODY>
162</TABLE>
163<p>
164The <code>response.txt</code> example for the above case:<br>
165</p>
166<TABLE border="1" width="95%">
167  <TBODY>
168    <TR>
169      <TD width="100%">
170      <PRE><CODE>
171a.plf b.plf c.plf [-e symbol.lst]
172      </TD>
173    </TR>
174  </TBODY>
175</TABLE>
176<p>
177This example generates static module information from the static ELF file. <code>static.sel</code> will be generated.<br>
178</p>
179<p>
180Static module symbol list is generated using <code><a href="./makelcf.html">makelcf.exe</a></code> from all dynamic modules.<br>
181</p>
182<TABLE border="1" width="95%">
183  <TBODY>
184    <TR>
185      <TD width="100%">
186      <PRE><CODE>
187% makerso.exe static.elf -e symbol.lst
188</CODE></PRE>
189      </TD>
190    </TR>
191  </TBODY>
192</TABLE>
193
194<H2>See Also</H2>
195<p>
196<a href="./tools.html">Tool List</a>
197</p>
198
199<H2>Revision History</H2>
200<p>
2012009/07/21 Added an explanation about the size relationship between plf and rso.<br>
2022006/11/01 Added support for return values.<br>
2032006/10/27 Added support for response files.<br>
2042006/10/25 Added support for multiple files.<br>
2052006/06/14 Initial version.<br>
206</p>
207
208<hr><p>CONFIDENTIAL</p></body>
209</HTML>
210