Re: add proper support for native NT drivers and programs to the build system
Ivan Leo Puoti <ivanleo(a)gmail.com> writes:
@@ -469,8 +469,10 @@ /* get the default entry point for a given spec file */ static const char *get_default_entry_point( const DLLSPEC *spec ) { + if (spec->subsystem == IMAGE_SUBSYSTEM_NATIVE && spec->characteristics & IMAGE_FILE_DLL) + return "__wine_spec_drv_entry"; + if (spec->subsystem == IMAGE_SUBSYSTEM_NATIVE) return "__wine_spec_exe_nentry";
Native drivers are not supposed to be dlls.
@@ -322,9 +322,15 @@ ORDDEF *odp = &spec->entry_points[i]; if (odp->type != TYPE_STUB) continue; fprintf( outfile, "#ifdef __GNUC__\n" ); - fprintf( outfile, "extern void __wine_spec_unimplemented_stub( const char *module, const char *func ) __attribute__((noreturn));\n" ); + if(spec->subsystem == IMAGE_SUBSYSTEM_NATIVE) + fprintf( outfile, "extern void __wine_spec_nunimplemented_stub( const char *module, const char *func ) __attribute__((noreturn));\n" ); + else + fprintf( outfile, "extern void __wine_spec_unimplemented_stub( const char *module, const char *func ) __attribute__((noreturn));\n" ); fprintf( outfile, "#else\n" ); - fprintf( outfile, "extern void __wine_spec_unimplemented_stub( const char *module, const char *func );\n" ); + if(spec->subsystem == IMAGE_SUBSYSTEM_NATIVE) + fprintf( outfile, "extern void __wine_spec_nunimplemented_stub( const char *module, const char *func ) __attribute__((noreturn));\n" ); + else + fprintf( outfile, "extern void __wine_spec_unimplemented_stub( const char *module, const char *func );\n" );
You should provide your own handling of stubs inside ntoskrnl, like ntdll does. -- Alexandre Julliard julliard(a)winehq.org
Alexandre Julliard wrote:
You should provide your own handling of stubs inside ntoskrnl, like ntdll does.
ntosknrl? And who's talking about ntoskrnl? This is an attempt to add generic support for native nt applications, it's not a ntoskrnl specific thing, and not all native nt apps do their own exception handling. I certainly understand very few if any people will ever use winebuild on a native nt app, but that doesn't sound like a good enough reason to not have support for them. Ivan.
Ivan Leo Puoti <ivanleo(a)gmail.com> writes:
ntosknrl? And who's talking about ntoskrnl? This is an attempt to add generic support for native nt applications, it's not a ntoskrnl specific thing, and not all native nt apps do their own exception handling. I certainly understand very few if any people will ever use winebuild on a native nt app, but that doesn't sound like a good enough reason to not have support for them.
Native NT apps don't need to export stubs. -- Alexandre Julliard julliard(a)winehq.org
participants (2)
-
Alexandre Julliard -
Ivan Leo Puoti