[Fwd: Building PPC Ada cross compiler (cygwin) usung gcc 3.4.3]

Joel Sherrill <joel@OARcorp.com> joel.sherrill at OARcorp.com
Wed Feb 9 20:05:23 UTC 2005


Avy Strominger wrote:
> Hello all.
> 
> I'm trying to build a powerPC cross Ada compiler, using GCC 3.4.3.  
> during the gnatlib compilation (make -C gcc gnatlib), the build fails in 
> the following way (this is the rebuilt log, so there are 'target is up 
> to date messages for all targets that made it on the first time):
> 
>    make: Entering directory `/cygdrive/d/c-dev/tools/b-gcc/gcc'
>    make -C ada "BISON=bison" "BISONFLAGS=" "CFLAGS=-g -W -Wall
>    -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic
>    -Wno-long-long  " "LDFLAGS=" "FLEX=flex" "FLEXFLAGS=" "LN=ln"
>    "LN_S=ln -s" "MAKEINFO=makeinfo" "MAKEINFOFLAGS=--no-split"
>    "MAKEOVERRIDES=" "SHELL=/bin/sh" "exeext=.exe" "build_exeext=.exe"
>    "objext=.o" "exec_prefix=/usr/local" "prefix=/usr/local"
>    "local_prefix=/usr/local"
>    "gxx_include_dir=/usr/local/lib/gcc/powerpc-rtems/3.4.3/include/c++"
>    "build_tooldir=/usr/local/powerpc-rtems"
>    
> "gcc_tooldir=/usr/local/lib/gcc/powerpc-rtems/3.4.3/../../../../powerpc-rtems" 
> 
>    "bindir=/usr/local/bin"
>    "libexecsubdir=/usr/local/lib/gcc/powerpc-rtems/3.4.3"
>    "datadir=/usr/local/share" "localedir=/usr/local/share/locale"
>    "CC=gcc" "STAGE_PREFIX="  \
>       GNATLIBFLAGS="-W -Wall -gnatpg" \
>       GNATLIBCFLAGS="-g -O2" \
>       TARGET_LIBGCC2_CFLAGS="" \
>       THREAD_KIND="native" \
>       TRACE="no" \
>       gnatlib
>    make[1]: Entering directory `/cygdrive/d/c-dev/tools/b-gcc/gcc/ada'
>    make -C rts CC="../../xgcc -B../../" \
>            INCLUDES="-I. -I.. -I../..
>    -I/cygdrive/d/c-dev/tools/gcc-3.4.3/gcc/ada
>    -I/cygdrive/d/c-dev/tools/gcc-3.4.3/gcc/ada/../config
>    -I/cygdrive/d/c-dev/tools/gcc-3.4.3/gcc/ada/../../include
>    -I/cygdrive/d/c-dev/tools/gcc-3.4.3/gcc/ada/.. -I./../.." \
>                    CFLAGS="-g -O2  -fexceptions -DIN_RTS" \
>        srcdir=/cygdrive/d/c-dev/tools/gcc-3.4.3/gcc/ada \
>            -f ../Makefile adaint.o argv.o cio.o cstreams.o ctrl_c.o
>    errno.o exit.o raise.o sysdep.o aux-io.o init.o cal.o final.o
>    tracebak.o expect.o mkdir.o socket.o
>    make[2]: Entering directory `/cygdrive/d/c-dev/tools/b-gcc/gcc/ada/rts'
>    make[2]: `adaint.o' is up to date.
>    make[2]: `argv.o' is up to date.
>    make[2]: `cio.o' is up to date.
>    make[2]: `cstreams.o' is up to date.
>    make[2]: `ctrl_c.o' is up to date.
>    make[2]: `errno.o' is up to date.
>    make[2]: `exit.o' is up to date.
>    make[2]: `raise.o' is up to date.
>    make[2]: `sysdep.o' is up to date.
>    make[2]: `aux-io.o' is up to date.
>    make[2]: `init.o' is up to date.
>    make[2]: `cal.o' is up to date.
>    make[2]: `final.o' is up to date.
>    make[2]: `tracebak.o' is up to date.
>    make[2]: `expect.o' is up to date.
>    make[2]: `mkdir.o' is up to date.
>    make[2]: `socket.o' is up to date.
>    make[2]: Leaving directory `/cygdrive/d/c-dev/tools/b-gcc/gcc/ada/rts'
>    make -C rts CC="../../xgcc -B../../" \
>            ADA_INCLUDES="" \
>                    CFLAGS="-g -O2" \
>            ADAFLAGS="-W -Wall -gnatpg" \
>        srcdir=/cygdrive/d/c-dev/tools/gcc-3.4.3/gcc/ada \
>            -f ../Makefile \
>            a-caldel.o a-calend.o a-chahan.o a-charac.o a-chlat1.o
>    a-chlat9.o a-colien.o a-colire.o a-comlin.o a-cwila1.o a-cwila9.o
>    a-decima.o a-diocst.o a-direio.o a-einuoc.o a-elchha.o a-except.o
>    a-exctra.o a-filico.o a-finali.o a-flteio.o a-fwteio.o a-inteio.o
>    a-ioexce.o a-iwteio.o a-lfteio.o a-lfwtio.o a-liteio.o a-liwtio.o
>    a-llftio.o a-llfwti.o a-llitio.o a-lliwti.o a-ncelfu.o a-ngcefu.o
>    a-ngcoty.o a-ngelfu.o a-nlcefu.o a-nlcoty.o a-nlelfu.o a-nllcef.o
>    a-nllcty.o a-nllefu.o a-nscefu.o a-nscoty.o a-nselfu.o a-nucoty.o
>    a-nudira.o a-nuelfu.o a-nuflra.o a-numaux.o a-numeri.o a-sequio.o
>    a-sfteio.o a-sfwtio.o a-siocst.o a-siteio.o a-siwtio.o a-ssicst.o
>    a-ssitio.o a-ssiwti.o a-stmaco.o a-storio.o a-strbou.o a-stream.o
>    a-strfix.o a-string.o a-strmap.o a-strsea.o a-strsup.o a-strunb.o
>    a-ststio.o a-stunau.o a-stwibo.o a-stwifi.o a-stwima.o a-stwise.o
>    a-stwisu.o a-stwiun.o a-suteio.o a-swuwti.o a-swmwco.o a-tags.o
>    a-teioed.o a-textio.o a-ticoau.o a-ticoio.o a-tideau.o a-tideio.o
>    a-tienau.o a-tienio.o a-tifiio.o a-tiflau.o a-tiflio.o a-tigeau.o
>    a-tiinau.o a-tiinio.o a-timoau.o a-timoio.o a-tiocst.o a-titest.o
>    a-unccon.o a-uncdea.o a-witeio.o a-wtcoau.o a-wtcoio.o a-wtcstr.o
>    a-wtdeau.o a-wtdeio.o a-wtedit.o a-wtenau.o a-wtenio.o a-wtfiio.o
>    a-wtflau.o a-wtflio.o a-wtgeau.o a-wtinau.o a-wtinio.o a-wtmoau.o
>    a-wtmoio.o a-wttest.o ada.o calendar.o g-arrspl.o g-awk.o g-bubsor.o
>    g-busora.o g-busorg.o g-calend.o g-casuti.o g-catiio.o g-cgi.o
>    g-cgicoo.o g-cgideb.o g-comlin.o g-comver.o g-crc32.o g-ctrl_c.o
>    g-curexc.o g-debuti.o g-debpoo.o g-diopit.o g-dirope.o g-dyntab.o
>    g-except.o g-excact.o g-exctra.o g-expect.o g-flocon.o g-heasor.o
>    g-hesora.o g-hesorg.o g-htable.o g-io.o g-io_aux.o g-locfil.o
>    g-md5.o g-memdum.o g-moreex.o g-os_lib.o g-perhas.o g-pehage.o
>    g-regexp.o g-regpat.o g-sestin.o g-soccon.o g-socket.o g-socthi.o
>    g-soliop.o g-souinf.o g-speche.o g-spipat.o g-spitbo.o g-sptabo.o
>    g-sptain.o g-sptavs.o g-string.o g-strspl.o g-table.o g-tasloc.o
>    g-traceb.o g-wistsp.o gnat.o i-c.o i-cexten.o i-cobol.o i-cpoint.o
>    i-cpp.o i-cstrea.o i-cstrin.o i-fortra.o i-pacdec.o interfac.o
>    ioexcept.o machcode.o s-addima.o s-arit64.o s-assert.o s-atacco.o
>    s-auxdec.o s-bitops.o s-boarop.o s-carsi8.o s-carun8.o s-casi16.o
>    s-casi32.o s-casi64.o s-casuti.o s-caun16.o s-caun32.o s-caun64.o
>    s-chepoo.o s-crtl.o s-crc32.o s-direio.o s-errrep.o s-except.o
>    s-exctab.o s-exnint.o s-exnllf.o s-exnlli.o s-expint.o s-explli.o
>    s-expllu.o s-expmod.o s-expuns.o s-fatflt.o s-fatgen.o s-fatlfl.o
>    s-fatllf.o s-fatsfl.o s-ficobl.o s-fileio.o s-finimp.o s-finroo.o
>    s-fore.o s-geveop.o s-htable.o s-imgbiu.o s-imgboo.o s-imgcha.o
>    s-imgdec.o s-imgenu.o s-imgint.o s-imgllb.o s-imglld.o s-imglli.o
>    s-imgllu.o s-imgllw.o s-imgrea.o s-imguns.o s-imgwch.o s-imgwiu.o
>    s-io.o s-gloloc.o s-maccod.o s-mantis.o s-mastop.o s-osprim.o
>    s-pack03.o s-pack05.o s-pack06.o s-pack07.o s-pack09.o s-pack10.o
>    s-pack11.o s-pack12.o s-pack13.o s-pack14.o s-pack15.o s-pack17.o
>    s-pack18.o s-pack19.o s-pack20.o s-pack21.o s-pack22.o s-pack23.o
>    s-pack24.o s-pack25.o s-pack26.o s-pack27.o s-pack28.o s-pack29.o
>    s-pack30.o s-pack31.o s-pack33.o s-pack34.o s-pack35.o s-pack36.o
>    s-pack37.o s-pack38.o s-pack39.o s-pack40.o s-pack41.o s-pack42.o
>    s-pack43.o s-pack44.o s-pack45.o s-pack46.o s-pack47.o s-pack48.o
>    s-pack49.o s-pack50.o s-pack51.o s-pack52.o s-pack53.o s-pack54.o
>    s-pack55.o s-pack56.o s-pack57.o s-pack58.o s-pack59.o s-pack60.o
>    s-pack61.o s-pack62.o s-pack63.o s-parame.o s-parint.o s-pooglo.o
>    s-pooloc.o s-poosiz.o s-powtab.o s-purexc.o s-rident.o s-rpc.o
>    s-scaval.o s-secsta.o s-sequio.o s-shasto.o s-sopco3.o s-sopco4.o
>    s-sopco5.o s-stache.o s-stalib.o s-stoele.o s-stopoo.o s-stratt.o
>    s-strops.o s-soflin.o s-memory.o s-memcop.o s-traceb.o s-traces.o
>    s-traent.o s-unstyp.o s-vaflop.o s-valboo.o s-valcha.o s-valdec.o
>    s-valenu.o s-valint.o s-vallld.o s-vallli.o s-valllu.o s-valrea.o
>    s-valuns.o s-valuti.o s-valwch.o s-veboop.o s-vector.o s-vercon.o
>    s-vmexta.o s-wchcnv.o s-wchcon.o s-wchjis.o s-wchstw.o s-wchwts.o
>    s-widboo.o s-widcha.o s-widenu.o s-widlli.o s-widllu.o s-widwch.o
>    s-wwdcha.o s-wwdenu.o s-wwdwch.o system.o text_io.o  a-dynpri.o
>    a-interr.o a-intsig.o a-intnam.o a-reatim.o a-retide.o a-sytaco.o
>    a-tasatt.o a-taside.o g-boubuf.o g-boumai.o g-semaph.o g-signal.o
>    g-thread.o s-asthan.o s-inmaop.o s-interr.o s-intman.o s-osinte.o
>    s-proinf.o s-taenca.o s-taprob.o s-taprop.o s-tarest.o s-tasdeb.o
>    s-tasinf.o s-tasini.o s-taskin.o s-taspri.o s-tasque.o s-tasres.o
>    s-tasren.o s-tassta.o s-tasuti.o s-taasde.o s-tadeca.o s-tadert.o
>    s-tataat.o s-tpinop.o s-tpoben.o s-tpobop.o s-tposen.o s-tratas.o    
> g-trasym.o memtrack.o
>    make[2]: Entering directory `/cygdrive/d/c-dev/tools/b-gcc/gcc/ada/rts'
> 
>    ...  quite a long series of successful compilations ....
> 
>    ../../xgcc -B../../ -c -g -O2      -W -Wall -gnatpg  s-taprop.adb -o
>    s-taprop.o
>    s-taprop.adb:113:04: warning: "ATCB_Key" is never assigned a value
>    s-tpopsp.adb:59:07: warning: "Result" is never assigned a value
>    s-tpopsp.adb:79:07: warning: "Result" is never assigned a value
>    make[2]: *** [s-taprop.o] Error 1
>    make[2]: Leaving directory `/cygdrive/d/c-dev/tools/b-gcc/gcc/ada/rts'
>    make[1]: *** [gnatlib] Error 2
>    make[1]: Leaving directory `/cygdrive/d/c-dev/tools/b-gcc/gcc/ada'
>    make: *** [gnatlib] Error 2
>    make: Leaving directory `/cygdrive/d/c-dev/tools/b-gcc/gcc'
> 
> The warnings line numbers do not relate to any meaningful contents of 
> s-taprop.adb.  Also, there is no s-taprop.o, although these are only 
> warnings, not errors.  s-taprop.adb is actualy 7staprop.adb.
> Any Ideas?  Help?
> I've read the previous correspondance on the list, cyting 3.2.3 as the 
> last version of GCC that was able to successfuly build an Ada cross 
> compiler.  However, I do not have an 3.2.x native Ada compiler, and 
> trying to build gcc 3.2.3 with the 3.4.1 host compiler that I have 
> 'naturaly' fails (because of the known and dreaded Ada backward 
> incompatibility issue)

This is fixed in the 4.x source.  Search for "No_Key" in ada/*rtems*
and you will see how to get around this one.

Thanks to Arnaud for the tip. :)

There is an page on building gnat on the RTEMS Wiki.

With the 4.x source, the next issue is to get the RTS build to know 
where newlib is so you don't have to install C before attempting Ada.

> Thanks.
> Avy Strominger
> astrominger at yahoo.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