Help wanted: Problem with rtems-CVS-050130 build for ARM i.MX/MX1/csb336 board + GCC-3.4.3 BUG

Joel Sherrill <joel@OARcorp.com> joel.sherrill at OARcorp.com
Tue Feb 1 19:17:43 UTC 2005


Pavel Pisa wrote:
> Hello All,
> 
> please, help me with next bellow described problem
> with CVS RTEMS sources for i.MX/MX1/csb336 board.
> 
> =============================================================================================================================
> 
> Problems manifests by next error message
> 
> ...
> arm-rtems-gcc --pipe -B../../../../../../lib/ -B../../../../../../csb336/lib/ -specs bsp_specs -qrtems -isystem ../../../../../../csb336/lib/include  -DASM -mcpu=arm920 -mstructure-size-boundary=8  -O3  -c ../../../../../../../../rtems/c/src/lib/libcpu/arm/mc9328mxl/../../../libbsp/arm/shared/irq/irq_asm.S
> arm-rtems-gcc --pipe -B../../../../../../lib/ -B../../../../../../csb336/lib/ -specs bsp_specs -qrtems -Wall -mcpu=arm920 -mstructure-size-boundary=8  -O3   -o irq.rel -qnolinkcmds -nostdlib -Wl,-r irq/irq_rel-irq.o irq/irq_rel-bsp_irq_init.o ../../../libbsp/arm/shared/irq/irq_rel-irq_init.o irq/bsp_irq_asm.o ../../../libbsp/arm/shared/irq/irq_asm.o
> arm-rtems-gcc: irq/bsp_irq_asm.o: No such file or directory
> arm-rtems-gcc: ../../../libbsp/arm/shared/irq/irq_asm.o: No such file or directory
> gmake[6]: *** [irq.rel] Error 1
> gmake[6]: Leaving directory `/mnt/hda8/usr/src/rtems/arm-rtems/arm-rtems/c/csb336/lib/libcpu/arm/mc9328mxl'
> gmake[5]: *** [all-recursive] Error 1
> gmake[5]: Leaving directory `/mnt/hda8/usr/src/rtems/arm-rtems/arm-rtems/c/csb336/lib/libcpu/arm'
> gmake[4]: *** [all-recursive] Error 1
> gmake[4]: Leaving directory `/mnt/hda8/usr/src/rtems/arm-rtems/arm-rtems/c/csb336/lib/libcpu'
> gmake[3]: *** [all-recursive] Error 1
> gmake[3]: Leaving directory `/mnt/hda8/usr/src/rtems/arm-rtems/arm-rtems/c/csb336/lib'
> gmake[2]: *** [all-recursive] Error 1
> gmake[2]: Leaving directory `/mnt/hda8/usr/src/rtems/arm-rtems/arm-rtems/c/csb336'
> gmake[1]: *** [all-recursive] Error 1
> gmake[1]: Leaving directory `/mnt/hda8/usr/src/rtems/arm-rtems/arm-rtems/c'
> make: *** [all-recursive] Error 1

Well it compiles for me now from CVS but that doesn't address the next 
issue.

Ralf... some of the Makefile fragments he cites have
../../../libbsp/arm/shared while others have ../../arm/shared.
Any idea why?

The question of whether a BSP can use the shared or has to
have its own version of certain files is up to the BSP
developer.  The general answer is that the shared version
was not appropriate for that board.

