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