<br><font size=2 face="sans-serif">Hello,</font><br><br><font size=2 face="sans-serif">some builds of the example hello_world
application causes a data abort in app_startup().</font><br><font size=2 face="sans-serif">This seems to be caused by an unligned
memory access to __bss_start (stubs.c):</font><br><br><font size=2 face="sans-serif"> </font><br><font size=2 face="sans-serif"> 173 extern unsigned long __bss_start,
_end;</font><br><font size=2 face="sans-serif"> 174</font><br><font size=2 face="sans-serif"> 175 void app_startup(char **argv)</font><br><font size=2 face="sans-serif"> 176 {</font><br><font size=2 face="sans-serif"> 177
unsigned long * cp = &__bss_start;</font><br><font size=2 face="sans-serif"> 178 </font><br><font size=2 face="sans-serif"> 179
/* Zero out BSS */</font><br><font size=2 face="sans-serif"> 180
while (cp < &_end) {</font><br><font size=2 face="sans-serif"> 181
*cp++ = 0;</font><br><font size=2 face="sans-serif"> 182
}</font><br><font size=2 face="sans-serif"> 183 </font><br><font size=2 face="sans-serif"> 189 }</font><br><br><font size=2 face="sans-serif">There's no explicit linker script for
ARM platform. The implicit default script seems not to</font><br><font size=2 face="sans-serif">aling __bss_start to a multiple of 4
(required for unsigned long access). (gcc-3.3.5)</font><br><br><font size=2 face="sans-serif">Solution 1:</font><br><font size=2 face="sans-serif">The data type could be changed to "unsigned
char". This may drop some performance,</font><br><font size=2 face="sans-serif">if really large amounts of uninitialised
data used.</font><br><br><font size=2 face="sans-serif">Unfortunately I don't know whether this
will work on all platforms.</font><br><br><font size=2 face="sans-serif">Solution 2:</font><br><font size=2 face="sans-serif">Create a suitable linker file. I've
attached a slightly modified "default" script generated</font><br><font size=2 face="sans-serif">ld --verbose. Perhaps this file might
be more complex then necessary or may not run</font><br><font size=2 face="sans-serif">on different gcc versions. Unfortunately
I'dont know how to create a more "minimalistic"</font><br><font size=2 face="sans-serif">file.</font><br><br><font size=2 face="sans-serif">regards</font><br><br><font size=2 face="sans-serif">-- <br>Christian Eggers<br>Dipl. Ing. (FH)<br>Development Software<br>Mobile Communication Networks, EMA<br><br>KATHREIN-Werke KG<br>Anton-Kathrein-Straße 1-3<br>P.O. Box 100 444<br>83004 Rosenheim, Germany<br><br>Tel.: +49 8031 184-5857<br>Fax: +49 8031 184-951<br><br>E-Mail: christian.eggers@kathrein.de<br>Internet: http://www.kathrein.de<br><br></font>KATHREIN-Werke KG<BR>
Anton-Kathrein-Straße 1-3<BR>
P.O. Box 100 444<BR>
83004 Rosenheim, Germany<BR>
<BR>
Registergericht: Amtsgericht Traunstein, HRA 460<BR>
Geschäftsführender persönlich haftender Gesellschafter Prof. Dr. Dr. h.c. Anton Kathrein, Dipl.-Betriebswirt<BR>
Erfüllungsort und Gerichtsstand: Rosenheim<BR>
<BR>
Register court: local court Traunstein, certificate of registration no. 460<BR>
Personally liable managing partner Prof. Dr. Dr. h.c. Anton Kathrein, Dipl.-Betriebswirt (MBA-equivalent)<BR>
Place of performance and place of jurisdiction: Rosenheim<BR>
<BR>
This e-mail is confidential and may contain privileged information. If you have received this communication in error, please notify us immediately by responding to this email and then delete it from your system. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. We believe but do not warrant that this e-mail and any attachments are virus free. You must therefore take full responsibility for virus checking.<BR>