<div dir="auto"><div style="font-family:calibri;font-size:14.6667px" dir="auto">Dear Sebastian Huber, Jonathan Brandmeyer and RTEMS community,</div><div style="font-family:calibri;font-size:14.6667px" dir="auto"> </div><div style="font-family:calibri;font-size:14.6667px" dir="auto">Thank you for your valuable inputs and suggestions to my problem with big-endian targets.</div><div style="font-family:calibri;font-size:14.6667px" dir="auto">I was able to resolve most of the issue by adding the CPU_FLAGS to linker as well.</div><div style="font-family:calibri;font-size:14.6667px" dir="auto"> </div><div style="font-family:calibri;font-size:14.6667px" dir="auto">Now I have a few new errors; <b>‘</b><b>compiled for a little endian system and target is big endian</b><b>’</b> which are just opposite of the previous ones.</div><div style="font-family:calibri;font-size:14.6667px" dir="auto"> </div><div style="font-family:calibri;font-size:14.6667px" dir="auto">The following are my console outputs:</div><div style="font-family:calibri;font-size:14.6667px" dir="auto"> </div><div style="font-family:calibri;font-size:14.6667px" dir="auto">/../../../../arm-rtems4.11/bin/ld: /opt/rtems/4.11/bin/../lib/gcc/arm-rtems4.11/4.9.3/libgcc.a(_aeabi_uldivmod.o): compiled for a little endian system and target is big endian</div><div style="font-family:calibri;font-size:14.6667px" dir="auto"> </div><div style="font-family:calibri;font-size:14.6667px" dir="auto">/../../../../arm-rtems4.11/bin/ld: failed to merge target specific data of file /opt/rtems/4.11/bin/../lib/gcc/arm-rtems4.11/4.9.3/libgcc.a(_aeabi_uldivmod.o)</div><div style="font-family:calibri;font-size:14.6667px" dir="auto"> </div><div style="font-family:calibri;font-size:14.6667px" dir="auto">/../../../../arm-rtems4.11/bin/ld: /opt/rtems/4.11/bin/../lib/gcc/arm-rtems4.11/4.9.3/libgcc.a(bpabi.o): compiled for a little endian system and target is big endian</div><div style="font-family:calibri;font-size:14.6667px" dir="auto"> </div><div style="font-family:calibri;font-size:14.6667px" dir="auto">/../../../../arm-rtems4.11/bin/ld: failed to merge target specific data of file /opt/rtems/4.11/bin/../lib/gcc/arm-rtems4.11/4.9.3/libgcc.a(bpabi.o)</div><div style="font-family:calibri;font-size:14.6667px" dir="auto"> </div><div style="font-family:calibri;font-size:14.6667px" dir="auto">/../../../../arm-rtems4.11/bin/ld: /opt/rtems/4.11/bin/../lib/gcc/arm-rtems4.11/4.9.3/libgcc.a(_dvmd_tls.o): compiled for a little endian system and target is big endian</div><div style="font-family:calibri;font-size:14.6667px" dir="auto"> </div><div style="font-family:calibri;font-size:14.6667px" dir="auto">/../../../../arm-rtems4.11/bin/ld: failed to merge target specific data of file /opt/rtems/4.11/bin/../lib/gcc/arm-rtems4.11/4.9.3/libgcc.a(_dvmd_tls.o)</div><div style="font-family:calibri;font-size:14.6667px" dir="auto"> </div><div style="font-family:calibri;font-size:14.6667px" dir="auto">/../../../../arm-rtems4.11/bin/ld: /opt/rtems/4.11/bin/../lib/gcc/arm-rtems4.11/4.9.3/libgcc.a(_divdi3.o): compiled for a little endian system and target is big endian</div><div style="font-family:calibri;font-size:14.6667px" dir="auto"> </div><div style="font-family:calibri;font-size:14.6667px" dir="auto">/../../../../arm-rtems4.11/bin/ld: failed to merge target specific data of file /opt/rtems/4.11/bin/../lib/gcc/arm-rtems4.11/4.9.3/libgcc.a(_divdi3.o)</div><div style="font-family:calibri;font-size:14.6667px" dir="auto"> </div><div style="font-family:calibri;font-size:14.6667px" dir="auto">/../../../../arm-rtems4.11/bin/ld: /opt/rtems/4.11/bin/../lib/gcc/arm-rtems4.11/4.9.3/libgcc.a(_udivdi3.o): compiled for a little endian system and target is big endian</div><div style="font-family:calibri;font-size:14.6667px" dir="auto"> </div><div style="font-family:calibri;font-size:14.6667px" dir="auto">/../../../../arm-rtems4.11/bin/ld: failed to merge target specific data of file /opt/rtems/4.11/bin/../lib/gcc/arm-rtems4.11/4.9.3/libgcc.a(_udivdi3.o)</div><div style="font-family:calibri;font-size:14.6667px" dir="auto"> </div><div style="font-family:calibri;font-size:14.6667px" dir="auto">/../../../../arm-rtems4.11/bin/ld: /opt/rtems/4.11/bin/../lib/gcc/arm-rtems4.11/4.9.3/libgcc.a(_clzdi2.o): compiled for a little endian system and target is big endian</div><div style="font-family:calibri;font-size:14.6667px" dir="auto"> </div><div style="font-family:calibri;font-size:14.6667px" dir="auto">/../../../../arm-rtems4.11/bin/ld: failed to merge target specific data of file /opt/rtems/4.11/bin/../lib/gcc/arm-rtems4.11/4.9.3/libgcc.a(_clzdi2.o)</div><div style="font-family:calibri;font-size:14.6667px" dir="auto"> </div><div style="font-family:calibri;font-size:14.6667px" dir="auto">/../../../../arm-rtems4.11/bin/ld: /opt/rtems/4.11/bin/../lib/gcc/arm-rtems4.11/4.9.3/libgcc.a(_clzsi2.o): compiled for a little endian system and target is big endian</div><div style="font-family:calibri;font-size:14.6667px" dir="auto"> </div><div style="font-family:calibri;font-size:14.6667px" dir="auto">/../../../../arm-rtems4.11/bin/ld: failed to merge target specific data of file /opt/rtems/4.11/bin/../lib/gcc/arm-rtems4.11/4.9.3/libgcc.a(_clzsi2.o)</div><div style="font-family:calibri;font-size:14.6667px" dir="auto"> </div><div style="font-family:calibri;font-size:14.6667px" dir="auto"><b>I have only used the RSB from RTEMS </b><b>to make the toolchain and all GCC files are from RTEMS only.</b><b></b></div><div style="font-family:calibri;font-size:14.6667px" dir="auto"> </div><div style="font-family:calibri;font-size:14.6667px" dir="auto">Can you help me resolve this issue?</div><div style="font-family:calibri;font-size:14.6667px" dir="auto">All similar issues I found on internet are related to GNU GCC compilers. That is why I am looking for a solution from here.</div><div style="font-family:calibri;font-size:14.6667px" dir="auto"> </div><div style="font-family:calibri;font-size:14.6667px" dir="auto">Thank you very much for your time and effort.</div><div style="font-family:calibri;font-size:14.6667px" dir="auto"> </div><div style="font-family:calibri;font-size:14.6667px" dir="auto">Best regards,</div><div style="font-family:calibri;font-size:14.6667px" dir="auto">Aby Tom</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Aug 2, 2019, 5:32 PM Jonathan Brandmeyer <<a href="mailto:jbrandmeyer@planetiq.com" target="_blank" rel="noreferrer">jbrandmeyer@planetiq.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Another tip: Be sure to pass the complete set of machine-control<br>
arguments to the linker as well as the compiler invocations.  Ie,<br>
`-mbig-endian` and kin need to be used as both LDFLAGS and CFLAGS.<br>
<br>
> [OP is passing arguments] -D__ARMEB__ -D__VFP_NOFP__ -mfpu=vfpv3-d16 -mfloat-abi=hard<br>
<br>
> [in order to achieve] This configuration is for ARM Cortex-R5F processor, floating-point disabled, and big-endian target.<br>
<br>
I don't think this does what you intend.  Don't pass the -D__<br>
arguments at all; just use the appropriate -m arguments.  If you<br>
really do want to disable the FPU, you'll want `-mfloat-abi=soft`.<br>
The arguments `-mfpu=vfpv3-d16 -mfloat-abi=hard` ask the compiler to<br>
emit floating-point instructions.<br>
<br>
See also <a href="https://gcc.gnu.org/onlinedocs/gcc-7.4.0/gcc/ARM-Options.html#ARM-Options" rel="noreferrer noreferrer noreferrer" target="_blank">https://gcc.gnu.org/onlinedocs/gcc-7.4.0/gcc/ARM-Options.html#ARM-Options</a><br>
<br>
HTH,<br>
-- <br>
Jonathan Brandmeyer<br>
_______________________________________________<br>
users mailing list<br>
<a href="mailto:users@rtems.org" rel="noreferrer noreferrer" target="_blank">users@rtems.org</a><br>
<a href="http://lists.rtems.org/mailman/listinfo/users" rel="noreferrer noreferrer noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/users</a><br>
</blockquote></div>