> RTEMS are configured with next command
> 
> ../rtems/configure --target=arm-rtems --prefix=/opt/rtems \
>   --enable-rtems-inlines --disable-multiprocessing --enable-cxx \
>   --disable-rdbg --enable-maintainer-mode --disable-tests \
>   --enable-networking --enable-posix --enable-itron --disable-ada \
>   --disable-expada --disable-multilib --disable-docs \
>   --enable-rtemsbsp=csb336 
> 
> GCC-3.4.3 NEWLIB-1.13 binutils-2.15
> 
> I have investigated a little, which Makefile.a controls build of 
> "bsp_irq_asm.o" and "irq_asm.o" and I have found, that there are
> difference between ARM BSPs Makefile.am files. What is correct
> way and place to build "bsp_irq_asm.o" and "irq_asm.o".
> 
> c/src/lib/libcpu/arm/mc9328mxl/Makefile.am:
> noinst_PROGRAMS += irq.rel
> irq_rel_SOURCES = irq/irq.c irq/bsp_irq_init.c \
>     ../../../libbsp/arm/shared/irq/irq_init.c irq/bsp_irq_asm.S \
>     ../../../libbsp/arm/shared/irq/irq_asm.S irq/irq.h
> 
> 
> c/src/lib/libcpu/arm/at91rm9200/Makefile.am:
> noinst_PROGRAMS += irq.rel
> irq_rel_SOURCES = irq/irq.c irq/bsp_irq_init.c \
>     ../../../libbsp/arm/shared/irq/irq_init.c irq/bsp_irq_asm.S \
>     ../../../libbsp/arm/shared/irq/irq_asm.S irq/irq.h
> 
> c/src/lib/libbsp/arm/arm_bare_bsp/Makefile.am:
> noinst_PROGRAMS += irq.rel
> irq_rel_SOURCES = irq/irq.c ../../arm/shared/irq/irq_init.c \
>     irq/bsp_irq_init.c ../../arm/shared/irq/irq_asm.S irq/bsp_irq_asm.S \
>     irq/irq.h
> 
> c/src/lib/libbsp/arm/edb7312/Makefile.am:
> noinst_PROGRAMS += irq.rel
> irq_rel_SOURCES = irq/irq.c irq/bsp_irq_init.c \
>     ../../arm/shared/irq/irq_init.c irq/bsp_irq_asm.S \
>     ../../arm/shared/irq/irq_asm.S irq/irq.h
> 
> c/src/lib/libbsp/arm/vegaplus/Makefile.am:
> noinst_PROGRAMS += irq.rel
> irq_rel_SOURCES = irq/irq.c ../../arm/shared/irq/irq_init.c \
>     irq/bsp_irq_init.c ../../arm/shared/irq/irq_asm.S irq/bsp_irq_asm.S \
>     irq/irq.h
>
> =============================================================================================================================
> 
> There seems to be ICE bug present in all GCC-3.4.x, when used for ARM targets
> when building "librpc". 
> 
> cd arm-rtems/c/csb336/cpukit/librpc
> 
> if arm-rtems-gcc --pipe -DHAVE_CONFIG_H   -I.. -I../../cpukit/../../../csb336/lib/include -D_RPC_read=read -D_RPC_write=write -D_RPC_close=close -D_RTEMS_RPC_INTERNAL_  -Wall -fasm -mcpu=arm920 -mstructure-size-boundary=8  -O3 -MT src/rpc/librpc_a-clnt_tcp.o -MD -MP -MF "src/rpc/.deps/librpc_a-clnt_tcp.Tpo" -c -o src/rpc/librpc_a-clnt_tcp.o ../../../../../../rtems/c/src/../../cpukit/librpc/src/rpc/clnt_tcp.c; \
> then mv -f "src/rpc/.deps/librpc_a-clnt_tcp.Tpo" "src/rpc/.deps/librpc_a-clnt_tcp.Po"; else rm -f "src/rpc/.deps/librpc_a-clnt_tcp.Tpo"; exit 1; fi
> 
> ../../../../../../rtems/c/src/../../cpukit/librpc/src/rpc/clnt_tcp.c: In function `clnttcp_call':
> ../../../../../../rtems/c/src/../../cpukit/librpc/src/rpc/clnt_tcp.c:328: internal compiler error: in verify_local_live_at_start, at flow.c:546
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See <URL:http://gcc.gnu.org/bugs.html> for instructions.
> 
> Simple workaround is to build that file with -O2 instead of -O3.
> 
> I have already noticed that bug when I have been compiling my
> own sources. It seems to be present not only for ARM RTEMS GCC 3.4.x,
> but I have confirmed it even on ARM Linux GCC.
> I have reported this bug into GCC bugzilla already.
> 
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17810
> 
> Do you know, if it is present on GCC-4.0.0.

Works there

> The simplified test case can be obtained from GCC bugzilla.

I added Ralf and myself plus checked it on 3.4.3 and 3.2.3.

> Thanks for reply in advance

No problem.

>                 Pavel Pisa
> 
> ==================================================
>  PiKRON s.r.o.       Phone: +420 2 96781671
>  Kankovskeho 1235    Phone/Fax:   +420 2 84684676
>  182 00 Praha 8      WWW:   http://www.pikron.com/
>  Czech Republic      e-mail:  ppisa4lists at pikron.com
> ==================================================


-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel at OARcorp.com                 On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
    Support Available             (256) 722-9985




More information about the users mailing list