<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Wed, Nov 7, 2018 at 7:57 AM Sebastian Huber <<a href="mailto:sebastian.huber@embedded-brains.de">sebastian.huber@embedded-brains.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<br>
I noticed a problem with the latest v850 tool chain which uses <br>
-fdata-sections for Newlib:<br>
<br>
gmake[1]: Entering directory <br>
'/build/git-build/b-all-v850-5/v850-rtems5/c/v850e1sim/testsuites/samples'<br>
v850-rtems5-gcc  -mv850e1 -O2 -g -ffunction-sections -fdata-sections <br>
-Wall -Wmissing-prototypes -Wimplicit-function-declaration <br>
-Wstrict-prototypes -Wnested-externs -Wl,-Map,map.txt <br>
-B./../../lib/libbsp/v850/gdbv850sim <br>
-B/home/EB/sebastian_h/git-rtems-5/bsps/v850/gdbv850sim/start -specs <br>
bsp_specs -qrtems -L./../../cpukit <br>
-L/home/EB/sebastian_h/git-rtems-5/bsps/v850/shared/start <br>
-Wl,--wrap=printf -Wl,--wrap=puts -Wl,--wrap=putchar -Wl,--gc-sections <br>
-o base_sp.exe base_sp/base_sp-init.o base_sp/base_sp-apptask.o <br>
./../../lib/libbsp/v850/gdbv850sim/librtemsbsp.a <br>
./../../cpukit/librtemscpu.a<br>
/build/rtems/5/lib/gcc/v850-rtems5/7.3.0/../../../../v850-rtems5/bin/ld: <br>
/build/rtems/5/lib/gcc/v850-rtems5/7.3.0/../../../../v850-rtems5/lib/v850e/libc.a(lib_a-exit.o): <br>
in function `exit':<br>
/scratch/git-rtems-source-builder/rtems/build/v850-rtems5-gcc-7.3.0-newlib-08eab6396f678cf5e5968acaed0bae9fd129983b-x86_64-linux-gnu-1/build/v850-rtems5/v850e/newlib/libc/stdlib/../../../../../../gcc-7.3.0/newlib/libc/stdlib/exit.c:62:(.text.exit+0xe): <br>
relocation truncated to fit: R_V810_GPWLO_1 against symbol <br>
`_global_impure_ptr' defined in .rodata._global_impure_ptr section in <br>
/build/rtems/5/lib/gcc/v850-rtems5/7.3.0/../../../../v850-rtems5/lib/v850e/libc.a(lib_a-impure.o)<br>
/build/rtems/5/lib/gcc/v850-rtems5/7.3.0/../../../../v850-rtems5/bin/ld: <br>
/build/rtems/5/lib/gcc/v850-rtems5/7.3.0/../../../../v850-rtems5/lib/v850e/libc.a(lib_a-reent.o): <br>
in function `reclaim_reent':<br>
/scratch/git-rtems-source-builder/rtems/build/v850-rtems5-gcc-7.3.0-newlib-08eab6396f678cf5e5968acaed0bae9fd129983b-x86_64-linux-gnu-1/build/v850-rtems5/v850e/newlib/libc/reent/../../../../../../gcc-7.3.0/newlib/libc/reent/reent.c:46:(.text._reclaim_reent+0x6): <br>
relocation truncated to fit: R_V810_GPWLO_1 against symbol `_impure_ptr' <br>
defined in .data._impure_ptr section in <br>
/build/rtems/5/lib/gcc/v850-rtems5/7.3.0/../../../../v850-rtems5/lib/v850e/libc.a(lib_a-impure.o)<br>
collect2: error: ld returned 1 exit status<br>
gmake[1]: *** [Makefile:733: base_sp.exe] Error 1<br>
gmake[1]: Leaving directory <br>
'/build/git-build/b-all-v850-5/v850-rtems5/c/v850e1sim/testsuites/samples'<br>
<br>
I guess this is somehow related to this definition in Newlib:<br>
<br>
#ifdef __v850<br>
#define __ATTRIBUTE_IMPURE_PTR__ __attribute__((__sda__))<br>
#endif<br>
<br>
User of _global_impure_ptr thinks it is in the small-data area, but <br>
definition is elsewhere.<br></blockquote><div><br></div><div>The small data areas are usually finite resources. I don't like infrastructure putting </div><div>burden on it. Would it make sense to not put this is the sda for RTEMS?</div><div><br></div><div>--joel</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
-- <br>
Sebastian Huber, embedded brains GmbH<br>
<br>
Address : Dornierstr. 4, D-82178 Puchheim, Germany<br>
Phone   : +49 89 189 47 41-16<br>
Fax     : +49 89 189 47 41-09<br>
E-Mail  : <a href="mailto:sebastian.huber@embedded-brains.de" target="_blank">sebastian.huber@embedded-brains.de</a><br>
PGP     : Public key available on request.<br>
<br>
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.<br>
<br>
_______________________________________________<br>
devel mailing list<br>
<a href="mailto:devel@rtems.org" target="_blank">devel@rtems.org</a><br>
<a href="http://lists.rtems.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/devel</a></blockquote></div></div>