[gccsdk] OSLib cross-build fail

Theo Markettos theo at markettos.org.uk
Mon Nov 28 15:58:29 PST 2011


I'm trying to build OSLib with the autobuilder using a GCCSDK checked out a
few days ago from trunk, and getting some errors.  Looks like defmod isn't
doing the right thing somehow.  Log below... the problem is with this line:

/auto/homes/atm26/gccsdk/git/autobuilder/oslib/!OSLib/Source/../Bin/defmod
/-asmtype gccelf -fpu soft -l -o l/ADFS -byte_wide
Warning: type "FileCore_DiscAddress" not defined in this module - assuming
it's a word
l/ADFS/0x40240x.001.s: Assembler messages:
l/ADFS/0x40240x.001.s: Error: .size expression for adfsdiscop_verify does
not evaluate to a constant

FileCore.swi does define FileCore_DiscAddress.  0x40240x.001.s contains
the below, which indeed doesn't mention adfsdiscop_verify at all.

@ GNU AS file
	.title	"ADFSDiscOp_Verify"
@ Written by DefMod (Nov 28 2011) on Mon Nov 28 23:48:31 2011
@ Jonathan Coxhead, jonathan at doves.demon.co.uk, 21 Aug 1995
	.ident	"DefMod (Nov 28 2011)"
R	.req	r0
        .global xadfsdiscop_verify
        .type   xadfsdiscop_verify, %function
        .text
xadfsdiscop_verify:
[ARM code snipped]
        SWI     0x60240
[ARM code snipped]
        .size   adfsdiscop_verify, . - adfsdiscop_verify
@Registers available for scratch use: {R0}
        .end


I don't really understand the defmod build system... does anyone know what's
going on?

Thanks
Theo


