Added list of symbols to ignore by default in winebuild.

Made the -i option support removing ignored symbols too.
Removed the -noimport flag in spec files.
This commit is contained in:
Alexandre Julliard 2002-12-12 02:20:47 +00:00
parent 93f85cba0c
commit 72e1c64345
10 changed files with 942 additions and 849 deletions

View File

@ -51,22 +51,22 @@
@ cdecl ?terminate@@YAXXZ() MSVCRT_terminate @ cdecl ?terminate@@YAXXZ() MSVCRT_terminate
@ cdecl ?unexpected@@YAXXZ() MSVCRT_unexpected @ cdecl ?unexpected@@YAXXZ() MSVCRT_unexpected
@ cdecl ?what@exception@@UBEPBDXZ(ptr) MSVCRT_what_exception @ cdecl ?what@exception@@UBEPBDXZ(ptr) MSVCRT_what_exception
@ cdecl -noimport _CIacos() _CIacos @ cdecl _CIacos() _CIacos
@ cdecl -noimport _CIasin() _CIasin @ cdecl _CIasin() _CIasin
@ cdecl -noimport _CIatan() _CIatan @ cdecl _CIatan() _CIatan
@ cdecl -noimport _CIatan2() _CIatan2 @ cdecl _CIatan2() _CIatan2
@ cdecl -noimport _CIcos() _CIcos @ cdecl _CIcos() _CIcos
@ cdecl -noimport _CIcosh() _CIcosh @ cdecl _CIcosh() _CIcosh
@ cdecl -noimport _CIexp() _CIexp @ cdecl _CIexp() _CIexp
@ cdecl -noimport _CIfmod() _CIfmod @ cdecl _CIfmod() _CIfmod
@ cdecl -noimport _CIlog() _CIlog @ cdecl _CIlog() _CIlog
@ cdecl -noimport _CIlog10() _CIlog10 @ cdecl _CIlog10() _CIlog10
@ cdecl -noimport _CIpow() _CIpow @ cdecl _CIpow() _CIpow
@ cdecl -noimport _CIsin() _CIsin @ cdecl _CIsin() _CIsin
@ cdecl -noimport _CIsinh() _CIsinh @ cdecl _CIsinh() _CIsinh
@ cdecl -noimport _CIsqrt() _CIsqrt @ cdecl _CIsqrt() _CIsqrt
@ cdecl -noimport _CItan() _CItan @ cdecl _CItan() _CItan
@ cdecl -noimport _CItanh() _CItanh @ cdecl _CItanh() _CItanh
@ cdecl _CxxThrowException(long long) _CxxThrowException @ cdecl _CxxThrowException(long long) _CxxThrowException
@ cdecl -i386 -norelay _EH_prolog() _EH_prolog @ cdecl -i386 -norelay _EH_prolog() _EH_prolog
@ cdecl _Getdays() _Getdays @ cdecl _Getdays() _Getdays
@ -77,9 +77,9 @@
@ cdecl _XcptFilter(long ptr) _XcptFilter @ cdecl _XcptFilter(long ptr) _XcptFilter
@ cdecl -register -i386 __CxxFrameHandler(ptr ptr ptr ptr) __CxxFrameHandler @ cdecl -register -i386 __CxxFrameHandler(ptr ptr ptr ptr) __CxxFrameHandler
@ stub __CxxLongjmpUnwind @ stub __CxxLongjmpUnwind
@ cdecl -noimport __RTCastToVoid(ptr) MSVCRT___RTCastToVoid @ cdecl __RTCastToVoid(ptr) MSVCRT___RTCastToVoid
@ cdecl -noimport __RTDynamicCast(ptr long ptr ptr long) MSVCRT___RTDynamicCast @ cdecl __RTDynamicCast(ptr long ptr ptr long) MSVCRT___RTDynamicCast
@ cdecl -noimport __RTtypeid(ptr) MSVCRT___RTtypeid @ cdecl __RTtypeid(ptr) MSVCRT___RTtypeid
@ stub __STRINGTOLD @ stub __STRINGTOLD
@ extern __argc MSVCRT___argc @ extern __argc MSVCRT___argc
@ extern __argv MSVCRT___argv @ extern __argv MSVCRT___argv
@ -177,7 +177,7 @@
@ cdecl _chdir(str) _chdir @ cdecl _chdir(str) _chdir
@ cdecl _chdrive(long) _chdrive @ cdecl _chdrive(long) _chdrive
@ cdecl _chgsign( double ) _chgsign @ cdecl _chgsign( double ) _chgsign
@ cdecl -noimport -i386 _chkesp() _chkesp @ cdecl -i386 _chkesp() _chkesp
@ cdecl _chmod(str long) _chmod @ cdecl _chmod(str long) _chmod
@ stub _chsize #(long long) @ stub _chsize #(long long)
@ cdecl _clearfp() _clearfp @ cdecl _clearfp() _clearfp
@ -426,8 +426,8 @@
@ stub _set_error_mode #(long) @ stub _set_error_mode #(long)
@ stub _set_sbh_threshold #(long) @ stub _set_sbh_threshold #(long)
@ stub _seterrormode #(long) @ stub _seterrormode #(long)
@ cdecl -register -noimport -i386 _setjmp(ptr) _MSVCRT__setjmp @ cdecl -register -i386 _setjmp(ptr) _MSVCRT__setjmp
@ cdecl -register -noimport -i386 _setjmp3(ptr long) _MSVCRT__setjmp3 @ cdecl -register -i386 _setjmp3(ptr long) _MSVCRT__setjmp3
@ stub _setmaxstdio #(long) @ stub _setmaxstdio #(long)
@ cdecl _setmbcp(long) _setmbcp @ cdecl _setmbcp(long) _setmbcp
@ cdecl _setmode(long long) _setmode @ cdecl _setmode(long long) _setmode
@ -568,29 +568,29 @@
@ cdecl _y1(double) _y1 @ cdecl _y1(double) _y1
@ cdecl _yn(long double ) _yn @ cdecl _yn(long double ) _yn
@ cdecl abort() MSVCRT_abort @ cdecl abort() MSVCRT_abort
@ cdecl -noimport abs(long) abs @ cdecl abs(long) abs
@ cdecl -noimport acos(double) acos @ cdecl acos(double) acos
@ cdecl -noimport asctime(ptr) asctime @ cdecl asctime(ptr) asctime
@ cdecl -noimport asin(double) asin @ cdecl asin(double) asin
@ cdecl -noimport atan(double) atan @ cdecl atan(double) atan
@ cdecl -noimport atan2(double double) atan2 @ cdecl atan2(double double) atan2
@ cdecl atexit(ptr) MSVCRT_atexit @ cdecl atexit(ptr) MSVCRT_atexit
@ cdecl -noimport atof(str) atof @ cdecl atof(str) atof
@ cdecl -noimport atoi(str) atoi @ cdecl atoi(str) atoi
@ cdecl -noimport atol(str) atol @ cdecl atol(str) atol
@ cdecl -noimport bsearch(ptr ptr long long ptr) bsearch @ cdecl bsearch(ptr ptr long long ptr) bsearch
@ cdecl calloc(long long) MSVCRT_calloc @ cdecl calloc(long long) MSVCRT_calloc
@ cdecl -noimport ceil(double) ceil @ cdecl ceil(double) ceil
@ cdecl clearerr(ptr) MSVCRT_clearerr @ cdecl clearerr(ptr) MSVCRT_clearerr
@ cdecl clock() MSVCRT_clock @ cdecl clock() MSVCRT_clock
@ cdecl -noimport cos(double) cos @ cdecl cos(double) cos
@ cdecl -noimport cosh(double) cosh @ cdecl cosh(double) cosh
@ cdecl -noimport ctime(ptr) ctime @ cdecl ctime(ptr) ctime
@ cdecl difftime(long long) MSVCRT_difftime @ cdecl difftime(long long) MSVCRT_difftime
@ cdecl -noimport div(long long) MSVCRT_div @ cdecl div(long long) MSVCRT_div
@ cdecl exit(long) MSVCRT_exit @ cdecl exit(long) MSVCRT_exit
@ cdecl -noimport exp(double) exp @ cdecl exp(double) exp
@ cdecl -noimport fabs(double) fabs @ cdecl fabs(double) fabs
@ cdecl fclose(ptr) MSVCRT_fclose @ cdecl fclose(ptr) MSVCRT_fclose
@ cdecl feof(ptr) MSVCRT_feof @ cdecl feof(ptr) MSVCRT_feof
@ cdecl ferror(ptr) MSVCRT_ferror @ cdecl ferror(ptr) MSVCRT_ferror
@ -600,8 +600,8 @@
@ cdecl fgets(ptr long ptr) MSVCRT_fgets @ cdecl fgets(ptr long ptr) MSVCRT_fgets
@ cdecl fgetwc(ptr) MSVCRT_fgetwc @ cdecl fgetwc(ptr) MSVCRT_fgetwc
@ cdecl fgetws(ptr long ptr) MSVCRT_fgetws @ cdecl fgetws(ptr long ptr) MSVCRT_fgetws
@ cdecl -noimport floor(double) floor @ cdecl floor(double) floor
@ cdecl -noimport fmod(double double) fmod @ cdecl fmod(double double) fmod
@ cdecl fopen(str str) MSVCRT_fopen @ cdecl fopen(str str) MSVCRT_fopen
@ varargs fprintf(ptr str) MSVCRT_fprintf @ varargs fprintf(ptr str) MSVCRT_fprintf
@ cdecl fputc(long ptr) MSVCRT_fputc @ cdecl fputc(long ptr) MSVCRT_fputc
@ -611,7 +611,7 @@
@ cdecl fread(ptr long long ptr) MSVCRT_fread @ cdecl fread(ptr long long ptr) MSVCRT_fread
@ cdecl free(ptr) MSVCRT_free @ cdecl free(ptr) MSVCRT_free
@ cdecl freopen(str str ptr) MSVCRT_freopen @ cdecl freopen(str str ptr) MSVCRT_freopen
@ cdecl -noimport frexp(double ptr) frexp @ cdecl frexp(double ptr) frexp
@ varargs fscanf(ptr str) MSVCRT_fscanf @ varargs fscanf(ptr str) MSVCRT_fscanf
@ cdecl fseek(ptr long long) MSVCRT_fseek @ cdecl fseek(ptr long long) MSVCRT_fseek
@ cdecl fsetpos(ptr ptr) MSVCRT_fsetpos @ cdecl fsetpos(ptr ptr) MSVCRT_fsetpos
@ -625,7 +625,7 @@
@ cdecl gets(str) MSVCRT_gets @ cdecl gets(str) MSVCRT_gets
@ cdecl getwc(ptr) MSVCRT_getwc @ cdecl getwc(ptr) MSVCRT_getwc
@ cdecl getwchar() MSVCRT_getwchar @ cdecl getwchar() MSVCRT_getwchar
@ cdecl -noimport gmtime(ptr) gmtime @ cdecl gmtime(ptr) gmtime
@ forward is_wctype ntdll.iswctype @ forward is_wctype ntdll.iswctype
@ cdecl isalnum(long) MSVCRT_isalnum @ cdecl isalnum(long) MSVCRT_isalnum
@ cdecl isalpha(long) MSVCRT_isalpha @ cdecl isalpha(long) MSVCRT_isalpha
@ -652,34 +652,34 @@
@ cdecl iswupper(long) MSVCRT_iswupper @ cdecl iswupper(long) MSVCRT_iswupper
@ cdecl iswxdigit(long) MSVCRT_iswxdigit @ cdecl iswxdigit(long) MSVCRT_iswxdigit
@ cdecl isxdigit(long) MSVCRT_isxdigit @ cdecl isxdigit(long) MSVCRT_isxdigit
@ cdecl -noimport labs(long) labs @ cdecl labs(long) labs
@ cdecl ldexp( double long) MSVCRT_ldexp @ cdecl ldexp( double long) MSVCRT_ldexp
@ cdecl -noimport ldiv(long long) MSVCRT_ldiv @ cdecl ldiv(long long) MSVCRT_ldiv
@ stub localeconv #() @ stub localeconv #()
@ cdecl -noimport localtime(ptr) localtime @ cdecl localtime(ptr) localtime
@ cdecl -noimport log(double) log @ cdecl log(double) log
@ cdecl -noimport log10(double) log10 @ cdecl log10(double) log10
@ cdecl -register -noimport -i386 longjmp(ptr long) _MSVCRT_longjmp @ cdecl -register -i386 longjmp(ptr long) _MSVCRT_longjmp
@ cdecl malloc(long) MSVCRT_malloc @ cdecl malloc(long) MSVCRT_malloc
@ cdecl mblen(ptr long) MSVCRT_mblen @ cdecl mblen(ptr long) MSVCRT_mblen
@ forward -noimport mbstowcs ntdll.mbstowcs @ forward mbstowcs ntdll.mbstowcs
@ cdecl mbtowc(wstr str long) MSVCRT_mbtowc @ cdecl mbtowc(wstr str long) MSVCRT_mbtowc
@ cdecl -noimport memchr(ptr long long) memchr @ cdecl memchr(ptr long long) memchr
@ cdecl -noimport memcmp(ptr ptr long) memcmp @ cdecl memcmp(ptr ptr long) memcmp
@ cdecl -noimport memcpy(ptr ptr long) memcpy @ cdecl memcpy(ptr ptr long) memcpy
@ cdecl -noimport memmove(ptr ptr long) memmove @ cdecl memmove(ptr ptr long) memmove
@ cdecl -noimport memset(ptr long long) memset @ cdecl memset(ptr long long) memset
@ cdecl mktime(ptr) MSVCRT_mktime @ cdecl mktime(ptr) MSVCRT_mktime
@ cdecl -noimport modf(double ptr) modf @ cdecl modf(double ptr) modf
@ cdecl perror(str) MSVCRT_perror @ cdecl perror(str) MSVCRT_perror
@ cdecl -noimport pow(double double) pow @ cdecl pow(double double) pow
@ varargs printf(str) MSVCRT_printf @ varargs printf(str) MSVCRT_printf
@ cdecl putc(long ptr) MSVCRT_putc @ cdecl putc(long ptr) MSVCRT_putc
@ cdecl putchar(long) MSVCRT_putchar @ cdecl putchar(long) MSVCRT_putchar
@ cdecl puts(str) MSVCRT_puts @ cdecl puts(str) MSVCRT_puts
@ cdecl putwc(long ptr) MSVCRT_fputwc @ cdecl putwc(long ptr) MSVCRT_fputwc
@ cdecl putwchar(long) _fputwchar @ cdecl putwchar(long) _fputwchar
@ cdecl -noimport qsort(ptr long long ptr) qsort @ cdecl qsort(ptr long long ptr) qsort
@ stub raise #(long) @ stub raise #(long)
@ cdecl rand() MSVCRT_rand @ cdecl rand() MSVCRT_rand
@ cdecl realloc(ptr long) MSVCRT_realloc @ cdecl realloc(ptr long) MSVCRT_realloc
@ -691,43 +691,43 @@
@ cdecl setlocale(long str) MSVCRT_setlocale @ cdecl setlocale(long str) MSVCRT_setlocale
@ cdecl setvbuf(ptr str long long) MSVCRT_setvbuf @ cdecl setvbuf(ptr str long long) MSVCRT_setvbuf
@ cdecl signal(long long) MSVCRT_signal @ cdecl signal(long long) MSVCRT_signal
@ cdecl -noimport sin(double) sin @ cdecl sin(double) sin
@ cdecl -noimport sinh(double) sinh @ cdecl sinh(double) sinh
@ varargs sprintf(ptr str) sprintf @ varargs sprintf(ptr str) sprintf
@ cdecl -noimport sqrt(double) sqrt @ cdecl sqrt(double) sqrt
@ cdecl -noimport srand(long) srand @ cdecl srand(long) srand
@ varargs sscanf(str str) MSVCRT_sscanf @ varargs sscanf(str str) MSVCRT_sscanf
@ cdecl -noimport strcat(str str) strcat @ cdecl strcat(str str) strcat
@ cdecl -noimport strchr(str long) strchr @ cdecl strchr(str long) strchr
@ cdecl -noimport strcmp(str str) strcmp @ cdecl strcmp(str str) strcmp
@ cdecl -noimport strcoll(str str) strcoll @ cdecl strcoll(str str) strcoll
@ cdecl -noimport strcpy(ptr str) strcpy @ cdecl strcpy(ptr str) strcpy
@ cdecl -noimport strcspn(str str) strcspn @ cdecl strcspn(str str) strcspn
@ cdecl strerror(long) MSVCRT_strerror @ cdecl strerror(long) MSVCRT_strerror
@ cdecl -noimport strftime(str long str ptr) strftime @ cdecl strftime(str long str ptr) strftime
@ cdecl -noimport strlen(str) strlen @ cdecl strlen(str) strlen
@ cdecl -noimport strncat(str str long) strncat @ cdecl strncat(str str long) strncat
@ cdecl -noimport strncmp(str str long) strncmp @ cdecl strncmp(str str long) strncmp
@ cdecl -noimport strncpy(ptr str long) strncpy @ cdecl strncpy(ptr str long) strncpy
@ cdecl -noimport strpbrk(str str) strpbrk @ cdecl strpbrk(str str) strpbrk
@ cdecl -noimport strrchr(str long) strrchr @ cdecl strrchr(str long) strrchr
@ cdecl -noimport strspn(str str) strspn @ cdecl strspn(str str) strspn
@ cdecl -noimport strstr(str str) strstr @ cdecl strstr(str str) strstr
@ cdecl -noimport strtod(str ptr) strtod @ cdecl strtod(str ptr) strtod
@ cdecl -noimport strtok(str str) strtok @ cdecl strtok(str str) strtok
@ cdecl -noimport strtol(str ptr long) strtol @ cdecl strtol(str ptr long) strtol
@ cdecl -noimport strtoul(str ptr long) strtoul @ cdecl strtoul(str ptr long) strtoul
@ cdecl -noimport strxfrm(ptr str long) strxfrm @ cdecl strxfrm(ptr str long) strxfrm
@ forward swprintf ntdll.swprintf @ forward swprintf ntdll.swprintf
@ varargs swscanf(wstr wstr) MSVCRT_swscanf @ varargs swscanf(wstr wstr) MSVCRT_swscanf
@ cdecl system(str) MSVCRT_system @ cdecl system(str) MSVCRT_system
@ cdecl -noimport tan(double) tan @ cdecl tan(double) tan
@ cdecl -noimport tanh(double) tanh @ cdecl tanh(double) tanh
@ cdecl time(ptr) MSVCRT_time @ cdecl time(ptr) MSVCRT_time
@ cdecl tmpfile() MSVCRT_tmpfile @ cdecl tmpfile() MSVCRT_tmpfile
@ cdecl tmpnam(str) MSVCRT_tmpnam @ cdecl tmpnam(str) MSVCRT_tmpnam
@ cdecl -noimport tolower(long) tolower @ cdecl tolower(long) tolower
@ cdecl -noimport toupper(long) toupper @ cdecl toupper(long) toupper
@ forward towlower ntdll.towlower @ forward towlower ntdll.towlower
@ forward towupper ntdll.towupper @ forward towupper ntdll.towupper
@ cdecl ungetc(long ptr) MSVCRT_ungetc @ cdecl ungetc(long ptr) MSVCRT_ungetc

