Fixed some issues.

This commit is contained in:
Dmitry Timoshkov 2001-05-22 19:55:51 +00:00 committed by Alexandre Julliard
parent 5db8d2f48b
commit 3724de93d7
6 changed files with 18 additions and 10 deletions

View File

@ -137,7 +137,7 @@ extern int get_alignment(int alignBoundary);
extern void add_import_dll( const char *name, int delay );
extern void add_ignore_symbol( const char *name );
extern int resolve_imports( FILE *outfile );
extern int resolve_imports( void );
extern int output_imports( FILE *outfile );
extern void load_res32_file( const char *name );
extern int output_resources( FILE *outfile );

View File

@ -317,7 +317,7 @@ static void remove_ignored_symbols(void)
}
/* resolve the imports for a Win32 module */
int resolve_imports( FILE *outfile )
int resolve_imports( void )
{
int i, j;

View File

@ -244,7 +244,10 @@ int main(int argc, char **argv)
do_usage();
break;
}
fclose( output_file );
output_file_name = NULL;
if (output_file_name)
{
fclose( output_file );
output_file_name = NULL;
}
return 0;
}

View File

@ -264,8 +264,6 @@ static void ParseExportFunction( ORDDEF *odp )
fatal_error( "Too many arguments\n" );
odp->u.func.arg_types[i] = '\0';
if ((odp->type == TYPE_STDCALL) && !i)
odp->type = TYPE_CDECL; /* stdcall is the same as cdecl for 0 args */
if (odp->type == TYPE_VARARGS)
odp->flags |= FLAG_NORELAY; /* no relay debug possible for varags entry point */
odp->link_name = xstrdup( GetToken(0) );

View File

@ -519,8 +519,8 @@ static void output_stub_funcs( FILE *outfile )
fprintf( outfile, " void *rec, *addr;\n" );
fprintf( outfile, " unsigned int params;\n" );
fprintf( outfile, " const void *info[15];\n" );
fprintf( outfile, " } rec;\n" );
fprintf( outfile, " extern void RtlRaiseException( struct exc_record * );\n\n" );
fprintf( outfile, " } rec;\n\n" );
fprintf( outfile, " extern void __stdcall RtlRaiseException( struct exc_record * );\n\n" );
fprintf( outfile, " rec.code = 0x%08x;\n", EXCEPTION_WINE_STUB );
fprintf( outfile, " rec.flags = %d;\n", EH_NONCONTINUABLE );
fprintf( outfile, " rec.rec = 0;\n" );
@ -582,6 +582,13 @@ void BuildSpec16File( FILE *outfile )
strupper( DLLName );
fprintf( outfile, "static const char dllname[] = \"%s\";\n\n", DLLName );
#ifdef __i386__
fprintf( outfile, "#define __stdcall __attribute__((__stdcall__))\n\n" );
#else
fprintf( outfile, "#define __stdcall\n\n" );
#endif
output_stub_funcs( outfile );
/* Build sorted list of all argument types, without duplicates */

View File

@ -441,7 +441,7 @@ void BuildSpec32File( FILE *outfile )
AssignOrdinals();
nr_exports = Base <= Limit ? Limit - Base + 1 : 0;
resolve_imports( outfile );
resolve_imports();
fprintf( outfile, "/* File generated automatically from %s; do not edit! */\n\n",
input_file_name );
@ -451,7 +451,7 @@ void BuildSpec32File( FILE *outfile )
fprintf( outfile, "extern char pe_header[];\n" );
fprintf( outfile, "asm(\".section .text\\n\\t\"\n" );
fprintf( outfile, " \".align %d\\n\"\n", get_alignment(page_size) );
fprintf( outfile, " \"pe_header:\\t.fill %ld,1,0\\n\\t\");\n", page_size );
fprintf( outfile, " \"" PREFIX "pe_header:\\t.fill %ld,1,0\\n\\t\");\n", page_size );
fprintf( outfile, "static const char dllname[] = \"%s\";\n\n", DLLName );
fprintf( outfile, "extern int __wine_spec_exports[];\n\n" );