Re: how does using C++ templates affect memory usage?



Here is the build log for my final rommable image build:

The problem is in the final link call. All the other .a libraries that
I'm linking are build with the -frepo flag.

ccppc -c -mcpu=604 -mstrict-align -ansi -fno-builtin -P
-xassembler-with-cpp -I.. -IC:\Tor
nado2.2\target\config\dy4182 -IC:\Tornado2.2\target\h
-IC:\Tornado2.2\target\config\comps\
src -IC:\Tornado2.2\target\src\drv -DCPU=PPC604 -DTOOL_FAMILY=gnu
-DTOOL=gnu -DPRJ_BUILD -
IC:\Tornado2.2\target\config\dy4182\h
-IC:\Tornado2.2\target\config\dy4182\src -IC:\Tornad
o2.2\target\config\dy4182\h\drv\dy4
-IC:\Tornado2.2\host\x86-win32\include\g++-3 -mlongcal
l -DTORNADO2_2 -DCPU0_IMAGE -fvolatile
C:\Tornado2.2\target\config\dy4182\sysALib.s -o sys
ALib.o
ccppc -c -O0 -mcpu=604 -mstrict-align -ansi -fno-builtin -frepo -I..
-IC:\Tornado2.2\targe
t\config\dy4182 -IC:\Tornado2.2\target\h
-IC:\Tornado2.2\target\config\comps\src -IC:\Torn
ado2.2\target\src\drv -DCPU=PPC604 -DTOOL_FAMILY=gnu -DTOOL=gnu
-DPRJ_BUILD -IC:\Tornado2.
2\target\config\dy4182\h -IC:\Tornado2.2\target\config\dy4182\src
-IC:\Tornado2.2\target\c
onfig\dy4182\h\drv\dy4 -IC:\Tornado2.2\host\x86-win32\include\g++-3
-mlongcall -DTORNADO2_
2 -DCPU0_IMAGE -DFLASH_BUILD -fvolatile
C:\Tornado2.2\target\config\dy4182\sysLib.c -o sys
Lib.o
ccppc -c -O0 -mcpu=604 -mstrict-align -ansi -fno-builtin -frepo -I..
-IC:\Tornado2.2\targe
t\config\dy4182 -IC:\Tornado2.2\target\h
-IC:\Tornado2.2\target\config\comps\src -IC:\Torn
ado2.2\target\src\drv -DCPU=PPC604 -DTOOL_FAMILY=gnu -DTOOL=gnu
-DPRJ_BUILD -IC:\Tornado2.
2\target\config\dy4182\h -IC:\Tornado2.2\target\config\dy4182\src
-IC:\Tornado2.2\target\c
onfig\dy4182\h\drv\dy4 -IC:\Tornado2.2\host\x86-win32\include\g++-3
-mlongcall -DTORNADO2_
2 -DCPU0_IMAGE -DFLASH_BUILD -fvolatile ..\prjConfig.c -o prjConfig.o
ccppc -c -O0 -mcpu=604 -mstrict-align -ansi -fno-builtin -frepo -I..
-IC:\Tornado2.2\targe
t\config\dy4182 -IC:\Tornado2.2\target\h
-IC:\Tornado2.2\target\config\comps\src -IC:\Torn
ado2.2\target\src\drv -DCPU=PPC604 -DTOOL_FAMILY=gnu -DTOOL=gnu
-DPRJ_BUILD -IC:\Tornado2.
2\target\config\dy4182\h -IC:\Tornado2.2\target\config\dy4182\src
-IC:\Tornado2.2\target\c
onfig\dy4182\h\drv\dy4 -IC:\Tornado2.2\host\x86-win32\include\g++-3
-mlongcall -DTORNADO2_
2 -DCPU0_IMAGE -DFLASH_BUILD -fvolatile ..\linkSyms.c -o linkSyms.o
ccppc -O0 -mcpu=604 -mstrict-align -ansi -fno-builtin -frepo -I..
-IC:\Tornado2.2\target\c
onfig\dy4182 -IC:\Tornado2.2\target\h
-IC:\Tornado2.2\target\config\comps\src -IC:\Tornado
2.2\target\src\drv -DCPU=PPC604 -DTOOL_FAMILY=gnu -DTOOL=gnu
-DPRJ_BUILD -IC:\Tornado2.2\t
arget\config\dy4182\h -IC:\Tornado2.2\target\config\dy4182\src
-IC:\Tornado2.2\target\conf
ig\dy4182\h\drv\dy4 -IC:\Tornado2.2\host\x86-win32\include\g++-3
-mlongcall -DTORNADO2_2 -
DCPU0_IMAGE -DFLASH_BUILD -c
C:\Tornado2.2\target\config\dy4182\src\drv\thermal\dy4max6634
..c
vxrm ..\prjObjs.lst
Generating ..\prjObjs.lst...
ccppc -O0 -mcpu=604 -mstrict-align -ansi -fno-builtin -frepo -I..
-IC:\Tornado2.2\target\c
onfig\dy4182 -IC:\Tornado2.2\target\h
-IC:\Tornado2.2\target\config\comps\src -IC:\Tornado
2.2\target\src\drv -DCPU=PPC604 -DTOOL_FAMILY=gnu -DTOOL=gnu
-DPRJ_BUILD -IC:\Tornado2.2\t
arget\config\dy4182\h -IC:\Tornado2.2\target\config\dy4182\src
-IC:\Tornado2.2\target\conf
ig\dy4182\h\drv\dy4 -IC:\Tornado2.2\host\x86-win32\include\g++-3
-mlongcall -DTORNADO2_2 -
DCPU0_IMAGE -DFLASH_BUILD -c
C:\Tornado2.2\target\config\comps\src\version.c
ccppc -O0 -mcpu=604 -mstrict-align -ansi -fno-builtin -frepo -I..
-IC:\Tornado2.2\target\c
onfig\dy4182 -IC:\Tornado2.2\target\h
-IC:\Tornado2.2\target\config\comps\src -IC:\Tornado
2.2\target\src\drv -DCPU=PPC604 -DTOOL_FAMILY=gnu -DTOOL=gnu
-DPRJ_BUILD -IC:\Tornado2.2\t
arget\config\dy4182\h -IC:\Tornado2.2\target\config\dy4182\src
-IC:\Tornado2.2\target\conf
ig\dy4182\h\drv\dy4 -IC:\Tornado2.2\host\x86-win32\include\g++-3
-mlongcall -DTORNADO2_2 -
DCPU0_IMAGE -DFLASH_BUILD -c
C:\Tornado2.2\target\config\comps\src\usrEntry.c
ccppc -r -nostdlib -Wl,-X -frepo usrEntry.o -Wl,@..\prjObjs.lst \
C:\Tornado2.2\target\config\dy4182\excArchLib.obj
C:\Tornado2.2\target\config\dy4182\excA
Lib.obj C:\Tornado2.2\target\config\dy4182\intALib.obj
C:\Tornado2.2\target\config\dy4182\
sysL2BackCache.obj
C:\Tornado2.2\target\config\dy4182\sysL3BackCache.obj C:\Tornado2.2\X11