File diff suppressed because it is too large Load Diff

View File

@ -914,14 +914,14 @@
@ cdecl _wcsupr(wstr) NTDLL__wcsupr @ cdecl _wcsupr(wstr) NTDLL__wcsupr
@ cdecl _wtoi(wstr) NTDLL__wtoi @ cdecl _wtoi(wstr) NTDLL__wtoi
@ cdecl _wtol(wstr) NTDLL__wtol @ cdecl _wtol(wstr) NTDLL__wtol
@ cdecl -noimport abs(long) abs @ cdecl abs(long) abs
@ cdecl -noimport atan(double) atan @ cdecl atan(double) atan
@ cdecl -noimport atoi(str) atoi @ cdecl atoi(str) atoi
@ cdecl -noimport atol(str) atol @ cdecl atol(str) atol
@ cdecl -noimport ceil(double) ceil @ cdecl ceil(double) ceil
@ cdecl -noimport cos(double) cos @ cdecl cos(double) cos
@ cdecl -noimport fabs(double) fabs @ cdecl fabs(double) fabs
@ cdecl -noimport floor(double) floor @ cdecl floor(double) floor
@ cdecl isalpha(long) isalpha @ cdecl isalpha(long) isalpha
@ cdecl isdigit(long) isdigit @ cdecl isdigit(long) isdigit
@ cdecl islower(long) islower @ cdecl islower(long) islower
@ -931,42 +931,42 @@
@ cdecl iswalpha(long) NTDLL_iswalpha @ cdecl iswalpha(long) NTDLL_iswalpha
@ cdecl iswctype(long long) NTDLL_iswctype @ cdecl iswctype(long long) NTDLL_iswctype
@ cdecl isxdigit(long) isxdigit @ cdecl isxdigit(long) isxdigit
@ cdecl -noimport labs(long) labs @ cdecl labs(long) labs
@ cdecl -noimport log(double) log @ cdecl log(double) log
@ cdecl mbstowcs(ptr str long) NTDLL_mbstowcs @ cdecl mbstowcs(ptr str long) NTDLL_mbstowcs
@ cdecl -noimport memchr(ptr long long) memchr @ cdecl memchr(ptr long long) memchr
@ cdecl -noimport memcmp(ptr ptr long) memcmp @ cdecl memcmp(ptr ptr long) memcmp
@ cdecl -noimport memcpy(ptr ptr long) memcpy @ cdecl memcpy(ptr ptr long) memcpy
@ cdecl -noimport memmove(ptr ptr long) memmove @ cdecl memmove(ptr ptr long) memmove
@ cdecl -noimport memset(ptr long long) memset @ cdecl memset(ptr long long) memset
@ cdecl -noimport pow(double double) pow @ cdecl pow(double double) pow
@ cdecl -noimport qsort(ptr long long ptr) qsort @ cdecl qsort(ptr long long ptr) qsort
@ cdecl -noimport sin(double) sin @ cdecl sin(double) sin
@ varargs -noimport sprintf(str str) sprintf @ varargs sprintf(str str) sprintf
@ cdecl -noimport sqrt(double) sqrt @ cdecl sqrt(double) sqrt
@ varargs -noimport sscanf(str str) sscanf @ varargs sscanf(str str) sscanf
@ cdecl -noimport strcat(str str) strcat @ cdecl strcat(str str) strcat
@ cdecl -noimport strchr(str long) strchr @ cdecl strchr(str long) strchr
@ cdecl -noimport strcmp(str str) strcmp @ cdecl strcmp(str str) strcmp
@ cdecl -noimport strcpy(ptr str) strcpy @ cdecl strcpy(ptr str) strcpy
@ cdecl -noimport strcspn(str str) strcspn @ cdecl strcspn(str str) strcspn
@ cdecl -noimport strlen(str) strlen @ cdecl strlen(str) strlen
@ cdecl -noimport strncat(str str long) strncat @ cdecl strncat(str str long) strncat
@ cdecl -noimport strncmp(str str long) strncmp @ cdecl strncmp(str str long) strncmp
@ cdecl -noimport strncpy(ptr str long) strncpy @ cdecl strncpy(ptr str long) strncpy
@ cdecl -noimport strpbrk(str str) strpbrk @ cdecl strpbrk(str str) strpbrk
@ cdecl -noimport strrchr(str long) strrchr @ cdecl strrchr(str long) strrchr
@ cdecl -noimport strspn(str str) strspn @ cdecl strspn(str str) strspn
@ cdecl -noimport strstr(str str) strstr @ cdecl strstr(str str) strstr
@ cdecl -noimport strtol(str ptr long) strtol @ cdecl strtol(str ptr long) strtol
@ cdecl -noimport strtoul(str ptr long) strtoul @ cdecl strtoul(str ptr long) strtoul
@ varargs swprintf(wstr wstr) NTDLL_swprintf @ varargs swprintf(wstr wstr) NTDLL_swprintf
@ cdecl -noimport tan(double) tan @ cdecl tan(double) tan
@ cdecl tolower(long) tolower @ cdecl tolower(long) tolower
@ cdecl toupper(long) toupper @ cdecl toupper(long) toupper
@ cdecl towlower(long) NTDLL_towlower @ cdecl towlower(long) NTDLL_towlower
@ cdecl towupper(long) NTDLL_towupper @ cdecl towupper(long) NTDLL_towupper
@ cdecl -noimport vsprintf(ptr str ptr) vsprintf @ cdecl vsprintf(ptr str ptr) vsprintf
@ cdecl wcscat(wstr wstr) NTDLL_wcscat @ cdecl wcscat(wstr wstr) NTDLL_wcscat
@ cdecl wcschr(wstr long) NTDLL_wcschr @ cdecl wcschr(wstr long) NTDLL_wcschr
@ cdecl wcscmp(wstr wstr) NTDLL_wcscmp @ cdecl wcscmp(wstr wstr) NTDLL_wcscmp

