Casper Hornstrup wrote:
Is the command line wrong?
Casper
I don't see this problem on an old cache manager branch. On the trunk, it is running dlltool and ld. On the cache manager branch, it is running ld, dlltool and ld.
trunk: dlltool --dllname atapi.sys --def tools\rbuild\empty.def --output-exp atapi.temp.exp --kill-at gcc -Wl,--subsystem,native -Wl,--entry,_DriverEntry@8 -Wl,--image-base,0x00010000 -Wl,--file-alignment,0x1000 -Wl,--section-alignment,0x1000 -nostartfiles -shared atapi.temp.exp -o .\up\output-i386\drivers\storage\atapi\atapi.sys .\up\obj-i386\drivers\storage\atapi\atapi.o .\up\obj-i386\drivers\storage\atapi\atapi.coff .\up\obj-i386\ntoskrnl\libntoskrnl.a .\up\obj-i386\hal\hal\libhal.a .\up\obj-i386\drivers\storage\scsiport\libscsiport.a -g -nostartfiles -nostdlib
old cache manager branch: gcc -Wl,--subsystem,native -Wl,--entry,_DriverEntry@8 -Wl,--image-base,0x00010000 -Wl,--file-alignment,0x1000 -Wl,--section-alignment,0x1000 -nostartfiles -mdll --dll -Wl,--base-file,atapi.base.tmp -o atapi.junk.tmp obj-i386\drivers\storage\atapi\atapi.o obj-i386\drivers\storage\atapi\atapi.coff obj-i386\ntoskrnl\libntoskrnl.a obj-i386\hal\hal\libhal.a obj-i386\drivers\storage\scsiport\libscsiport.a -g -nostartfiles -nostdlib dlltool --dllname atapi.sys --base-file atapi.base.tmp --def tools\rbuild\empty.def --output-exp atapi.temp.exp --kill-at gcc -Wl,--subsystem,native -Wl,--entry,_DriverEntry@8 -Wl,--image-base,0x00010000 -Wl,--file-alignment,0x1000 -Wl,--section-alignment,0x1000 -nostartfiles -mdll --dll atapi.temp.exp -o output-i386\drivers\storage\atapi\atapi.sys obj-i386\drivers\storage\atapi\atapi.o obj-i386\drivers\storage\atapi\atapi.coff obj-i386\ntoskrnl\libntoskrnl.a obj-i386\hal\hal\libhal.a obj-i386\drivers\storage\scsiport\libscsiport.a -g -nostartfiles -nostdlib
It seems, that the old cache manager branch does use an additional base-file. I don't know, what a base-file is. There is a difference on the last ld command. The trunk uses '-shared' and the branch '-mdll --dll'.
- Hartmut