Autobuilder: Building package: oslib
Autobuilder: Fetching source for oslib
Autobuilder: source directory is /home/atm26/gccsdk/git/autobuilder/oslib/!OSLib
Autobuilder: Calling setvars
Autobuilder: Running make command: CC=/usr/bin/cc /local/scratch/atm26/riscos/gccsdk/env/ro-make oslib-elf
make -C Tools install
make[1]: Entering directory `/auto/homes/atm26/gccsdk/git/autobuilder/oslib/!OSLib/Tools'
make -C BindHelp install;   make -C DefMod2 install;   make -C IndexHelp install;   make -C ReduceAOF install; 
make[2]: Entering directory `/auto/homes/atm26/gccsdk/git/autobuilder/oslib/!OSLib/Tools/BindHelp'
cp bindhelp ../../Bin/bindhelp
make[2]: Leaving directory `/auto/homes/atm26/gccsdk/git/autobuilder/oslib/!OSLib/Tools/BindHelp'
make[2]: Entering directory `/auto/homes/atm26/gccsdk/git/autobuilder/oslib/!OSLib/Tools/DefMod2'
cp defmod ../../Bin/defmod
make[2]: Leaving directory `/auto/homes/atm26/gccsdk/git/autobuilder/oslib/!OSLib/Tools/DefMod2'
make[2]: Entering directory `/auto/homes/atm26/gccsdk/git/autobuilder/oslib/!OSLib/Tools/IndexHelp'
cp indexhelp ../../Bin/indexhelp
make[2]: Leaving directory `/auto/homes/atm26/gccsdk/git/autobuilder/oslib/!OSLib/Tools/IndexHelp'
make[2]: Entering directory `/auto/homes/atm26/gccsdk/git/autobuilder/oslib/!OSLib/Tools/ReduceAOF'
cp reduceaof ../../Bin/reduceaof
make[2]: Leaving directory `/auto/homes/atm26/gccsdk/git/autobuilder/oslib/!OSLib/Tools/ReduceAOF'
make[1]: Leaving directory `/auto/homes/atm26/gccsdk/git/autobuilder/oslib/!OSLib/Tools'
make -C Source oslib BUILDTYPE=CROSSGCC_ELF
make[1]: Entering directory `/auto/homes/atm26/gccsdk/git/autobuilder/oslib/!OSLib/Source'
if [ ! -d /auto/homes/atm26/gccsdk/git/autobuilder/oslib/!OSLib/Source/../Bin ]; then mkdir -p /auto/homes/atm26/gccsdk/git/autobuilder/oslib/!OSLib/Source/../Bin; fi
if [ ! -d /auto/homes/atm26/gccsdk/git/autobuilder/oslib/!OSLib/Source/../Build/CStrong ]; then mkdir -p /auto/homes/atm26/gccsdk/git/autobuilder/oslib/!OSLib/Source/../Build/CStrong; fi
if [ ! -d /auto/homes/atm26/gccsdk/git/autobuilder/oslib/!OSLib/Source/../Build/Header/oslib ]; then mkdir -p /auto/homes/atm26/gccsdk/git/autobuilder/oslib/!OSLib/Source/../Build/Header/oslib; fi
if [ ! -d /auto/homes/atm26/gccsdk/git/autobuilder/oslib/!OSLib/Source/../Build/Objs ]; then mkdir -p /auto/homes/atm26/gccsdk/git/autobuilder/oslib/!OSLib/Source/../Build/Objs; fi
if [ ! -d /auto/homes/atm26/gccsdk/git/autobuilder/oslib/!OSLib/Source/../Build/Objs/Exceptions ]; then mkdir -p /auto/homes/atm26/gccsdk/git/autobuilder/oslib/!OSLib/Source/../Build/Objs/Exceptions; fi
make -C Types/oslib oslib
make[2]: Entering directory `/auto/homes/atm26/gccsdk/git/autobuilder/oslib/!OSLib/Source/Types/oslib'
if [ -s "ColTrans32.ELFHdr" ]; then cp -r ColTrans32.ELFHdr ColTrans32.Hdr; fi
if [ -s "DeviceFS32.ELFHdr" ]; then cp -r DeviceFS32.ELFHdr DeviceFS32.Hdr; fi
if [ -s "DOSFS32.ELFHdr" ]; then cp -r DOSFS32.ELFHdr DOSFS32.Hdr; fi
if [ -s "FileCore32.ELFHdr" ]; then cp -r FileCore32.ELFHdr FileCore32.Hdr; fi
if [ -s "FileSwch32.ELFHdr" ]; then cp -r FileSwch32.ELFHdr FileSwch32.Hdr; fi
if [ -s "OSArgs32.ELFHdr" ]; then cp -r OSArgs32.ELFHdr OSArgs32.Hdr; fi
if [ -s "OSCore32.ELFHdr" ]; then cp -r OSCore32.ELFHdr OSCore32.Hdr; fi
if [ -s "OSF32.ELFHdr" ]; then cp -r OSF32.ELFHdr OSF32.Hdr; fi
if [ -s "OSFind32.ELFHdr" ]; then cp -r OSFind32.ELFHdr OSFind32.Hdr; fi
if [ -s "OSFSCtrl32.ELFHdr" ]; then cp -r OSFSCtrl32.ELFHdr OSFSCtrl32.Hdr; fi
if [ -s "OSGBPB32.ELFHdr" ]; then cp -r OSGBPB32.ELFHdr OSGBPB32.Hdr; fi
if [ -s "PDriver32.ELFHdr" ]; then cp -r PDriver32.ELFHdr PDriver32.Hdr; fi
if [ -s "Wimp32.ELFHdr" ]; then cp -r Wimp32.ELFHdr Wimp32.Hdr; fi
cp -r *.Hdr /auto/homes/atm26/gccsdk/git/autobuilder/oslib/!OSLib/Source/../Build/Header/oslib
if [ ! -z "" ]; then cp -r  /auto/homes/atm26/gccsdk/git/autobuilder/oslib/!OSLib/Source/../Build/Objs; fi
if [ ! -z "" ]; then cp -r  /auto/homes/atm26/gccsdk/git/autobuilder/oslib/!OSLib/Source/../Build/Objs/Exceptions; fi
make[2]: Leaving directory `/auto/homes/atm26/gccsdk/git/autobuilder/oslib/!OSLib/Source/Types/oslib'
make -C Computer/oslib oslib
make[2]: Entering directory `/auto/homes/atm26/gccsdk/git/autobuilder/oslib/!OSLib/Source/Computer/oslib'
/auto/homes/atm26/gccsdk/git/autobuilder/oslib/!OSLib/Source/../Bin/defmod -asmtype gccelf -fpu soft -l -o l/ADFS -byte_wide /auto/homes/atm26/gccsdk/git/autobuilder/oslib/!OSLib/Source/ByteWide -32bit < ADFS.swi
Warning: type "FileCore_DiscAddress" not defined in this module - assuming it's a word
l/ADFS/0x40240x.001.s: Assembler messages:
l/ADFS/0x40240x.001.s: Error: .size expression for adfsdiscop_verify does not evaluate to a constant
Non-zero return code
arm-unknown-riscos-gcc -c -xassembler -mapcs-32 -msoft-float -o l/ADFS/0x40240x.001.o l/ADFS/0x40240x.001.s
make[2]: *** [ADFS.o] Error 1
make[2]: Leaving directory `/auto/homes/atm26/gccsdk/git/autobuilder/oslib/!OSLib/Source/Computer/oslib'
make[1]: *** [/auto/homes/atm26/gccsdk/git/autobuilder/oslib/!OSLib/Source/../Build/libOSLib32.a] Error 2
make[1]: Leaving directory `/auto/homes/atm26/gccsdk/git/autobuilder/oslib/!OSLib/Source'
make: *** [oslib-elf] Error 2





More information about the gcc mailing list