View File

@ -58,7 +58,7 @@
54 stdcall getprotobynumber(long) WS_getprotobynumber 54 stdcall getprotobynumber(long) WS_getprotobynumber
55 stdcall getservbyname(str str) WS_getservbyname 55 stdcall getservbyname(str str) WS_getservbyname
56 stdcall getservbyport(long str) WS_getservbyport 56 stdcall getservbyport(long str) WS_getservbyport
57 stdcall -noimport gethostname(ptr long) WS_gethostname 57 stdcall gethostname(ptr long) WS_gethostname
58 stub WSAJoinLeaf 58 stub WSAJoinLeaf
59 stub WSALookupServiceBeginA 59 stub WSALookupServiceBeginA
60 stub WSALookupServiceBeginW 60 stub WSALookupServiceBeginW

View File

@ -27,7 +27,7 @@
54 forward getprotobynumber ws2_32.getprotobynumber 54 forward getprotobynumber ws2_32.getprotobynumber
55 forward getservbyname ws2_32.getservbyname 55 forward getservbyname ws2_32.getservbyname
56 forward getservbyport ws2_32.getservbyport 56 forward getservbyport ws2_32.getservbyport
57 forward -noimport gethostname ws2_32.gethostname 57 forward gethostname ws2_32.gethostname
101 forward WSAAsyncSelect ws2_32.WSAAsyncSelect 101 forward WSAAsyncSelect ws2_32.WSAAsyncSelect
102 forward WSAAsyncGetHostByAddr ws2_32.WSAAsyncGetHostByAddr 102 forward WSAAsyncGetHostByAddr ws2_32.WSAAsyncGetHostByAddr
103 forward WSAAsyncGetHostByName ws2_32.WSAAsyncGetHostByName 103 forward WSAAsyncGetHostByName ws2_32.WSAAsyncGetHostByName