R6\lib\libX11.o C:\Tornado2.2\X11R6\lib\libICE.o
C:\Tornado2.2\X11R6\lib\libSM.o C:\Tornad
o2.2\X11R6\lib\libXext.o C:\Tornado2.2\X11R6\lib\libXmu.o
C:\Tornado2.2\X11R6\lib\libXm.o
C:\Tornado2.2\target\proj\Dy4_1553_T221_182\PPC604gnu\dy4_1553,o
version.o -Wl,--start-gro
up \
-LC:\Tornado2.2\target\lib\ppc\PPC604\gnu
-LC:\Tornado2.2\target\lib\ppc\PPC604\common C
:\Tornado2.2\target\lib\libDY4182PPC604gnuvx.a
C:\Tornado2.2\target\lib\pci.a C:\Tornado2.
2\target\lib\182fpga.a C:\Tornado2.2\target\lib\libusb.a -lcplus
-lgnucplus -lvxcom
-larch -lcommoncc -ldcc -ldrv -lgcc -lnet -los -lrpc -lwdb
-lwind -lwindview C:\
Tornado2.2\target\lib\libPPC604gnuvx.a
C:\MHP\TornadoProjects\Registry\Archive\Registry.a
C:\MHP\TornadoProjects\MHP_BuildM2\Archive\SM_M2.a
C:\MHP\TornadoProjects\gsm\PPC604gnu\GS
M.a \
-Wl,--end-group -o partialImage.o
nmppc partialImage.o @..\prjObjs.lst | wtxtcl
C:\Tornado2.2\host\src\hutils\munch.tcl -c p
pc > ctdt.c
ccppc -c -fdollars-in-identifiers -O0 -mcpu=604 -mstrict-align
-fno-builtin -frepo -I.. -I
C:\Tornado2.2\target\config\dy4182 -IC:\Tornado2.2\target\h
-IC:\Tornado2.2\target\config\
comps\src -IC:\Tornado2.2\target\src\drv -DCPU=PPC604 -DTOOL_FAMILY=gnu
-DTOOL=gnu -DPRJ_B
UILD -IC:\Tornado2.2\target\config\dy4182\h
-IC:\Tornado2.2\target\config\dy4182\src -IC:\
Tornado2.2\target\config\dy4182\h\drv\dy4
-IC:\Tornado2.2\host\x86-win32\include\g++-3 -ml
ongcall -DTORNADO2_2 -DCPU0_IMAGE -DFLASH_BUILD ctdt.c -o ctdt.o
copy partialImage.o tmp.o
1 file(s) copied.
C:\Tornado2.2\host\x86-win32\bin\makeSymTbl.bat ppc tmp.o symTbl.c
ccppc -c -fdollars-in-identifiers -O0 -mcpu=604 -mstrict-align -ansi
-fno-builtin -frepo -
I.. -IC:\Tornado2.2\target\config\dy4182 -IC:\Tornado2.2\target\h
-IC:\Tornado2.2\target\c
onfig\comps\src -IC:\Tornado2.2\target\src\drv -DCPU=PPC604
-DTOOL_FAMILY=gnu -DTOOL=gnu -
DPRJ_BUILD -IC:\Tornado2.2\target\config\dy4182\h
-IC:\Tornado2.2\target\config\dy4182\src
-IC:\Tornado2.2\target\config\dy4182\h\drv\dy4
-IC:\Tornado2.2\host\x86-win32\include\g++
-3 -mlongcall -DTORNADO2_2 -DCPU0_IMAGE -DFLASH_BUILD -w symTbl.c -o
symTbl.o
ccppc -O0 -mcpu=604 -mstrict-align -ansi -fno-builtin -frepo -I..
-IC:\Tornado2.2\target\c
onfig\dy4182 -IC:\Tornado2.2\target\h
-IC:\Tornado2.2\target\config\comps\src -IC:\Tornado
2.2\target\src\drv -DCPU=PPC604 -DTOOL_FAMILY=gnu -DTOOL=gnu
-DPRJ_BUILD -IC:\Tornado2.2\t
arget\config\dy4182\h -IC:\Tornado2.2\target\config\dy4182\src
-IC:\Tornado2.2\target\conf
ig\dy4182\h\drv\dy4 -IC:\Tornado2.2\host\x86-win32\include\g++-3
-mlongcall -DTORNADO2_2 -
DCPU0_IMAGE -DFLASH_BUILD -c
C:\Tornado2.2\target\config\comps\src\dataSegPad.c
ldppc -X -N -e _sysInit -Ttext 00300000 \
dataSegPad.o partialImage.o ctdt.o symTbl.o \
-T C:\Tornado2.2\target\h\tool\gnu\ldscripts\link.RAM -o vxWorks
partialImage.o: In function `sscResetPort':
C:\code\ffw1_3a\FFW9\FPGA\src\ssc.c:980: undefined reference to
`vector<ReadyToStartInfoTy
pe, allocator<ReadyToStartInfoType>
::_M_insert_aux(ReadyToStartInfoType *, ReadyToStartI
nfoType const &)'

.... many many undefined template references to follow

.



Relevant Pages

  • Re: How to dectect active 80-column firmware ?
    ... The current cc65 snapshot already allows any cc65 program linked to ... $2000 to run alternatively as SYS file "natively" without my loader. ... However having specific libraries for all potential runtime ... support under DOS 3.3 as well. ...
    (comp.sys.apple2.programmer)
  • Re: How to dectect active 80-column firmware ?
    ... The current cc65 snapshot already allows any cc65 program linked to ... $2000 to run alternatively as SYS file "natively" without my loader. ... configurations (I hope that's what you refer to as link profiles) ... However having specific libraries for all potential runtime ...
    (comp.sys.apple2.programmer)
  • Re: Can we link a windows driver (.sys) with our own code ?...
    ... I dont see which of your .sys functions are called by your .dll. ... dispatch routines in your .sys are called by the I/O manager. ... I don't see any hurdle while linking this way. ...
    (microsoft.public.development.device.drivers)