Opened 19 years ago
Last modified 18 years ago
#104 closed
emximp process def files with alias names in wrong way — at Initial Version
Reported by: | froloff | Owned by: | bird |
---|---|---|---|
Priority: | normal | Milestone: | libc-0.6.2 |
Component: | emx | Version: | 0.6 |
Severity: | normal | Keywords: | emximp |
Cc: |
Description
emximp create wrong function name, while converted def file, provided alias name in EXPORT section.
For example, lines in input .def file
EXPORTS
; basic functions
zlibVersion = _zlibVersion
deflate = _deflate
will cause the following text in output .imp file (same for .a and .lib)
; -------- zlib2.lib --------
zlibVersion ZLIB2 _zlibVersion ?
deflate ZLIB2 _deflate ?
While the destination must looks like
; -------- zlib2.lib --------
_zlibVersion ZLIB2 zlibVersion ?
_deflate ZLIB2 deflate ?
The reason of this bug in emx\src\libmoddef\moddef2.c Patch provided in attach. This also emxomfld and emxbind. Some changes also preferable in weak.c, function symAddExport(), while parsing def file. What's the reason to add external name symbol to search list, when internal name provided? This operation always cause uninformative emxomfld warning message, like
weakld: error: Unresolved symbol (UNDEF) 'deflate'.