View File

@ -103,13 +103,12 @@ typedef struct
} ORDDEF; } ORDDEF;
/* entry point flags */ /* entry point flags */
#define FLAG_NOIMPORT 0x01 /* don't make function available for importing */ #define FLAG_NORELAY 0x01 /* don't use relay debugging for this function */
#define FLAG_NORELAY 0x02 /* don't use relay debugging for this function */ #define FLAG_NONAME 0x02 /* don't import function by name */
#define FLAG_NONAME 0x04 /* don't import function by name */ #define FLAG_RET64 0x04 /* function returns a 64-bit value */
#define FLAG_RET64 0x08 /* function returns a 64-bit value */ #define FLAG_I386 0x08 /* function is i386 only */
#define FLAG_I386 0x10 /* function is i386 only */ #define FLAG_REGISTER 0x10 /* use register calling convention */
#define FLAG_REGISTER 0x20 /* use register calling convention */ #define FLAG_INTERRUPT 0x20 /* function is an interrupt handler */
#define FLAG_INTERRUPT 0x40 /* function is an interrupt handler */
/* Offset of a structure field relative to the start of the struct */ /* Offset of a structure field relative to the start of the struct */
#define STRUCTOFFSET(type,field) ((int)&((type *)0)->field) #define STRUCTOFFSET(type,field) ((int)&((type *)0)->field)

