<p dir="ltr"><br>
On Apr 7, 2016 7:47 PM, "Chris Johns" <<a href="mailto:chrisj@rtems.org">chrisj@rtems.org</a>> wrote:<br>
><br>
> On 7/04/2016 11:20 PM, Peng Fan wrote:<br>
>><br>
>> Sorry. Missed to attach error info when compile tiff<br>
>><br>
>> Please kindly give comments on this.<br>
>><br>
><br>
> From the log ...<br>
><br>
> /home/Freenix/development/rtems/4.12/lib/gcc/arm-rtems4.12/6.0.0/../../../../arm-rtems4.12/bin/ld: warning: cannot find entry symbol _start; defaulting to 0000000000008000<br>
> /home/Freenix/development/rtems/4.12/lib/gcc/arm-rtems4.12/6.0.0/../../../../arm-rtems4.12/lib/libc.a(lib_a-fclose.o): In function `_fclose_r':<br>
> /home/Freenix/work/forfun/rtems/rtems-source-builder/rtems/build/arm-rtems4.12-gcc-6-20160124-newlib-2.3.0.20160104-x86_64-linux-gnu-1/build/arm-rtems4.12/newlib/libc/stdio/../../../../../gcc-6-20160124/newlib/libc/stdio/fclose.c:117: undefined reference to `_Mutex_recursive_Release'<br>
><br>
> This looks like a regression with RTEMS related to the addition of _Mutex_recursive_Release and friends.<br>
><br>
> RTEMS should link an executable without error because we need this working so configure link tests do not fail when they should not. In this case it is the an application 'mkg3states' that is being linked and this use to work<br>
><br>
> I think these symbols are related to changes in gcc and/or newlib.<br>
><br>
><br>
> I seem to remember a dummy.c file or something like that which had some symbols we needed so the link not fail like this.<br>
><br>
> I hope someone who knows what happens here can offer some advice.<br>
></p>
<p dir="ltr">I'll take that bait but disclaim that I am on a subway train and answering on my phone.</p>
<p dir="ltr">There are two tiers to this. The first is a dummy crt0.c in libc/sys/rtems. This is used by autoconf type probes when NOT building against a BSP. </p>
<p dir="ltr">The second tier is dummy.c in libmisc/dummy (I think). It is a default configuration and doesn't provide dummy symbols.</p>
<p dir="ltr">This case looks like the newlib dummy crt0.c is missing some symbols normally provided by RTEMS. There is probably more than one of the new mutex symbols missing.</p>
<p dir="ltr">I am not sure how to test this except to take a link against every symbol individually in the C library without RTEMS.</p>
<p dir="ltr">> Chris<br>
> _______________________________________________<br>
> users mailing list<br>
> <a href="mailto:users@rtems.org">users@rtems.org</a><br>
> <a href="http://lists.rtems.org/mailman/listinfo/users">http://lists.rtems.org/mailman/listinfo/users</a><br>
</p>