[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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



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@pikron.com
==================================================


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