View File

@ -65,6 +65,62 @@ static int nb_delayed = 0; /* number of delayed dlls */
static int total_imports = 0; /* total number of imported functions */ static int total_imports = 0; /* total number of imported functions */
static int total_delayed = 0; /* total number of imported functions in delayed DLLs */ static int total_delayed = 0; /* total number of imported functions in delayed DLLs */
/* list of symbols that are ignored by default */
static const char * const default_ignored_symbols[] =
{
"abs",
"acos",
"asin",
"atan",
"atan2",
"atof",
"atoi",
"atol",
"bsearch",
"ceil",
"cos",
"cosh",
"div",
"exp",
"fabs",
"floor",
"fmod",
"frexp",
"labs",
"ldiv",
"log",
"log10",
"memchr",
"memcmp",
"memcpy",
"memmove",
"memset",
"modf",
"pow",
"qsort",
"sin",
"sinh",
"sprintf",
"sqrt",
"sscanf",
"strcat",
"strchr",
"strcmp",
"strcpy",
"strcspn",
"strlen",
"strncat",
"strncmp",
"strncpy",
"strpbrk",
"strrchr",
"strspn",
"strstr",
"tan",
"tanh",
"vsprintf"
};
/* compare function names; helper for resolve_imports */ /* compare function names; helper for resolve_imports */
static int name_cmp( const void *name, const void *entry ) static int name_cmp( const void *name, const void *entry )
{ {
@ -239,15 +295,55 @@ void add_import_dll( const char *name, int delay )
dll_imports[nb_imports++] = imp; dll_imports[nb_imports++] = imp;
} }
/* Add a symbol to the ignored symbol list */ /* initialize the list of ignored symbols */
static void init_ignored_symbols(void)
{
int i;
nb_ignore_symbols = sizeof(default_ignored_symbols)/sizeof(default_ignored_symbols[0]);
ignore_size = nb_ignore_symbols + 32;
ignore_symbols = xmalloc( ignore_size * sizeof(*ignore_symbols) );
for (i = 0; i < nb_ignore_symbols; i++)
ignore_symbols[i] = xstrdup( default_ignored_symbols[i] );
}
/* 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 ) void add_ignore_symbol( const char *name )
{ {
if (nb_ignore_symbols == ignore_size) int i;
if (!ignore_symbols) init_ignored_symbols(); /* first time around, fill list with defaults */
if (name[0] == '-') /* remove it */
{ {
ignore_size += 32; if (!name[1]) /* remove everything */
ignore_symbols = xrealloc( ignore_symbols, ignore_size * sizeof(*ignore_symbols) ); {
for (i = 0; i < nb_ignore_symbols; i++) free( ignore_symbols[i] );
nb_ignore_symbols = 0;
}
else
{
for (i = 0; i < nb_ignore_symbols; i++)
{
if (!strcmp( ignore_symbols[i], name+1 ))
{
free( ignore_symbols[i] );
memmove( &ignore_symbols[i], &ignore_symbols[i+1], nb_ignore_symbols - i - 1 );
nb_ignore_symbols--;
}
}
}
}
else
{
if (nb_ignore_symbols == ignore_size)
{
ignore_size += 32;
ignore_symbols = xrealloc( ignore_symbols, ignore_size * sizeof(*ignore_symbols) );
}
ignore_symbols[nb_ignore_symbols++] = xstrdup( name );
} }
ignore_symbols[nb_ignore_symbols++] = xstrdup( name );
} }
/* add a function to the list of imports from a given dll */ /* add a function to the list of imports from a given dll */
@ -454,6 +550,7 @@ static void remove_ignored_symbols(void)
{ {
int i; int i;
if (!ignore_symbols) init_ignored_symbols();
sort_symbols( ignore_symbols, nb_ignore_symbols ); sort_symbols( ignore_symbols, nb_ignore_symbols );
for (i = 0; i < nb_undef_symbols; i++) for (i = 0; i < nb_undef_symbols; i++)
{ {

View File

@ -57,7 +57,6 @@ static const char * const TypeNames[TYPE_NBTYPES] =
static const char * const FlagNames[] = static const char * const FlagNames[] =
{ {
"noimport", /* FLAG_NOIMPORT */
"norelay", /* FLAG_NORELAY */ "norelay", /* FLAG_NORELAY */
"noname", /* FLAG_NONAME */ "noname", /* FLAG_NONAME */
"ret64", /* FLAG_RET64 */ "ret64", /* FLAG_RET64 */
@ -288,8 +287,6 @@ static void ParseExtern( ORDDEF *odp )
{ {
if (SpecType == SPEC_WIN16) fatal_error( "'extern' not supported for Win16\n" ); if (SpecType == SPEC_WIN16) fatal_error( "'extern' not supported for Win16\n" );
odp->link_name = xstrdup( GetToken(0) ); odp->link_name = xstrdup( GetToken(0) );
/* 'extern' definitions are not available for implicit import */
odp->flags |= FLAG_NOIMPORT;
} }

View File

@ -301,7 +301,6 @@ static int output_exports( FILE *outfile, int nr_exports )
for (i = 0; i < nb_names; i++) for (i = 0; i < nb_names; i++)
{ {
if (Names[i]->flags & FLAG_NOIMPORT) continue;
/* check for invalid characters in the name */ /* check for invalid characters in the name */
for (p = Names[i]->name; *p; p++) for (p = Names[i]->name; *p; p++)
if (!isalnum(*p) && *p != '_' && *p != '.') break; if (!isalnum(*p) && *p != '_' && *p != '.') break;
@ -318,7 +317,6 @@ static int output_exports( FILE *outfile, int nr_exports )
{ {
ORDDEF *odp = EntryPoints[i]; ORDDEF *odp = EntryPoints[i];
if (odp->flags & FLAG_NOIMPORT) continue;
if (odp->name || !odp->export_name) continue; if (odp->name || !odp->export_name) continue;
/* check for invalid characters in the name */ /* check for invalid characters in the name */
for (p = odp->export_name; *p; p++) for (p = odp->export_name; *p; p++)
@ -867,9 +865,10 @@ void BuildDef32File(FILE *outfile)
for(i = 0; i < nb_entry_points; i++) for(i = 0; i < nb_entry_points; i++)
{ {
ORDDEF *odp = EntryPoints[i]; ORDDEF *odp = EntryPoints[i];
int is_data = 0;
if (!odp) continue; if (!odp) continue;
if (odp->flags & (FLAG_NOIMPORT|FLAG_REGISTER)) continue; if (odp->flags & FLAG_REGISTER) continue;
if (odp->type == TYPE_STUB) continue; if (odp->type == TYPE_STUB) continue;
if (odp->name) name = odp->name; if (odp->name) name = odp->name;
@ -881,9 +880,11 @@ void BuildDef32File(FILE *outfile)
switch(odp->type) switch(odp->type)
{ {
case TYPE_EXTERN: case TYPE_EXTERN:
case TYPE_VARIABLE:
is_data = 1;
/* fall through */
case TYPE_VARARGS: case TYPE_VARARGS:
case TYPE_CDECL: case TYPE_CDECL:
case TYPE_VARIABLE:
/* try to reduce output */ /* try to reduce output */
if(strcmp(name, odp->link_name)) if(strcmp(name, odp->link_name))
fprintf(outfile, "=%s", odp->link_name); fprintf(outfile, "=%s", odp->link_name);
@ -910,7 +911,8 @@ void BuildDef32File(FILE *outfile)
default: default:
assert(0); assert(0);
} }
fprintf(outfile, " @%d%s\n", odp->ordinal, odp->name ? "" : " NONAME" ); fprintf(outfile, " @%d%s%s\n", odp->ordinal,
odp->name ? "" : " NONAME", is_data ? " DATA" : "" );
} }
} }

View File

@ -101,11 +101,13 @@ Win16 modules); default is no local heap.
.BI \-I\ directory .BI \-I\ directory
Ignored for compatibility with the C compiler. Ignored for compatibility with the C compiler.
.TP .TP
.BI \-i\ symbol[,symbol] .BI \-i\ [-]symbol[,[-]symbol]
Specify a list of symbols that should be ignored when resolving Specify a list of symbols that should be ignored when resolving
undefined symbols against the imported libraries. This forces these undefined symbols against the imported libraries. This forces these
symbols to be resolved from the Unix C library (or from another Unix symbols to be resolved from the Unix C library (or from another Unix
library linked with the application). 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 .TP
.BI \-K\ flags .BI \-K\ flags
Ignored for compatibility with the C compiler. Ignored for compatibility with the C compiler.
@ -213,10 +215,6 @@ is a series of optional flags, preceded by a '-' character. The
supported flags are: supported flags are:
.RS .RS
.TP .TP
.B -noimport
The entry point is not made available for importing from Winelib
applications (Win32 only).
.TP
.B -norelay .B -norelay
The entry point is not displayed in relay debugging traces (Win32 The entry point is not displayed in relay debugging traces (Win32
only). only).