winebuild: Get rid of the ignored symbol support.

This commit is contained in:
Alexandre Julliard 2010-08-02 12:13:11 +02:00
parent b03059cbda
commit 4bfdad159b
4 changed files with 1 additions and 44 deletions

View File

@ -256,7 +256,6 @@ extern void output_gnu_stack_note(void);
extern void add_import_dll( const char *name, const char *filename ); extern void add_import_dll( const char *name, const char *filename );
extern void add_delayed_import( const char *name ); extern void add_delayed_import( const char *name );
extern void add_ignore_symbol( const char *name );
extern void add_extra_ld_symbol( const char *name ); extern void add_extra_ld_symbol( const char *name );
extern void read_undef_symbols( DLLSPEC *spec, char **argv ); extern void read_undef_symbols( DLLSPEC *spec, char **argv );
extern void resolve_imports( DLLSPEC *spec ); extern void resolve_imports( DLLSPEC *spec );

View File

@ -57,7 +57,6 @@ struct name_table
}; };
static struct name_table undef_symbols; /* list of undefined symbols */ static struct name_table undef_symbols; /* list of undefined symbols */
static struct name_table ignore_symbols; /* list of symbols to ignore */
static struct name_table extra_ld_symbols; /* list of extra symbols that ld should resolve */ static struct name_table extra_ld_symbols; /* list of extra symbols that ld should resolve */
static struct name_table delayed_imports; /* list of delayed import dlls */ static struct name_table delayed_imports; /* list of delayed import dlls */
static struct name_table ext_link_imports; /* list of external symbols to link to */ static struct name_table ext_link_imports; /* list of external symbols to link to */
@ -339,23 +338,6 @@ static void remove_import_dll( int index )
free_imports( imp ); free_imports( imp );
} }
/* add a symbol to the ignored symbol list */
/* if the name starts with '-' the symbol is removed instead */
void add_ignore_symbol( const char *name )
{
unsigned int i;
if (name[0] == '-') /* remove it */
{
if (!name[1]) empty_name_table( &ignore_symbols ); /* remove everything */
else for (i = 0; i < ignore_symbols.count; i++)
{
if (!strcmp( ignore_symbols.names[i], name+1 )) remove_name( &ignore_symbols, i-- );
}
}
else add_name( &ignore_symbols, name );
}
/* add a symbol to the list of extra symbols that ld must resolve */ /* add a symbol to the list of extra symbols that ld must resolve */
void add_extra_ld_symbol( const char *name ) void add_extra_ld_symbol( const char *name )
{ {
@ -582,7 +564,6 @@ void resolve_imports( DLLSPEC *spec )
unsigned int j, removed; unsigned int j, removed;
ORDDEF *odp; ORDDEF *odp;
sort_names( &ignore_symbols );
check_undefined_forwards( spec ); check_undefined_forwards( spec );
for (i = 0; i < nb_imports; i++) for (i = 0; i < nb_imports; i++)
@ -591,7 +572,6 @@ void resolve_imports( DLLSPEC *spec )
for (j = removed = 0; j < undef_symbols.count; j++) for (j = removed = 0; j < undef_symbols.count; j++)
{ {
if (find_name( undef_symbols.names[j], &ignore_symbols )) continue;
odp = find_export( undef_symbols.names[j], imp->exports, imp->nb_exports ); odp = find_export( undef_symbols.names[j], imp->exports, imp->nb_exports );
if (odp) if (odp)
{ {

View File

@ -243,7 +243,6 @@ static const char usage_str[] =
" --fake-module Create a fake binary module\n" " --fake-module Create a fake binary module\n"
" -h, --help Display this help message\n" " -h, --help Display this help message\n"
" -H, --heap=SIZE Set the heap size for a Win16 dll\n" " -H, --heap=SIZE Set the heap size for a Win16 dll\n"
" -i, --ignore=SYM[,SYM] Ignore specified symbols when resolving imports\n"
" -I DIR Ignored for C flags compatibility\n" " -I DIR Ignored for C flags compatibility\n"
" -k, --kill-at Kill stdcall decorations in generated .def files\n" " -k, --kill-at Kill stdcall decorations in generated .def files\n"
" -K, FLAGS Compiler flags (only -KPIC is supported)\n" " -K, FLAGS Compiler flags (only -KPIC is supported)\n"
@ -291,7 +290,7 @@ enum long_options_values
LONG_OPT_VERSION LONG_OPT_VERSION
}; };
static const char short_options[] = "C:D:E:F:H:I:K:L:M:N:b:d:e:f:hi:kl:m:o:r:u:vw"; static const char short_options[] = "C:D:E:F:H:I:K:L:M:N:b:d:e:f:hkl:m:o:r:u:vw";
static const struct option long_options[] = static const struct option long_options[] =
{ {
@ -318,7 +317,6 @@ static const struct option long_options[] =
{ "filename", 1, 0, 'F' }, { "filename", 1, 0, 'F' },
{ "help", 0, 0, 'h' }, { "help", 0, 0, 'h' },
{ "heap", 1, 0, 'H' }, { "heap", 1, 0, 'H' },
{ "ignore", 1, 0, 'i' },
{ "kill-at", 0, 0, 'k' }, { "kill-at", 0, 0, 'k' },
{ "library", 1, 0, 'l' }, { "library", 1, 0, 'l' },
{ "library-path", 1, 0, 'L' }, { "library-path", 1, 0, 'L' },
@ -413,18 +411,6 @@ static char **parse_options( int argc, char **argv, DLLSPEC *spec )
case 'h': case 'h':
usage(0); usage(0);
break; break;
case 'i':
{
char *str = xstrdup( optarg );
char *token = strtok( str, "," );
while (token)
{
add_ignore_symbol( token );
token = strtok( NULL, "," );
}
free( str );
}
break;
case 'k': case 'k':
kill_at = 1; kill_at = 1;
break; break;

View File

@ -122,14 +122,6 @@ Display a usage message and exit.
Specify the size of the module local heap in bytes (only valid for Specify the size of the module local heap in bytes (only valid for
Win16 modules); default is no local heap. Win16 modules); default is no local heap.
.TP .TP
.BI \-i,\ --ignore= [-]symbol[,[-]symbol]
Specify a list of symbols that should be ignored when resolving
undefined symbols against the imported libraries. This forces these
symbols to be resolved from the Unix C library (or from another Unix
library linked with the application). If a symbol is prefixed by '-'
it is removed from the list instead of being added; a stand-alone '-'
clears the whole list.
.TP
.BI \-I\ directory .BI \-I\ directory
Ignored for compatibility with the C compiler. Ignored for compatibility with the C compiler.
.TP .TP